Кабельные лотки. Разделение по длине

Главная Форумы Python Помогите с питон кодом Кабельные лотки. Разделение по длине

Просмотр 7 сообщений - с 1 по 7 (из 7 всего)
  • Автор
    Сообщения
  • #4078 Score: 0
    ИваСерж
    Модератор
    128 pts

    Задачу просто сформулировать: нужно разбить кабельный уже начерченный лоток на участки по 3 м, вставляя в кабельный лоток семейство-соединитель.
    Стандартный соединитель называется: “М-муфта канального”
    Однако у меня ни малейшего представления, как это сделать. Прошу помочь.

     

     

     

    #4084 Score: 0
    Legantmar
    Хранитель
    462 pts

    я бы удалил кабельный лоток, а на его месте создал бы нужные отрезки и там бы разместил соединитель (кстати соединитель уже присутствует на каком нить плане!?)

    #4105 Score: 0
    ИваСерж
    Модератор
    128 pts

    Legantmar, Видел на ютубе твой скрипт посвященный этой теме.
    По поводу удаления лотка согласен.
    В блоге thebuildingcoder советует посмотреть “AutoRoute and AvoidObstructions Revit SDK samples”

    На выходных посмотрю.

    #4121 Score: 0
    ИваСерж
    Модератор
    128 pts

    По совету из блога ” 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));

    #4122 Score: 0
    kulkul
    Участник
    47 pts

    Hi Iva,

    Add “List.FirstItem” after GetPipeType.

    #4126 Score: 0
    Legantmar
    Хранитель
    462 pts

    вместо doc.Create.NewPipe(p1, p2, pipeType):

    для труб – Pipe.Create(doc, systemtypeId, pipetypeId, levelId, xyz1, xyz2)

    аналогично для воздуховодов (Duct)

    для кабельных лотков немного по другому:
    CableTray.Create(doc, cabletrayId,  xyz1, xyz2, levelId)

     

    #4200 Score: 0
    ИваСерж
    Модератор
    128 pts

    Legantmar, спасибо за идею, но в таком виде комманда CableTray.Create не заработала.
    Посмотрел в импорты. Мы импортируеми Autodesk.Revit.DB, а комманда сидит в
    Autodesk.Revit.DB.Electrical

    Пришлось попробовать:
    Electrical.CableTray.Create… – комманда сработала. Правда, внезапно, высота и шинира лотка какие-то не те. Пришлось переназначать.

Просмотр 7 сообщений - с 1 по 7 (из 7 всего)
  • Для ответа в этой теме необходимо авторизоваться.