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

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

Просмотр 15 результатов — с 256 по 270 (из 325)
  • Автор
    Результаты поиска
  • #4234
    ИваСерж
    Хранитель
    134 pts

    Пример с динамо скриптом

    http://dynamobim.ru/cmdownloads/%D1%80%D0%B0%D1%81%D1%87%D1%91%D1%82-%D1%8D%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%B8%D1%87%D0%B5%D0%BA%D0%B8%D1%85-%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%BE%D0%B2-%D1%81%D0%BE%D0%B7%D0%B4/

    Видео как работает. Правда, до конца так и не записал из-за отсутсвтия интереса.
    https://www.youtube.com/watch?v=-OgdSa-tMO0&list=PLXoMzi7DFVEZ9LfSdxDtba6bFMjA2d7vq

    На данный момент переработана  рассчётная часть скрипта. Добавлены контакторы и т.п.
    Не доделанными остаются 2Д  – пока размещаю схемы в модели, а не в чертежном виде. Но, как дойдут руки, доделаю.

    #4162

    В ответ на: Elseif

    Legantmar
    Хранитель
    475 pts

    зачем стоит нод List.Create ?

    kulkul
    Участник
    47 pts

    Hi Iva,

    Add “List.FirstItem” after GetPipeType.

    #4103
    Alexandr Popov
    Модератор
    44 pts

    Если я правильно понял, то одного раза размножить раковины по помещениям будет достаточно.

    http://joxi.ru/Y2LYPXjCnjJwVA

    а так да всё верно надо Geometry DoesIntersect сравнивать. Вам ведь решения с питоном не интересны? а ListMap ещё один забыл убрать. И вообще я бы попробовал в ноде DoesIntersect перекрестную работу включить на каждый с каждым и подать просто 2 списка Geometry.

    Ну да вот сравнивает

    http://joxi.ru/D2PYPDjCdVzpJA

    Евгений Колчин
    Участник
    11 pts

    Надо не SortByKey, а GroupByKey использовать. В list вводишь список элементов, а в key – список длин. На выходе получаешь списки из балок одной длины. Если скинешь к dyn ещё пример rvt то можно дописать.

    Vladimir
    Участник
    13 pts

    а SetDatumExtentType() в revit 2015 отсутствует? AttributeError: ‘List[object]’ object has no attribute ‘SetDatumExtentType’

    Khasan Mamaev
    Модератор
    187 pts

    inList = [[1,2],[3,4],[1,13],[4,52],[7,13],[77,52],[6,2],[0,3]]
    dd =[]
    i = len(inList)
    x = 0
    while i > 0:
    pop1 = inList.pop(0)
    dd.append(pop1)
    for j in pop1:
    for n,k in enumerate(inList):
    if k.count(j) != int(0):
    dd[x].extend(inList.pop(n))
    i = len(inList)
    x = x + 1

    uniq =[]
    for i in dd:
    if len(set(i)) > 1:
    uniq.append(sorted(set(i)))

    #3996
    Legantmar
    Хранитель
    475 pts

    когда без разницы сколько элементов на входе 1 или несколько

    isinstance(IN[0], list) – определяет является ли объект на входе IN[0] списком

    ну и сверху, для удобства, дописал функцию def U() – чтобы не писать каждый раз UwrapElement()

    p.s.
    if not isinstance(IN[0], list): OUT = [IN[0]]
    else: OUT = IN[0]

    #3887
    Nikolai
    Участник

    есть элементы, у этих элементов есть,  вес, каждый элемент принадлежит к определенной группе, как посчитать быстро сумму веса по группам, то, что есть сейчас считает секунд 30…

    import clr
    clr.AddReference(‘ProtoGeometry’)
    from Autodesk.DesignScript.Geometry import *

    g = IN[0]
    j= IN[1]

    list=list()
    s = 0

    for q in g:

    for r in j:
    if r.GetParameterValueByName(“Группа”)==q:
    s=s+r.GetParameterValueByName(“Вес”)

    list.append(s)
    s=0

    OUT = list

    #3822
    Сергей Кривой
    Модератор
    14 pts

    In this case, you need a previous version of this method: “Autodesk.Revit.DB.Definitions.Create(string, Autodesk.Revit.DB.ParameterType, bool)”

    http://dynamobim.org/forums/topic/shared-parameter-creation-from-list/#post-42001

    #3811

    В ответ на: Параметры типа

    Aleksandr
    Участник
    1 pt

    Это было то, что я попробовал в первую очередь, но данный нод не работает с системными семействами.

    Так же пытался в питоне по скринкасту Лобанова – не сработало, хотя на обычных семействах все работает.

    #3807

    В ответ на: 2D схемы на листе.

    Alexandr Popov
    Модератор
    44 pts

    Вот записал несколько видео о том, как размещать 2д элементы и тексты на чертежных видах и легендах. Т.е. об основах создания схем с помощью динамо. Скрипты в ссылках в описании и в Downloads.

    #3677

    В ответ на: 2D схемы на листе.

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

    Khasan Mamaev, по ряду обстоятельств, у меня получился полный бардак с файлом-примером Ревита.
    Саоме главное – языки. Шаблон был на русском, схемы, таблички и прочее на украинском, теперь начали работать на европу и купили Ревит на немецком, ну и, конечно, английский тоже используется.
    Надо бы доустонавливать языковые пакеты. Сейчас этим и займусь.

    Теперь вопросы к Вам.
    1. elementListSection к чему сделан пустым списком изначально, если он является просто промежуточной переменной в цикле?
    Почему-то питон-нод ругается, если не определить переменную заранее. В чистом питоне переменную вроде заранее определять не надо, а тут почему-то просит. Понимаю, что можно сразу в общий список всё запихнуть, но мне в данном случае хотелось посмотреть  результаты.
    2. лишняя скобка в последней строке цикла.
    Опечатка. Исправлено.
    3.  Unwrap для провода зачем нужен?
    С трудом понимаю, зачем вообще нужен Unwrap. Применил на всякий случай в виде эксперемента, поскольку к Name провода так и не добрался.
    4. Вопрос с обращением Element.GetParameterValueByName решил. Спасибо.

    #3674

    В ответ на: 2D схемы на листе.

    Alexandr Popov
    Модератор
    44 pts

    И семейства 2д типовой аннотации вставляю и параметры в них заполняю.

    import clr
    clr.AddReference(‘ProtoGeometry’)
    from Autodesk.DesignScript.Geometry import *
    clr.AddReference(‘RevitAPI’)
    from Autodesk.Revit.DB import *
    clr.AddReference(“RevitNodes”)
    import Revit
    clr.ImportExtensions(Revit.GeometryConversion)

    # Import DocumentManager and TransactionManager
    clr.AddReference(“RevitServices”)
    import RevitServices
    from RevitServices.Persistence import DocumentManager
    from RevitServices.Transactions import TransactionManager

    # Import ToDSType(bool) extension method
    clr.AddReference(“RevitNodes”)
    import Revit
    clr.ImportExtensions(Revit.Elements)

    doc = DocumentManager.Instance.CurrentDBDocument

    #The inputs to this node will be stored as a list in the IN variable.
    dataEnteringNode = IN
    point = IN[0]
    view = UnwrapElement(IN[1])
    fam = UnwrapElement(IN[2])
    name = IN[3]
    num = IN[4]
    TransactionManager.Instance.EnsureInTransaction(doc)
    a = FilteredElementCollector(doc,UnwrapElement(view).Id).OfCategory(BuiltInCategory.OST_GenericAnnotation)
    for k in a:
    b=UnwrapElement(k).Id
    doc.Delete(b)
    i=0
    while i<point.Count:
    dl = doc.Create.NewFamilyInstance(point[i],fam,view)
    n = dl.LookupParameter(“Имя”).Set(name[i])
    n1 = dl.LookupParameter(“Номер”).Set(num[i])
    i=i+1
    TransactionManager.Instance.TransactionTaskDone()
    OUT = dl

    #3673

    В ответ на: 2D схемы на листе.

    Alexandr Popov
    Модератор
    44 pts

    import clr
    clr.AddReference(‘ProtoGeometry’)
    from Autodesk.DesignScript.Geometry import *
    clr.AddReference(‘RevitAPI’)
    from Autodesk.Revit.DB import *

    # Import DocumentManager and TransactionManager
    clr.AddReference(“RevitServices”)
    import RevitServices
    from RevitServices.Persistence import DocumentManager
    from RevitServices.Transactions import TransactionManager

    # Import ToDSType(bool) extension method
    clr.AddReference(“RevitNodes”)
    import Revit
    clr.ImportExtensions(Revit.Elements)

    doc = DocumentManager.Instance.CurrentDBDocument

    #The inputs to this node will be stored as a list in the IN variable.
    view = UnwrapElement(IN[0])
    Text = IN[1]
    h = IN[2]
    len1 = IN[3]
    baseVec = XYZ(1,0,0)
    upVec = XYZ(0,1,0)
    count = h.Count
    Point=[]
    for h1 in h:
    p1 = XYZ(-50,h1,0)
    Point.append(p1)
    i=0
    TransactionManager.Instance.EnsureInTransaction(doc)
    a = FilteredElementCollector(doc,view.Id).OfCategory(BuiltInCategory.OST_TextNotes)
    for k in a:
    b=UnwrapElement(k).Id
    doc.Delete(b)
    while i<count:
    len=len1[i]*2*0.00328
    #Text.Length*0.01
    origin = XYZ(Point[i].X*0.00328,Point[i].Y*0.00328,0)
    note = doc.Create.NewTextNote(view, origin, baseVec, upVec, len, TextAlignFlags.TEF_ALIGN_CENTER,Text[i]);
    i=i+1

    TransactionManager.Instance.TransactionTaskDone()

    #Assign your output to the OUT variable
    if count == 0 :
    OUT = “Failed to create detail lines.”
    else:
    OUT = “Successfully created %s textnotes.” % count

     

    Нормально вставляется и на легенду и на чертежный вид.

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