Кабельные лотки. Разделение по длине
Главная › Форумы › Python › Помогите с питон кодом › Кабельные лотки. Разделение по длине
Помечено: лотки электрика
- В этой теме 6 ответов, 3 участника, последнее обновление 8 лет, 3 месяца назад сделано ИваСерж.
-
АвторСообщения
-
Задачу просто сформулировать: нужно разбить кабельный уже начерченный лоток на участки по 3 м, вставляя в кабельный лоток семейство-соединитель.
Стандартный соединитель называется: “М-муфта канального”
Однако у меня ни малейшего представления, как это сделать. Прошу помочь.я бы удалил кабельный лоток, а на его месте создал бы нужные отрезки и там бы разместил соединитель (кстати соединитель уже присутствует на каком нить плане!?)
Legantmar, Видел на ютубе твой скрипт посвященный этой теме.
По поводу удаления лотка согласен.
В блоге thebuildingcoder советует посмотреть “AutoRoute and AvoidObstructions Revit SDK samples”На выходных посмотрю.
По совету из блога ” thebuildingcoder” решил начать эксперементы с создания программно не лотков, а труб.
Ни одним из методов создать трубу не удалось
Столкнулся с такими проблемами.
1. doc.Create.NewPipe(p1, p2, pipeType);
1.1 Пишет, что этот метод устарел, но в 15Р ещё работает. В 16,17 этот метод тоже работает или уже удалили?
1.2 pipeType беру из трубы, которая уже существует в проекте
питоновская комманда OUT =UnwrapElement(IN[0]).PipeType
Но когда пытаюсь использовать для построения этот тип, код выдает ошибку. В чем проблема?1.3 Думаю, попробовать найти PipeType используя ФильтрКоллектор. Только не знаю, как написать его на Питоне – все примеры на С. Сложность в том, что мне нужно использовать не “стандартный” тип – трубой чертим кабель и тип называется типа “Кабель ВВГ”. В любом случае, имя и Id я смогу считать с существующего экземпляра трубы. Как мне применить ФильтрКоллектор, чтоб в ПитонКоде получить работающий PipeType?
2. Метод Pipe.Create требует systemTypeId. На блоге thebuildingcoder, автору так и не удалось найти этот параметр для использования этого метода. Вообще этот метод рабочий? Есть возможность добраться к stemTypeId у экземпляра трубы.
Может, ещё какие-то методы есть? Куда копать?
___________________
Решено: ТипТрубы надо расчленить, тогда труба строится.
pp = doc.Create.NewPipe( q1, q2, UnwrapElement(pipeT));Hi Iva,
Add “List.FirstItem” after GetPipeType.
вместо doc.Create.NewPipe(p1, p2, pipeType):
для труб – Pipe.Create(doc, systemtypeId, pipetypeId, levelId, xyz1, xyz2)
аналогично для воздуховодов (Duct)
для кабельных лотков немного по другому:
CableTray.Create(doc, cabletrayId, xyz1, xyz2, levelId)Legantmar, спасибо за идею, но в таком виде комманда CableTray.Create не заработала.
Посмотрел в импорты. Мы импортируеми Autodesk.Revit.DB, а комманда сидит в
Autodesk.Revit.DB.ElectricalПришлось попробовать:
Electrical.CableTray.Create… – комманда сработала. Правда, внезапно, высота и шинира лотка какие-то не те. Пришлось переназначать. -
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.