Результаты поиска для 'list'

Главная Форумы Поиск Результаты поиска для 'list'

Просмотр 15 результатов — с 46 по 60 (из 325)
  • Автор
    Результаты поиска
  • #9255
    Анатолий
    Участник
    37 pts

    Попробуйте вот так

    import clr
    clr.AddReference('RevitAPI')
    from Autodesk.Revit.DB import *
    clr.AddReference("System")
    from System.Collections.Generic import List
    clr.AddReference("RevitServices")
    import RevitServices
    from RevitServices.Persistence import DocumentManager
    from RevitServices.Transactions import TransactionManager
    doc = DocumentManager.Instance.CurrentDBDocument
    Ids=List[ElementId]()
    for i in IN[0]:
    	Ids.Add(UnwrapElement(i).Id)
    newName = "Новая группа" #или newName = IN[1], где на вход подать имя
    TransactionManager.Instance.EnsureInTransaction(doc)
    MyGroup = doc.Create.NewGroup(Ids)
    MyGroup.GroupType.Name = newName
    TransactionManager.Instance.TransactionTaskDone()
    OUT = Ids
    Valeriy
    Участник

    Здравствуйте! Начал изучать Python и Dynamo. Возник вопрос

    Вот код на питоне который создает группу. Мне нужно задать определенное имя(“MyName”) только что созданной группе. Подскажите пожалуйста как это можно сделать.

    import clr
    clr.AddReference('RevitAPI')
    from Autodesk.Revit.DB import *
    from Autodesk.Revit.DB import ElementTransformUtils, ElementId

    clr.AddReference("System")
    from System.Collections.Generic import List

    clr.AddReference("RevitNodes")
    import Revit
    clr.ImportExtensions(Revit.Elements)

    clr.AddReference("RevitServices")
    import RevitServices
    from RevitServices.Persistence import DocumentManager
    from RevitServices.Transactions import TransactionManager

    doc = DocumentManager.Instance.CurrentDBDocument

    Ids=List[ElementId]()
    for i in IN[0]:
    Ids.Add(UnwrapElement(i).Id)

    TransactionManager.Instance.EnsureInTransaction(doc)

    MyGroup = doc.Create.NewGroup(Ids)
    #MyGroup.Rename("MyName") # так не получиось

    TransactionManager.Instance.TransactionTaskDone()

    OUT=Ids

    Илья
    Участник

    Добрый день!

    Спасибо Legantmar за его скрипт(прилагаю) и Ивану Ситишеву(ссылка).

    Не могли бы помочь доработать так их скрипты так, чтобы можно было на вход подавать листы, соответственно отсортированные и сгруппированные по некоему параметру(см.криншот).

    Сейчас скрипт работает: выделяешь листы-запускаешь скрипт-создается набор из этих выбранных листов. Что я хочу: Есть “Стадия проектирования”=[х1,×2], есть “Орг.КомплектЧертежей”=[х1,×2,x3], есть “Ш_ФорматЛистаТекст”=[A1A,A2A,A3A,A2x3A и т.д.] и на основании этих данных хотелось бы создать автоматом разные наборы листов-это в идеале. Или хотя бы, чтобы создавались наборы листов по переменному выбору “Орг.КомплектЧертежей”. Надеюсь понятно).

    Почему не хочу первый скрипт- потому, что он печатает все листы сразу и после каждого листа спрашивает куда и с каким именем сохранить и после 12 примерно листов ревит вылетает. Второй скрипт не подходит, потому как нужно каждый раз( не часто, конечно) выделять листы(предварительно диспетчер проекта отсортировав по форматам листов).

    Спасибо заранее.

    p.s. в Python не силён пока что до сих пор.(

    Константин
    Участник

    Спасибо большое за помощь!
    По аналогии причесал свой код. Получилось вот так, вроде работает. Пользовался zip, применение transpose из DScore не понял пока.

    import clr
    clr.AddReference('ProtoGeometry')
    from Autodesk.DesignScript.Geometry import *
    from operator import itemgetter
    list1 = IN[0]
    z=[]
    for j in list1:
    	list2,list3=[],[]
    	if len(j)>1:
    		for i in j:
    			if i.endswith("*"):
    				i2=i.replace("*","")
    				list2.append(int(i2))		
    				list3.append("*")
    			else:
    				list2.append(int(i))
    				list3.append("")
    		x=zip(list2,list3,j)
    		y=sorted(x, key = itemgetter (0,1))
    		z.append(zip(*y)[2]) 
    	else:
    		z.append(j)
    OUT =z
    Анатолий
    Участник
    37 pts

    Ваш код тоже можно заставить работать немного изменив.

    import clr
    clr.AddReference("DSCoreNodes")
    import DSCore
    from operator import itemgetter
    list1 = IN[0]
    z = []
    for j in list1:
    	list2,list3=[],[]
            if len(j)>1:	
    		for i in j:
    			if i.endswith("*"):
    				i2=i.replace("*","")
    				list2.append(int(i2))
    				list3.append("*")
    			else:
    				list2.append(int(i))
    				list3.append("")
    		x=[list2,list3,j]
    		tr1 = DSCore.List.Transpose(x)		
    		y=sorted(tr1, key = itemgetter (0,1))
    		tr2 = DSCore.List.Transpose(y)
    		z.append(tr2[2])
    	else:
    		z.append(j)
    OUT = z
    Константин
    Участник

    Спасибо за ответ, узнал много нового!
    Но хотелось бы понять, можно ли как то заставить мой кусок кода работать с каждым вложенным подсписком в общем списке?
    То есть код отлично справляется с конкретным подсписком – например A[2] отдельно выдергиваю (на скрине видно). Как заставить этот кусок кода пройти по всем вложенным подспискам в списке? Мне кажется, для этого либо нужно ввести дополнительный цикл, либо переделать цикл под несколько “переменных”. Что-то вроде for i,j in list1… Дополнить шапку цикла. Или не получится?

    Анатолий
    Участник
    37 pts

    Добрый день! Для вашего конкретного случая

    import clr
    clr.AddReference("DSCoreNodes")
    import DSCore
    from operator import itemgetter
    a = [["3*"],["2*"],["16*","16","7","7*"],[" "]]
    d = []
    for b in a:
    	l = []
    	c = sorted(b)
    	lk1 = []
    	lk2 = []
    	if len(b)>1:
    		for bb in b:
    			k = bb.split("*")
    			k1 = int(k[0])
    			lk1.append(k1)
    			if len(k)>1:
    				k2 = "*"
    				lk2.append(k2)
    			else:
    				k2 = ""
    				lk2.append(k2)
    			kkk = [b,lk1,lk2]
    			tr1 = DSCore.List.Transpose(kkk)
    			b1 = sorted(tr1,key = itemgetter(1,2))
    			tr2 = DSCore.List.Transpose(b1)
    		d.append(tr2[0])
    	else:
    		d.append(c)
    OUT = d

    ИваСерж
    Хранитель
    134 pts

    Прям таки очень сильно хочется Linq воспользоваться?
    Ну если умеете, то вот, как пример
    https://pastebin.com/ej0rTmt9
    ————————————————————————–

    а теперь фокус: тоже самое, если не важен порядок, в две строчки через сэт:
    outlist = [‘a’,’list’,’of’,’strings’,’a’,’list’,’of’,’strings’ ]
    OUT = set(outlist)

    ilias.ism
    Участник

    С кодом я помочь не смогу, но я со скриптами Попова поступаю так: делю код на несколько нодов PythonScript и додумываю логику работы. А по вопросу: есть в Динамо нод List.UniqueItems который удаляет повторяющиеся значения и на выходе выдает только уникальные значения

    Askar
    Участник

    Использую код Александра Попова из скрипта Обновление экспликации полов. Скрипт выдает список помещений в которых используются одинаковые типы полов. Проблема в том, что он выдает список с одинаковыми именами помещений, а этого не надо. Python я не знаю, но как я понял модуль Collection не поддерживается.


    import clr
    clr.AddReference('ProtoGeometry')
    from Autodesk.DesignScript.Geometry import *
    clr.AddReference('RevitAPI')
    from Autodesk.Revit.DB import *
    clr.AddReference("RevitServices")
    import RevitServices
    from RevitServices.Persistence import DocumentManager
    from RevitServices.Transactions import TransactionManager
    doc = DocumentManager.Instance.CurrentDBDocument
    rooms = FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_Rooms).WhereElementIsNotElementType().ToElements()`
    #-----------ВХОДНЫЕ ДАННЫЕ------------------
    par1=IN[1]
    setpar=IN[2]
    tire = IN[3]
    zap = IN[4]
    #----------ФУНКЦИИ------------------
    def get3p(room):
    try:
    val1 = room.LookupParameter(par1).AsValueString()
    except:
    val1=""
    if val1 is None:
    val1=""
    valob=val1
    return valob
    #----------СОРТИРОВКА ПОМЕЩЕНИЙ ПО НОМЕРУ--------------
    r1=[]
    list1=[]
    for room in rooms:
    if room.Area>0:
    r1.append(room)
    num1=room.get_Parameter(BuiltInParameter.ROOM_NAME).AsString()
    nam1=room.get_Parameter(BuiltInParameter.ROOM_NUMBER).AsString()
    num2=""
    nam2=""
    num3=""
    nam3=""
    num4=""
    nam4=""
    num5=""
    nam5=""
    num6=""
    nam6=""
    if "." in num1:
    c1=num1.find(".")
    num2=num1[c1+1:]
    num1=num1[:c1]
    if "." in num2:
    c2=num2.find(".")
    num3=num2[c2+1:]
    num2=num2[:c2]
    if "." in num3:
    c3=num3.find(".")
    num4=num3[c3+1:]
    num3=num3[:c3]
    if "." in num4:
    c4=num4.find(".")
    num5=num4[c4+1:]
    num4=num4[:c4]
    if "." in num5:
    c5=num5.find(".")
    num6=num5[c5+1:]
    num5=num5[:c5]
    if num1!="":
    num1=num1
    if num2!="":
    num2=num2
    if num3!="":
    num3=num3
    if num4!="":
    num4=num4
    if num5!="":
    num5=num5
    if num6!="":
    num6=num6
    list1.append([room,num1,num2,num3,num4,num5,num6])
    #list1.append(UnwrapElement(room).get_Parameter(BuiltInParameter.ROOM_NUMBER).AsString())
    from operator import itemgetter
    b = sorted(list1,key = itemgetter(1,2,3,4,5,6))
    list2=[]
    for b1 in b:
    nm1 = b1[1]
    if b1[2]!="":
    nm1=nm1+"."+(b1[2])
    if b1[3]!="":
    nm1=nm1+"."+(b1[3])
    if b1[4]!="":
    nm1=nm1+"."+(b1[4])
    if b1[5]!="":
    nm1=nm1+"."+(b1[5])
    if b1[6]!="":
    nm1=nm1+"."+(b1[6])
    list2.append([b1[0],nm1])
    #---------------БЕРЕМ ПАРАМЕТРЫ-----------------------
    uniq=[]
    for room1 in list2:
    room = room1[0]
    valob = get3p(room)
    if valob not in uniq:
    uniq.append(valob)
    numlist=[]
    roomlist=[]
    roomtxt=[]
    for val in uniq:
    list=[]
    text=[]
    txt=""
    for room1 in list2:
    room=room1[0]
    num = room1[1]
    valob = get3p(room)
    if valob==val:
    list.append(room)
    text.append(num)
    txt=txt+num+zap
    roomtxt.append(txt[:len(txt)-1])
    numlist.append(text)
    roomlist.append(list)
    """
    i=0
    list3=[]
    list4=[]
    for num in numlist:
    i=0
    list5=[]
    for n in num:
    num1=n
    num2=""
    num3=""
    num4=""
    num5=""
    num6=""
    if "." in num1:
    c1=num1.find(".")
    num2=num1[c1+1:]
    num1=num1[:c1]
    if "." in num2:
    c2=num2.find(".")
    num3=num2[c2+1:]
    num2=num2[:c2]
    if "." in num3:
    c3=num3.find(".")
    num4=num3[c3+1:]
    num3=num3[:c3]
    if "." in num4:
    c4=num4.find(".")
    num5=num4[c4+1:]
    num4=num4[:c4]
    if "." in num5:
    c5=num5.find(".")
    num6=num5[c5+1:]
    num5=num5[:c5]
    if num1!="":
    num1=int(float(num1))
    if num2!="":
    num2=int(float(num2))
    if num3!="":
    num3=int(float(num3))
    if num4!="":
    num4=int(float(num4))
    if num5!="":
    num5=int(float(num5))
    if num6!="":
    num6=int(float(num6))
    list5.append([num1,num2,num3,num4,num5,num6,n])
    #---------Вносим в группы номера, идущие подряд-----------
    j=0
    gr=[]
    gr1=[]
    while j2:
    txt=k[0]+tire+k[k.Count-1]+zap
    list4.append(txt[:len(txt)-1])
    i=i+1"""
    TransactionManager.Instance.EnsureInTransaction(doc)
    i=0
    for rooms in roomlist:
    for room in rooms:
    room.LookupParameter(setpar).Set(roomtxt[i])
    i=i+1
    TransactionManager.Instance.TransactionTaskDone()
    OUT = roomlist

    ilias.ism
    Участник

    <div id=”messageBodyDisplay” class=”lia-message-body lia-component-message-view-widget-body lia-component-body-signature-highlight-escalation lia-component-message-view-widget-body-signature-highlight-escalation”>
    <div class=”lia-message-body-content”>

    Необходимо добавить множество параметров в проект, взял за основу скрипт Александра Попова. Однако у него есть минус-он не фильтрует существующие параметры, а добавляет их поверх (наложение параметров). Моя идея была сравнить наличие/отсутствие параметра через LookupParameter, но недостаток понимания загубил все. Нужна помощь/идеи, заранее спасибо. Текст скрипта:

     

    def ParamBindingExists(_doc, _paramName, _paramType):
    map = doc.ParameterBindings
    iterator = map.ForwardIterator()
    iterator.Reset()
    while iterator.MoveNext():
    if iterator.Key != None and iterator.Key.Name == _paramName and iterator.Key.ParameterType == _paramType:
    paramExists = True
    break
    else:
    paramExists = False
    return paramExists
    def RemoveParamBinding(_doc, _paramName, _paramType):
    map = doc.ParameterBindings
    iterator = map.ForwardIterator()
    iterator.Reset()
    while iterator.MoveNext():
    if iterator.Key != None and iterator.Key.Name == _paramName and iterator.Key.ParameterType == _paramType:
    definition = iterator.Key
    break
    message = None
    if definition != None:
    map.Remove(definition)
    message = “Success”
    return message
    def addParam(doc, _paramName, _visible, _instance, _groupName, _paramGroup,k):
    message = None
    if ParamBindingExists(doc, _paramName, _paramType):
    if not RemoveParamBinding(doc, _paramName, _paramType) == “Success”:
    message = “Param Binding Not Removed Successfully”
    else:
    message = None
    group = file.Groups.get_Item(_groupName)
    if group == None:
    group = file.Groups.Create(_groupName)
    if group.Definitions.Contains(group.Definitions.Item[_paramName]):
    _def = group.Definitions.Item[_paramName]
    else:
    _def = group.Definitions.Create(opt)
    param = doc.ParameterBindings.Insert(_def, bind, _paramGroup)
    return message
    _paramName = []
    _groupName = []
    _paramType = []
    _paramType2 = []
    _category = []
    _category2 = []
    _paramGroup = []
    _paramGroup2 = []
    _instance = []
    parameters = IN[0].split(“\n”)
    for parameter in parameters:
    try:
    if parameter is not None and parameter != “”:
    paramName = parameter[:parameter.find(“(“)]
    _paramName.append(paramName)
    attrib = parameter[parameter.find(“(“)+1:parameter.find(“)”)+1]
    groupName = attrib[:attrib.find(“,”)]
    attrib = attrib[attrib.find(“,”)+1:]
    _groupName.append(groupName)
    paramType = attrib[:attrib.find(“,”)]
    attrib = attrib[attrib.find(“,”)+1:]
    _paramType2.append(paramType)
    #doc.Settings.Categories.Item(
    category = attrib[:attrib.find(“,”)]
    attrib = attrib[attrib.find(“,”)+1:]
    _category2.append(category)
    paramGroup = attrib[:attrib.find(“,”)]
    attrib = attrib[attrib.find(“,”)+1:]
    _paramGroup2.append(paramGroup)
    instance = attrib[:attrib.find(“,”)]
    attrib = attrib[attrib.find(“,”)+1:]
    _instance.append(int(float(instance)))
    except:
    a=0
    types=System.Enum.GetValues(ParameterType)
    for i in _paramType2:
    l=0
    for type in types:
    j = type.ToString()
    if i==j:
    _paramType.append(type)
    l=l+1
    if l==0:
    for type in types:
    j=type.ToString()
    if j==”Text”:
    _paramType.append(type)
    categs = doc.Settings.Categories
    for i in _category2:
    if “/” in i:
    _category3 = []
    i1 = i.split(“/”)
    for i2 in i1:
    for cat in categs:
    j = cat.Name.ToString()
    if i2 in j:
    _category3.append(cat)
    _category.append(_category3)
    else:
    for cat in categs:
    j = cat.Name.ToString()
    if i==j:
    _category.append(cat)
    groups=System.Enum.GetValues(BuiltInParameterGroup)
    name=[]
    for i in _paramGroup2:
    for group in groups:
    j = group.ToString()
    if j==i:
    _paramGroup.append(group)

    #”Start” the transaction
    TransactionManager.Instance.EnsureInTransaction(doc)

    try:
    file = app.OpenSharedParameterFile()
    except:
    message = “No Shared Parameter file found.”
    pass
    k=0
    while k<_paramName.Count:
    cats = app.Create.NewCategorySet()
    if isinstance(_category[k],list):
    for i in _category[k]:
    cats.Insert(i)
    else:
    cats.Insert(_category[k])
    if _instance[k]:
    bind = app.Create.NewInstanceBinding(cats)
    else:
    bind = app.Create.NewTypeBinding(cats)
    opt = ExternalDefinitionCreationOptions(_paramName[k], _paramType[k])
    opt.Visible = True
    message = addParam(doc, _paramName[k], True, _instance[k], _groupName[k], _paramGroup[k],k)
    k=k+1
    TransactionManager.Instance.TransactionTaskDone()
    if message == None:
    OUT = parameters
    else:
    OUT = message
    <div></div>
    </div>
    </div>
    <div class=”custom-add-tag”>
    <div class=”lia-panel lia-panel-standard MessageTagsTaplet Chrome lia-component-message-view-widget-tags”>
    <div class=”lia-decoration-border”>
    <div class=”lia-decoration-border-top”>
    <div></div>
    </div>
    <div class=”lia-decoration-border-content”>
    <div>
    <div class=”lia-panel-content-wrapper”>
    <div class=”lia-panel-content”>
    <div id=”taglist” class=”TagList”></div>
    </div>
    </div>
    </div>
    </div>
    </div>
    </div>
    </div>

    Askar
    Участник

    Добрый день! Помогите отредактировать код скрипта Александра Попова “Экспликация полов в Revit по ГОСТ автоматически”.
    Питона я не знаю.
    Нужно вместо номеров помещений, нужно имена помещений записать.

    Как я понял, нужно вместо BuiltInParameter.ROOM_NUMBER изменить на BuiltInParameter.ROOM_NAME.
    Также после ошибки изменил num1=int(float(num1)) на num1=num1
    Но тут вышла ошибка:

    <span style=”font-size: 80%;”>Предупреждение:IronPythonEvaluator.EvaluateIronPythonScript операция не выполнена.</span>
    <span style=”font-size: 80%;”>Traceback (most recent call last):</span>
    <span style=”font-size: 80%;”>File “”, line 77, in</span>
    <span style=”font-size: 80%;”>UnicodeEncodeError: (‘unknown’, ‘\x00’, 0, 1, ”)</span>

    `import clr
    clr.AddReference(‘ProtoGeometry’)
    from Autodesk.DesignScript.Geometry import *
    clr.AddReference(‘RevitAPI’)
    from Autodesk.Revit.DB import *
    clr.AddReference(“RevitServices”)
    import RevitServices
    from RevitServices.Persistence import DocumentManager
    from RevitServices.Transactions import TransactionManager
    doc = DocumentManager.Instance.CurrentDBDocument
    rooms = FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_Rooms).WhereElementIsNotElementType().ToElements()
    #———–ВХОДНЫЕ ДАННЫЕ——————
    par1=IN[1]
    setpar=IN[2]
    tire = IN[3]
    zap = IN[4]
    #———-ФУНКЦИИ——————
    def get3p(room):
    try:
    val1 = room.LookupParameter(par1).AsValueString()
    except:
    val1=””
    if val1 is None:
    val1=””
    valob=val1
    return valob
    #———-СОРТИРОВКА ПОМЕЩЕНИЙ ПО НОМЕРУ————–
    r1=[]
    list1=[]
    for room in rooms:
    if room.Area>0:
    r1.append(room)
    num1=room.get_Parameter(BuiltInParameter.ROOM_NUMBER).AsString()
    num2=””
    num3=””
    num4=””
    num5=””
    num6=””
    if “.” in num1:
    c1=num1.find(“.”)
    num2=num1[c1+1:]
    num1=num1[:c1]
    if “.” in num2:
    c2=num2.find(“.”)
    num3=num2[c2+1:]
    num2=num2[:c2]
    if “.” in num3:
    c3=num3.find(“.”)
    num4=num3[c3+1:]
    num3=num3[:c3]
    if “.” in num4:
    c4=num4.find(“.”)
    num5=num4[c4+1:]
    num4=num4[:c4]
    if “.” in num5:
    c5=num5.find(“.”)
    num6=num5[c5+1:]
    num5=num5[:c5]
    if num1!=””:
    num1=int(float(num1))
    if num2!=””:
    num2=int(float(num2))
    if num3!=””:
    num3=int(float(num3))
    if num4!=””:
    num4=int(float(num4))
    if num5!=””:
    num5=int(float(num5))
    if num6!=””:
    num6=int(float(num6))
    list1.append([room,num1,num2,num3,num4,num5,num6])
    #list1.append(UnwrapElement(room).get_Parameter(BuiltInParameter.ROOM_NUMBER).AsString())
    from operator import itemgetter
    b = sorted(list1,key = itemgetter(1,2,3,4,5,6))
    list2=[]
    for b1 in b:
    nm1 = str(b1[1])
    if b1[2]!=””:
    nm1=nm1+”.”+str(b1[2])
    if b1[3]!=””:
    nm1=nm1+”.”+str(b1[3])
    if b1[4]!=””:
    nm1=nm1+”.”+str(b1[4])
    if b1[5]!=””:
    nm1=nm1+”.”+str(b1[5])
    if b1[6]!=””:
    nm1=nm1+”.”+str(b1[6])
    list2.append([b1[0],nm1])
    #—————БЕРЕМ ПАРАМЕТРЫ———————–
    uniq=[]
    for room1 in list2:
    room = room1[0]
    valob = get3p(room)
    if valob not in uniq:
    uniq.append(valob)
    numlist=[]
    roomlist=[]
    roomtxt=[]
    for val in uniq:
    list=[]
    text=[]
    txt=””
    for room1 in list2:
    room=room1[0]
    num = room1[1]
    valob = get3p(room)
    if valob==val:
    list.append(room)
    text.append(num)
    txt=txt+num+zap
    roomtxt.append(txt[:len(txt)-1])
    numlist.append(text)
    roomlist.append(list)
    “””
    i=0
    list3=[]
    list4=[]
    for num in numlist:
    i=0
    list5=[]
    for n in num:
    num1=n
    num2=””
    num3=””
    num4=””
    num5=””
    num6=””
    if “.” in num1:
    c1=num1.find(“.”)
    num2=num1[c1+1:]
    num1=num1[:c1]
    if “.” in num2:
    c2=num2.find(“.”)
    num3=num2[c2+1:]
    num2=num2[:c2]
    if “.” in num3:
    c3=num3.find(“.”)
    num4=num3[c3+1:]
    num3=num3[:c3]
    if “.” in num4:
    c4=num4.find(“.”)
    num5=num4[c4+1:]
    num4=num4[:c4]
    if “.” in num5:
    c5=num5.find(“.”)
    num6=num5[c5+1:]
    num5=num5[:c5]
    if num1!=””:
    num1=int(float(num1))
    if num2!=””:
    num2=int(float(num2))
    if num3!=””:
    num3=int(float(num3))
    if num4!=””:
    num4=int(float(num4))
    if num5!=””:
    num5=int(float(num5))
    if num6!=””:
    num6=int(float(num6))
    list5.append([num1,num2,num3,num4,num5,num6,n])
    #———Вносим в группы номера, идущие подряд———–
    j=0
    gr=[]
    gr1=[]
    while j2:
    txt=k[0]+tire+k[k.Count-1]+zap
    list4.append(txt[:len(txt)-1])
    i=i+1″””
    TransactionManager.Instance.EnsureInTransaction(doc)
    i=0
    for rooms in roomlist:
    for room in rooms:
    room.LookupParameter(setpar).Set(roomtxt[i])
    i=i+1
    TransactionManager.Instance.TransactionTaskDone()
    OUT = roomlist`

    Спасибо!

    Илья
    Участник

    Sche, то есть строка нулевой длины это и не null и не Empty list?

    ИваСерж
    Хранитель
    134 pts

    Есть вариант создать список из стринговых названий встроенных категорий.
    Потом организовать цикл (или генератор) по этому списку.
    В цикле в OfCategorу подставляем название.
    for category in categories: xxxxxx.OfCategory(category)

    врезультате из фильтр-коллектора я почему-то получаю итератор, а не список.
    В выходной список я запихиваю элементы из итератора следующей строкой.
    map(lambda x: outlist.append(x), elems)

    https://pastebin.com/Wq4mMDaN

    Sche
    Участник
    34 pts

    List.Clean удаляет null. В этом варианте не cработает/

Просмотр 15 результатов — с 46 по 60 (из 325)