то что ты написал это для одной переменной, для списка надо цикл делать
а лучше сделать, так чтобы не важно было что подавать в питон)))
import clr
x = IN[0]
if isinstance(x, list) == True:
list = [i.ToString() for i in x]
else:
list = x.ToString()
OUT = list
как в питоне получить PipingSystemType для выбранного элемента (Select Model Element) или списка элементов ?
как например, нодами список всех типов , но нужно для выбранного элемента(ов):
пробовал как то так:
def U(elem): # короткая функция, чтобы каждый раз не писать UnwrapElement(), вместо этого достаточно U()
a = UnwrapElement(elem)
return a
pipetypes=[]
if isinstance(IN[0], list): # если на входе лист
for i in IN[0]:
pipetypes.append(U(i.Plumbing.PipingSystemType))
else: # в противном случае (это означает, что на входе 1 элемент)
Думаю есть способ проще для случая указанного на картинке выше….
Для моего случая при похожих условиях (от площади первой по списку S1 нужно было еще отнять площади нижерасположенных элементов , а S1 записать в последнюю и предпоследнюю строки) получилось изобразить что то эдакое методом тыка так :
import System
import math
inn = IN[0]
list = []
list_1 = []
list_minus=[]
for i in inn:
sublist_1=i[0].GetParameterValueByName(“Q_Wall_Lenght”)
sublist_2=i[0].GetParameterValueByName(“Полная высота”)
sublist_3=i[0].GetParameterValueByName(“Площадь”)
list_1.append(sublist_3)
sublist = []
for k in i:
try:
sublist.append(k.GetParameterValueByName(“Площадь”))
except:
sublist.append(System.Double(sublist_3))
import clr
clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import *
inn = IN[0]
list = []
for i in inn:
sublist = []
for k in i:
try:
sublist.append(k.GetParameterValueByName("Номер"))
except:
sublist.append(Null)
list.append(sublist)
OUT = list
Может быть, так как у строковых элементов в принципе не существует параметров ,то и описанную выше задачу невозможно решить….
тогда если убрать строковые элементы в подлистах , пробую извлечь параметры нестроковых элементов с сохранением структуры подсписков, но не получается: