|
||
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
08.12.2018, 23:01 | #1 | |
Возможно ли создать линию с блоками в узлах и автоматической нумерацией?
Регистрация: 11.01.2017
Сообщений: 4
|
||
Просмотров: 4738
|
|
||||
Регистрация: 10.08.2013
Сообщений: 11,004
|
если вы хотите создать именно такую "умную" линию - то особой альтернативы нет: ObjectARX. Если хотите создать автоматизированное составление спецификации/КЖ - поищите по форуму, здесь несколько вариантов есть: от надстроек над акадом до программы на самописном движке. Ну и самому вполне реально написать, просто информация по длине разделяется по разным местам: длина самой полилинии из характеристик самого примитива, запас на монтаж и подъемы/опуски высчитываются на основе информации о прокладке кабеля и о высоте установке оборудования. И на основании принадлежности оборудования к полилинии/кабелю эти значения добавляются к физической длине самой полилинии. Ну и коэффициент запаса еще, естественно.
|
|||
|
||||
КЖ; C# Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588
|
Молокан, Все возможно, но будет ли это реализовано зависит только от Вас. Сергей предложил самый трудный способ (в "лоб"), есть еще как минимум два способа это сделать: DrawableOverrule и псевдосвой объект, у каждого из этих способов есть свои плюсы и минусы.... В любом случае, все эти штуки реализуются только на .NET (C#, VB.NEW, F#) или С++ . Так что, если Вы хотели понять в каком направлении двигаться, то двигаться нужно в сторону серьезного изучения программирования вообще и платформы автокада в частности. У Вас впереди долгий и увлекательный путь...
|
|||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,004
|
Цитата:
Цитата:
А при расчете длины трассы то же самое (описанное мною выше) делается в голове или во вспомогательных файлах во время реального проектирования. Причем несколько раз: сначала по время рисования планов кабельных трасс и расположения оборудования, затем во время создания КЖ и спецификации. И если это делать в один проход, то появляется экономия времени и заодно меньше тупой нудной работы) |
|||
|
||||
Шаражпроектхалтурмонтаж Регистрация: 29.10.2004
Талды-Париж
Сообщений: 5,989
|
|
|||
|
||||
новичок Регистрация: 19.06.2005
Ярославль
Сообщений: 3,396
|
можно на vba сделать
(далее код с ошибками) только принцип dim 1stpoint as variant dim 2point variant dim lin as acadline dim bl as acadblockreference в точку вставляете динамический блок (над его организацией надо думать) и 1stpoint=...getpoint() 2tpoint=...getpoint() set lin =thisdrawing.modelspace.addline(1point,2point) set bl=thisdrawing.modelspace.addblockref(1point) массив последовательных точек из набора соединенных линий делается легко массив блоков вставленных в эти точки тоже а потом обрабатывайте как хотите |
|||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,004
|
Хоть прочитайте, что в шапке написано:
Цитата:
|
|||
|
||||
новичок Регистрация: 19.06.2005
Ярославль
Сообщений: 3,396
|
можно цепочку блоков просто создавать со ссылками (можно использовать атрибуты) на handle предыдущего и последующего блоков (у которых есть insertionpoint).
т.е. обращаясь к одному блоку - имеешь доступ ко всей цепи, а обрисовать ее хоть линиями хоть полилинией - дело вкуса. handle линий тоже записывать в атрибуты блоков. и уже есть доступ ко всем объектам мультиобъекта (чего-там в заголовке) просто надо продумать сколько объектов привязать к блоку через handle : текст-номер, блок-изображение и т.д. и будет база данных а если у всех блоков будет атрибут идентификатор (объекта в заголовке) то горизонты потенциальных возможностей для обработки вырастают до нужных размеров Последний раз редактировалось p_sh, 19.12.2018 в 21:16. |
|||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,004
|
Цитата:
полилинии и т.п. - длины кабелей в спецификации. это связанные величины. а если шлейф-полилиния в разных файлах чертежей вообще находятся?) Дошел шлейф до стояка, крутанулся петлей на другой уровень, потом вернулся обратно.. ----- добавлено через 42 сек. ----- p.s. а еще есть кабельный журнал |
|||
|
||||
новичок Регистрация: 19.06.2005
Ярославль
Сообщений: 3,396
|
Цитата:
если объект полилиния удобен (длину легко определить) то можно использовать её (свойства). (как объект и поля БД через её handle) но метки опорных точек все равно лучше задавать блоками с атрибутами, содержащими необходимые поля БД Последний раз редактировалось p_sh, 19.12.2018 в 21:57. |
|||
|
||||
новичок Регистрация: 19.06.2005
Ярославль
Сообщений: 3,396
|
Handle примитива не изменяется. Изменяется objectid.
Handle - золотой прииск в этом отношении. Handle и блоков с атрибутами достаточно для решения построения любых фантазий. Блок с атрибутами выполняет роль нового типа объекта, т.к. может в качестве значений получить новые свойства.. В данном случае узел с номером, изображением, ссылками на объекты И т.д. ----- добавлено через ~3 ч. ----- пример использования блоков+линии+размер+ VBA https://yadi.sk/i/NFAIT0ZfQKQGag Последний раз редактировалось p_sh, 13.01.2019 в 09:31. |
|||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,004
|
примитив может быть изменен пользователем) А после этого придется еще и другие примитивы (ссылающиеся по хэндлу на этот примитив) править, хотя они сами не изменились и их вообще трогать не надо по нормальному.
ObjectId не изменяется, а генерируется при открытии БД чертежа/создании новых примитивов. ну тут на форуме кто-то и кабели пытается блоками делать (чтобы использовать атрибуты) - уверяя всех, что это очень удобно) |
|||
|
Опции темы | Поиск в этой теме |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
AutoCad Civil 3D 15. Как создать линию по азимуту? | ШАЮ | Вертикальные решения на базе AutoCAD | 21 | 24.08.2016 17:28 |
народ помогите создать линию проектируемой телефонной канализации | ОлегD | AutoCAD | 13 | 23.08.2011 19:30 |
Возможно ли создать фаску между дугой и полилинией в AutoCAD 2010??? | Vanya_tut | AutoCAD | 12 | 19.05.2010 15:59 |