Аннотации на чертежный вид

Главная Форумы Задать вопрос Аннотации на чертежный вид

В этой теме 7 ответов, 3 участника, последнее обновление  Maksim 2 нед., 3 дн. назад.

Просмотр 8 сообщений - с 1 по 8 (из 8 всего)
  • Автор
    Сообщения
  • #8659 Score: 0

    Maksim
    Участник

    Здравствуйте, подскажите как действовать?

    Ниже скрипт по созданию на чертежном виде 2D аннотации вставляется только одна. Что и как нужно прописать в Питон код, чтобы подать список координат и список FamilyType. Как я понимаю, нужно заменить координаты на порты IN[], и написать цикл for    in для переменной point и fam?

    Ибо вот так вставка в чертежный вид не работает, так как по моему мнению подается именно список из одного элемента.

    #8667 Score: 0

    txt
    Модератор
    95 pts

    Приложите текст ошибки

    #8668 Score: 0

    Maksim
    Участник

    Текст ошибки, по всей видимости не может обработать поданный список.

    Предупреждение:IronPythonEvaluator.EvaluateIronPythonScript операция не выполнена.
    Traceback (most recent call last):
    File “<string>”, line 32, in <module>
    TypeError: expected FamilySymbol, got List[object]

    #8669 Score: 0

    txt
    Модератор
    95 pts

    попробуйте так:
    doc.Create.NewFamilyInstace(point, fam[0], view)

    #8670 Score: 0

    ИваСерж
    Модератор
    112 pts

    Данный скрипт не создан для множественной вставки семейств.
    1. В строках 28-30 скрипт очищает все элементы, которые найдет на виде.
    2. В строке 32 один раз вставляет в точку указанное семейство.

    Что и как нужно прописать в Питон код

    Вместо строки 32 нужен цикл, в который вы будете подавать разные координаты и, если необходимо, разные семейства.
    Вот пример:
    https://pastebin.com/DirhVKVB

    #8694 Score: 0

    Maksim
    Участник

    Спасибо, Сергей. На сколько я понимаю, в этом коде создается именно копии того же семейства с координатами смещения.

    Нашел нод от Clockwork’a (FamilyInstance.ByPointInView) делает тоже самое, и обрабатывает только список координат, а не список семейств.

    Прошу вашей (форумчан) помощи разобраться с этим вопросом.

    Суть задачи:

    Есть серверный шкаф (в 3D) в нем вложены панели 47 слотов, в каждый слот можно по выпадающему списку установить одну из пяти панелей (заглушка, 24 порта, 48 портов и пр.), хочу получать в чертежном виде (в 2D) его аннотативное отображение (соответсвующие семейства готовы), в Динамо получаю список вложенных семейств из 3D шкафа с учетом установленных в слоты, но нод FamilyInstance.ByPointInView не обрабатывает список семейств (почему-то) поданных на данный нод, может только по координате наделать копий одного семейства. Но хотелось бы для каждого полученного, вставить каждый со своей координатой.

    #8695 Score: 0

    ИваСерж
    Модератор
    112 pts

    Не знаю, в что ж не ясно. Все ответы вроде даны.
    По задаче есть четкий алгоритм? Мне не понятно, что получено, что надо вставить.

    Получите два списка:
    1. список точек в 2Д
    2. Список типов семейств, которые надо вставить в координаты.

    потом посмотрим что дальше.

    #8702 Score: 0

    Maksim
    Участник

    ИваСерж, собственно, список точек и список семейств есть и получен. Но нод FamilyInstance.ByPointInView не обрабатывает каждый элемент из списка в ноде FamilyType.ByName. Рис 1. Далее рисунок 2.

    На рисунке 2. Для каждой поданной координаты создает Instance  выбранного FamilyType.

Просмотр 8 сообщений - с 1 по 8 (из 8 всего)

Для ответа в этой теме необходимо авторизоваться.