Сообщество программистов Autodesk в СНГ
ADN Club => VBA => Тема начата: Taras от 12-02-2018, 11:14:37
-
Здравствуйте!
Сразу к делу:
Я хочу сделать с помощью VBA следующий чертёж
(https://s18.postimg.org/wfot389xx/image.png) (https://postimg.org/image/wfot389xx/)
(ну хотя бы автоматическое формирование шкафов с их кабелями)
Я создал динамический блок:
(https://s18.postimg.org/5uma7w52d/image.png) (https://postimg.org/image/5uma7w52d/)
с атрибутами: названием шкафа и названием кабеля(проблема в том что кабелей может быть много)
Когда растягиваю блок появляются формочки под кабель.
Все данные для этого блока я вытягиваю с ексель:
1. String -название шкафа
2. Длину блока от которой будет зависит количество формочек под название кабеля ну и длина самого блока естественно
3. Масив String из названиями кабелей.
Вопрос: как мне динамически добавлять атрибуты для названий кабеля? Для каждого шкафа их будет своё количество (1, 5, 10 и т.д.)
Рассматривал вариант создать очень большой блок с 20ю атрибутами под название кабеля, сделать их всех невидимыми и в зависимости от длины отрывать нужное количество, но как то это коряво.
Прошу помочь, кто сталкивался с подобным))
-
Рассматривал вариант создать очень большой блок с 20ю атрибутами под название кабеля, сделать их всех невидимыми и в зависимости от длины отрывать нужное количество, но как то это коряво.
Если точно известно количество, название и расположение атрибутов в максимальной конфигурации, то так и следовало бы сделать. Это будет самым надежным вариантом.
Есть еще вариант с добавлением дополнительных атрибутов к вставке блока. Тогда количество атрибутов может не совпадать с количеством атрибутов в описание блока. Но это рискованная практика, так как команда _ATTSYNC удалит "лишние" атрибуты у вставки блока.
-
Есть еще вариант с добавлением дополнительных атрибутов к вставке блока.
Опа! А в VBA такой возможности и нет. Так что остаётся только первый вариант, если не менять среду программирования.
-
Опа! А в VBA такой возможности и нет. Так что остаётся только первый вариант, если не менять среду программирования.
Ага(( я пытался, выдаёт ошибку. Через VBA можно только атрибут в сам блок добавить(это можно сделать и ручками в автокаде), a через Reference нельзя
-
Мне кажется, на лиспе когда-то Alaspher подобное делал. Правда, тут кроется один очень интересный момент: если все-таки добавить атрибуты к вхождению, то каков будет результат после выполнения команды _.attsync?
P.S. Может, проще будет сделать группу объектов?