Размещение элемента семейства на грани
Главная › Форумы › Python › Помогите с питон кодом › Размещение элемента семейства на грани
- В этой теме 11 ответов, 3 участника, последнее обновление 7 лет, 12 месяцев назад сделано
Иван Волощенко.
-
АвторСообщения
-
Иван Волощенко
УчастникНе могу разобраться с 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 (ссылка) и как ее получить…
Спасибо за ответы
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.