Размещение элемента семейства на грани
Главная › Форумы › Python › Помогите с питон кодом › Размещение элемента семейства на грани
- В этой теме 11 ответов, 3 участника, последнее обновление 8 лет, 3 месяца назад сделано Иван Волощенко.
-
АвторСообщения
-
Иван ВолощенкоУчастник
Не могу разобраться с Create.FamilyInstance
Подскажите что делаю не так
Revit 15 UR9
Dynamo 0.9.1import clr
clr.AddReference(‘ProtoGeometry’)
from Autodesk.DesignScript.Geometry 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)
clr.AddReference(‘RevitAPI’)
from Autodesk.Revit.DB import *doc = DocumentManager.Instance.CurrentDBDocument
symbol = UnwrapElement(IN[0])
host = UnwrapElement(IN[1])
location =UnwrapElement(IN[2])
referenceDirection = UnwrapElement(IN[3])TransactionManager.Instance.EnsureInTransaction(doc)
d1=doc.Create.NewFamilyInstance(location,symbol,referenceDirection,host)#,StructuralType.NoneStructural)-StructuralType не определен
TransactionManager.Instance.TransactionTaskDone()
OUT= d1https://yadi.sk/d/NPDj3wfJuFBSt
https://yadi.sk/d/IxYtc4v_uFBfMИван все неправильно. пусть Хасан разбирается с этим КЖ, если захочет.
но ты хотя бы написал, какой элемент на какую грань нужно разместить…
Иван ВолощенкоУчастникСпасибо за конструктивную критику. В файле как рас есть пример армирования, то как это делаться руками
а ты хочешь чтобы была “красная кнопка” сделать также красиво для всех видов разногабаритного, панельного хозяйства ? ))) (да еще с проемами или без и чтобы арматура сама все понимала)
у Михаила Дубко что-то было на похожую тему rebar conainer http://revitconsalting.blogspot.ru/2016/06/revit-2017-rebar-container-4.html
Иван, чтобы было легче понимать о чем речь, желательно показывать скриншоты
Иван ВолощенкоУчастникВ идеале будет несколько скриптов для семейств глухих панелей и панелей с различными проемами (отверстия не интересуют, надо же и проектировщикам оставить работу) параметры будут считываться с семейства панелей. Это все не вызывает большого труда, тут все понятно. Не получается реализовать создание нового экземпляра на грани (NewFamilyIntstence) и добавить возможность поворота
Попробовал развернуть нод FamilyInstance.ByPointInView из библиотеки Clockwork
Думаю нужно его немного подкорректировать и все получится. Только я могу это делать неделю методом комбинаторного поиска экстремума, а знающий человек за 5 минут скажет в чем моя ошибка=)
Иван ВолощенкоУчастникМетод Михаила Дубко немного неустраивает ввиду не желания руководства организации тратить деньги на 17 версию ='(сидим пока на 15й)/
Иван ВолощенкоУчастникКод на питоне подкорректировал. при выборе стены все работает. При выборе семейства панели (категория Каркас несущий, семейство создано на основе типовой модели) ругается TypeError: expected HostObject, got FamilyInstance. Подскажите чего не хватает
Ругается что ожидался хост-объект, а предоставлен экземпляр семейства, то есть такой фокус не проходит
Иван ВолощенкоУчастникЯ это понимаю. Может есть тогда другой способ получить Reference (рабочую ссылку на элемент). метод FamilyInstence подходит, размещает на грань (и следует за ней), с нужным углом поворота…
К сожалению не могу сказать, поскольку этим вопросом не занимался
Иван ВолощенкоУчастникскрипт работает так как задумывалось, единственный косяк не знаю как подать панель (загружаемое семейство на основе типовой модели) на слот Referense поэтому пришлось по месту панели создать кусок стены и на ней размещать армирование. Стену потом приходится удалять. Все же хотелось бы понять что из себя вообще представляет Referense (ссылка) и как ее получить…
Спасибо за ответы
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.