| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
06.08.2016, 17:33 | #1 | |
Выполнение команды лисп после перемещения стрелки выноски
Регистрация: 29.12.2013
Сообщений: 10
|
||
Просмотров: 4063
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Есть в Download сумматор линий. И на форуме тема "суммировать по цвету / типу / слою" не так давно была.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 29.12.2013
Сообщений: 10
|
Цитата:
|
|||
|
||||
идущий по граблям Регистрация: 26.05.2005
Сообщений: 5,095
|
Offtop: Вообще-то это запросто делается с помощью полей и извлечения данных напрямую из полилиний. Я понимаю, что в разделе "Программирование" дурной тон напоминать о стандартных возможностях, но такой вопрос был бы актуален в этом разделе в 2006-2007 г. или ранее, а сейчас все-таки 2016, и тех, кто работает в версиях до 2007, почти нет. Другое дело, если автор вынужден работать в древней версии или стандартных возможностей недостаточно - например, требуют слишком много кликов на операцию, но об этом неплохо бы упомянуть.
Последний раз редактировалось kp+, 08.08.2016 в 19:29. |
|||
|
||||
Регистрация: 29.12.2013
Сообщений: 10
|
Цитата:
----- добавлено через ~4 ч. ----- Появилась одна идея, стрелка выноски (я использую динамический блок в качестве выноски) имеет определенные координаты, которые можно найти в свойствах объекта. Так вот, можно ли с помощью лиспа узнать, какие объекты (id объектов и их обозначения, блок полилиния или другое) находятся на данных координатам? Ведь можно запустить программу, которая будет перебирать точки стрелок, узнавать какие под ними лежат полилинии и записывать длины полилинии в блок который указывает на нее. Реально выполнить такую процедуру? |
|||
|
||||
Регистрация: 25.12.2005
Москва
Сообщений: 13,627
|
Можно, также, получив точку на полилинии, сочинить две точки (левая нижняя и правая верхняя) для секрамки функции (ssget). Вычесть и прибавить по паре мм к X и Y к координатам конца стрелки, которая воткнется в полилинию. Правда, в секрамку ssget попадет и сама стрелка, но можно отфильтровать полилинию по слою или еще по какому-либо параметру. IMHO.
|
|||
|
||||
Регистрация: 20.03.2008
Сообщений: 2,653
|
То, что сказал Profan, я когда-то переводил на "лиспский":
Код:
Если полилиния там гарантированно одна, то из набора извлечем ее так: Код:
|
|||
|
||||
Цитата:
Код:
__________________
Как использовать код на Лиспе читаем здесь |
||||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,041
|
Цитата:
А игры на точность - на практике заметно уменьшают скорость работы, имхо. Так как постоянно приходиться зуммировать чертеж для лучшего прицеливания. |
|||
|
||||
Регистрация: 29.12.2013
Сообщений: 10
|
Прикладываю выноску. Таких выносок и полилиний на чертеже может до 500 штук.
Последний раз редактировалось rublikdimas, 10.08.2016 в 08:25. |
|||
|
||||
__________________
Как использовать код на Лиспе читаем здесь |
||||
|
||||
Регистрация: 29.12.2013
Сообщений: 10
|
Цитата:
----- добавлено через ~1 мин. ----- Вот моя программка, вытягиваю не только длину отрезков, но и их цвет и слой. Все выноски должны находится на одном слое! - Vinoski Код:
Последний раз редактировалось Кулик Алексей aka kpblc, 11.08.2016 в 08:50. |
|||
|
||||
Пару замечаний. Чтобы узнать длину, имя примитива, ты трижды делаешь выборку секрамкой в указанной точке
Код:
Код:
Код:
__________________
Как использовать код на Лиспе читаем здесь |
||||
|
||||
Регистрация: 29.12.2013
Сообщений: 10
|
День добрый, у меня возникла следующая проблема, при выполнение команды (setq ss (ssget "_C" (polar pt (/ pi 4) 0.01) (polar pt (/ (* 5 pi) 4) 0.01) (list (cons 0 "LWPOLYLINE")))), при близком рассмотрение полилинии, все происходит без проблем, данные о полилинии записываются в переменную. Если я колесиком отдаляю видовой экран то почему то в переменную при выполнении той же самой команды записываются данные о соседней полилинии. Значение точки pt не меняется! Точка pt указывает именно на нужную мне полилинию. Не понимаю, если у меня на экране при отдалении полилинии начинают сливаться визуально, то и автокад думает что они сливаются?
----- добавлено через ~17 мин. ----- Цитата:
|
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Разработка ПОС, искусство проектирования | Tyhig | Технология и организация строительства | 117 | 25.11.2021 17:38 |
Невозможные перемещения конструкции после ее зеркального отображения. | Artem33 | Robot | 0 | 17.05.2016 14:08 |
Выполнение команды внутри блока | Mozgunov | Программирование | 18 | 05.07.2015 23:52 |
После вызова команды "menuload" предлагается указать вручную путь. Как это исправить? | maz_ai | AutoCAD | 1 | 05.09.2012 17:23 |
Продолжение макроса/лиспа после команды _qnew | Positron | AutoCAD | 57 | 04.03.2010 17:42 |