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

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

Просмотр 15 результатов — с 286 по 300 (из 325)
  • Автор
    Результаты поиска
  • alexey.lobanov
    Участник
    8 pts

    можно еще вот так сделать. Так код покомпактнее будет и можно будет избавиться от нескольких нодов

    
    import clr
    cgrid = UnwrapElement(IN[0]).CurtainGrid
    ulines = cgrid.GetUGridLineIds()
    vlines = cgrid.GetVGridLineIds()
    
    list=[]
    for ul in ulines:
    vlist=[]
    for vl in vlines:
    vlist.append(cgrid.GetPanel(ul,vl))
    list.append(vlist)
    OUT=list
    
    Геннадий
    Участник

    Хасан, спасибо за ответ.  Рассматривал что-то подобное, но хотелось бы считывать информацию с Revit и минимализировать руки. Идея такова (спер из инета :) ): Задать каждой панели цвет и получить рисунок на витраже ( плитке и т.п.). Но список ячеек разбивки рисунка – двумерный массив и количество столбцов и строчек хотелось бы получать из данных витража для соответствия ( т.е. если в витраже 300на400 ячеек, то и разбивку рисунка выполнить 300на400 и перенести данные по цвету из сетки рисунка на ячейки витража. Вот и думаю, как это сделать.

    P.S. В изображении и схеме количество ячеек не совпадает, я это знаю. Про List.Create учту, спасибо. Просто это наброски…

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

    кстати, нод List.Create там не нужен. Он необходим для объединения элементов в список. Плюсиком добавляются входные слоты(минусиком – наоборот). А так получается вложенный список

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

    Как вариант, можно использовать нод List.Chop в котором нужно задавать длину разбивки исходного списка

    #2290
    Legantmar
    Хранитель
    475 pts
    #2281
    Dmitry_dronov
    Модератор
    50 pts

    Чтобы создать тьюпл нужно воспользоваться функцией zip(list1,list2…)
    Вот хорошие примеры: ссылка

    Legantmar
    Хранитель

    Есть аналогичный нод, который сортирует список.

    Как это повторить в питоне? через команду List.Sort()

    #2163

    Тема: Excel Writing Issue

    в форуме Интерфейс
    kulkul
    Участник

    Hi All,

    I am facing an issue with writing to excel. I need to write list by columns.

    I need like this.

     

    But i am getting like this

    Thanks in Advance.

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

    Вроде получилось.Использовал только один кастом нод из пакета ClockWork – List.ChopByLenghts. Ссылка: DivideNumberRange

    #2024

    В ответ на: Ноды Cycle & OfRepetedItem

    kulkul
    Участник
    47 pts

    Below are the example of list.cycle and list.repeated items.

     

    Vladimir
    Участник

    Хасан, добрый день! Вы бы не могли на предмет того же все-таки пояснить, как мне быть с известным кодом Лобанова?

    import clr

    clr.AddReference(‘ProtoGeometry’)

    from Autodesk.DesignScript.Geometry import *

    clr.AddReference(‘RevitAPI’)
    from Autodesk.Revit.DB import *
    clr.AddReference(‘System.Core’)
    import System
    clr.ImportExtensions(System.Linq)
    #Введенные в этом узле данные сохраняется в виде списка в переменных IN.
    list = IN[0]
    OUT = list.Where(lambda x: UnwrapElement(x).Symbol.get_Parameter(‘Группа модели’).AsString()==IN[1])

    Опять не находит Symbol

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

    красиво, конечно…

    посмотри вот это, может на что-то тебя натолкнет

    http://dynamobim.com/forums/topic/take-area-of-each-wall-inside-rooms/

    http://dynamobim.com/forums/topic/create-sublistsshift-indices/

    #1882

    Тема: Пакеты "Must have"

    в форуме Ноды
    Alexandr Popov
    Модератор

    В который раз уже убеждаюсь что много задач уже реализовано, надо лишь найти эти велосипеды.

    Предлагаю в этой теме писать пакеты, которые надо скачивать обязательно каждому и сразу, начиная работать с dynamo.

    Я считаю что к таким нодам можно отнести:

    archi-lab.net

    SteamNodes

    Clockwork for Dynamo

    Remove Duplicates From List

    Alexandr Popov
    Модератор

    Всем здравствуйте! Решаю задачу по вытаскиванию наружных площадей стен из ревитовской модели в ексель. Некоторые примеры уже скидывал сюда в DOWNLOAD. Основная проблема в том, что стены не граничат одна с одним помещением, а обычно идут сразу на много помещений, а ещё как в моем случае одна стена на 9 этажей (т.е. не режется по вертикали). Так же вместо окон встречаются витражи, да и встречаются модели, где все наружные стены выполнены витражами.

    На мой взгляд есть несколько способов решения этой задачи:

    1. В лоб, найдя все грани помещения по основанию, найти грани по основанию стены (предварительно проверив что эта стена граничит с помещением), и найти кратчайшее расстояние от всех граней помещения до наибольшей грани стены и взять только те грани помещения, от которых скажем расстояние до стены меньше 300мм. В таком случае проблема в том, что у меня не получается найти кратчайшее расстояние правильно

     

    1.   import clr
      clr.AddReference('ProtoGeometry')
      from Autodesk.DesignScript.Geometry import *
      #Введенные в этом узле данные сохраняется в виде списка в переменных IN.
      pA = IN[2]
      pB = IN[1]
      pC = IN[0]
      curveroom = IN[3]
      room = IN[4]
      high = IN[5]
      dist = []
      list1 = []
      count=pC.Count
      i=0
      while i<count:
      count2=curveroom[i][0].Count
      if count2==1:
      j=0
      dist=[]
      count1=pC[i][0][0].Count
      while j<count1:
      BC=Line.ByStartPointEndPoint(pC[i][0][0][j],pB[i])
      AC=Line.ByStartPointEndPoint(pC[i][0][0][j],pA[i])
      AB=Line.ByStartPointEndPoint(pA[i],pB[i])
      a=AC.Length
      b=BC.Length
      c=AB.Length
      p=a+b+c/2
      h=2*((p*(p-a)*(p-b)*(p-c))**0.5)/c
      dist.append(h)
      if j==0:
      min=dist[0]
      if j>0:
      if dist[j]<min:
      min=dist[j]
      j=j+1
      k=0
      while k<count1:
      if dist[k]==min:
      Swall=curveroom[i][0][0][k].Length*high[i]/1000000
      list1.append([room[i],Swall])
      k=k+1
      i=i+1
      #Назначьте вывод переменной OUT.
      OUT = list1
    2. На вход подаются 3 точки (середина каждой грани помещения) и начало и конец стены.

    в таком случае dist (расстояние от грани до стены) почему-то выдается по 48890 63884 и т.п.

    1. Через какую-то функцию/нод сразу вытащить поверхность помещения, граничащую со стеной, но я не знаю такой функции/нода =(
    2. Попробовать задать Пространства и вытащить поверхности помещений, граничащие с наружными стенами из стандартного ревитовского теплотехнического расчета. Но я не нашел какие это категории или как их вытащить.
    Alexandr Popov
    Модератор
    44 pts

    And “Удалить дубликаты”

    import clr
    clr.AddReference('ProtoGeometry')
    from Autodesk.DesignScript.Geometry import *
    #Введенные в этом узле данные сохраняется в виде списка в переменных IN.
    list1 = IN[0]
    list2 = IN[1]
    S2 = IN[2]
    i=0
    count1=list1.Count
    count2=list2.Count
    list3=[]
    while i<count1:
    j=0
    while j<count2:
    if list1[i]==list2[j]:
    S=S2[j]
    j=j+1
    list3.append([list1[i],S])
    i=i+1
    #Назначьте вывод переменной OUT.
    OUT = list3

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