Результаты поиска для 'list'
-
АвторРезультаты поиска
-
16.08.2016 в 10:41 #4234
В ответ на: Revit для электриков?
Пример с динамо скриптом
Видео как работает. Правда, до конца так и не записал из-за отсутсвтия интереса.
https://www.youtube.com/watch?v=-OgdSa-tMO0&list=PLXoMzi7DFVEZ9LfSdxDtba6bFMjA2d7vqНа данный момент переработана рассчётная часть скрипта. Добавлены контакторы и т.п.
Не доделанными остаются 2Д – пока размещаю схемы в модели, а не в чертежном виде. Но, как дойдут руки, доделаю.зачем стоит нод List.Create ?
08.08.2016 в 13:51 #4122В ответ на: Кабельные лотки. Разделение по длине
Hi Iva,
Add “List.FirstItem” after GetPipeType.
04.08.2016 в 21:13 #4103В ответ на: Семейство в помещении
Если я правильно понял, то одного раза размножить раковины по помещениям будет достаточно.
а так да всё верно надо Geometry DoesIntersect сравнивать. Вам ведь решения с питоном не интересны? а ListMap ещё один забыл убрать. И вообще я бы попробовал в ноде DoesIntersect перекрестную работу включить на каждый с каждым и подать просто 2 списка Geometry.
Ну да вот сравнивает
04.08.2016 в 12:35 #4080Надо не SortByKey, а GroupByKey использовать. В list вводишь список элементов, а в key – список длин. На выходе получаешь списки из балок одной длины. Если скинешь к dyn ещё пример rvt то можно дописать.
02.08.2016 в 10:12 #4059а SetDatumExtentType() в revit 2015 отсутствует? AttributeError: ‘List[object]’ object has no attribute ‘SetDatumExtentType’
30.07.2016 в 12:35 #4029В ответ на: Группировка по общим элементам списка
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 + 1uniq =[]
for i in dd:
if len(set(i)) > 1:
uniq.append(sorted(set(i)))28.07.2016 в 16:35 #3996В ответ на: Tips and tricks (Советы и приемы)
когда без разницы сколько элементов на входе 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]05.07.2016 в 09:06 #3887Тема: сортировка
в форуме Помогите с питон кодомNikolai
Участникесть элементы, у этих элементов есть, вес, каждый элемент принадлежит к определенной группе, как посчитать быстро сумму веса по группам, то, что есть сейчас считает секунд 30…
import clr
clr.AddReference(‘ProtoGeometry’)
from Autodesk.DesignScript.Geometry import *g = IN[0]
j= IN[1]list=list()
s = 0for q in g:
for r in j:
if r.GetParameterValueByName(“Группа”)==q:
s=s+r.GetParameterValueByName(“Вес”)list.append(s)
s=0OUT = list
05.06.2016 в 18:33 #3822В ответ на: Пакетное добавление параметров
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
24.05.2016 в 14:08 #3811В ответ на: Параметры типа
Это было то, что я попробовал в первую очередь, но данный нод не работает с системными семействами.
Так же пытался в питоне по скринкасту Лобанова – не сработало, хотя на обычных семействах все работает.
22.05.2016 в 14:35 #3807В ответ на: 2D схемы на листе.
13.04.2016 в 09:49 #3677В ответ на: 2D схемы на листе.
Khasan Mamaev, по ряду обстоятельств, у меня получился полный бардак с файлом-примером Ревита.
Саоме главное – языки. Шаблон был на русском, схемы, таблички и прочее на украинском, теперь начали работать на европу и купили Ревит на немецком, ну и, конечно, английский тоже используется.
Надо бы доустонавливать языковые пакеты. Сейчас этим и займусь.Теперь вопросы к Вам.
1. elementListSection к чему сделан пустым списком изначально, если он является просто промежуточной переменной в цикле?
Почему-то питон-нод ругается, если не определить переменную заранее. В чистом питоне переменную вроде заранее определять не надо, а тут почему-то просит. Понимаю, что можно сразу в общий список всё запихнуть, но мне в данном случае хотелось посмотреть результаты.
2. лишняя скобка в последней строке цикла.
Опечатка. Исправлено.
3. Unwrap для провода зачем нужен?
С трудом понимаю, зачем вообще нужен Unwrap. Применил на всякий случай в виде эксперемента, поскольку к Name провода так и не добрался.
4. Вопрос с обращением Element.GetParameterValueByName решил. Спасибо.12.04.2016 в 22:51 #3674В ответ на: 2D схемы на листе.
И семейства 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 = dl12.04.2016 в 22:49 #3673В ответ на: 2D схемы на листе.
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+1TransactionManager.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Нормально вставляется и на легенду и на чертежный вид.
-
АвторРезультаты поиска