|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
(Lisp) интерактивно выбрать только горизонтальные или вертикальные линейные размеры ?
Регистрация: 03.12.2012
Сообщений: 15
|
||
Просмотров: 5541
|
|
||||
Чтобы подсказывать, надо конкретизировать задачу.
Линейные размеры бывают двух типов: Rotated и Alignment. В русском варианте что-то типа "Поворачиваемый" и "Выровненный". Под термином ЛИНЕЙНЫЕ оба этих типа подразумеваются? Выбрать на всем чертеже/в модели/в текущем листе? Размерные стили игнорируются? |
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,404
|
И чего самостоятельно сделано, поскольку вопрос в "Программировании"?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 03.12.2012
Сообщений: 15
|
Do$ спасибо что откликнулись !!!
- да Выбрать на всем чертеже/в модели/в текущем листе? Желательно в модели. но можно в листе (что по проще) - я там сам подстроюсь также без разницы ко всему чертежу или к выбранным обьектам (как я понимаю будет использоваться qselect) - я там сам подстроюсь Цитата:
Кулик Алексей aka kpblc - спасибо что и вы откликнулись !!! И чего самостоятельно сделано, поскольку вопрос в "Программировании"? - (command "_.qselect" "???" - как я понимаю здесь и вся загвоздка .... Последний раз редактировалось andrey76andreev, 15.08.2013 в 16:50. |
|||
![]() |
|
||||
Если бы у QSELECT был недиалоговый режим, мир был бы другим
![]() Так что про COMMAND можно забыть пока. Наши друзья: SSSETFIRST - чтобы выделить нужное SSGET - чтобы сформировать набор для нужных объектов SSDEL - чтобы удалять из набора неподходящие элементы |
||||
![]() |
|
||||
Регистрация: 03.12.2012
Сообщений: 15
|
Был бы очень признателен если бы вы дали код по конкретнее.
- вот так выделяет все линейные размеры (setq ss2 (ssget "_X" '((0 . "Dimension") ))) (sssetfirst nil ss2) , подкажите позжайлуста как удалить горизонтальные ssdel ? Последний раз редактировалось andrey76andreev, 15.08.2013 в 18:30. |
|||
![]() |
|
||||
Конкретнее надо время чтобы сидеть придумывать. Я так с ходу и не скажу как отличить вертикальный от горизонтального размера, подозреваю, что надо извлекать какие-то точки и сравнивать. Как вариант - попробовать поискать здесь, на болоте, кадузере и т.п., может уже кто-то подобное писал.
|
||||
![]() |
|
||||
КЖ; C# Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,611
|
С этим вопросом сюда: http://forum.dwg.ru/forumdisplay.php?f=33
|
|||
![]() |
|
||||
специалист по околачиванию грушевых деревьев Регистрация: 14.09.2004
Pietari, Venäjä
Сообщений: 811
|
Цитата:
Код:
|
|||
![]() |
|
||||
ПенсионЭр Регистрация: 26.06.2009
Сообщений: 361
|
Олег (jr.), от меня тоже отдельно спасибо, классный макрос. Ну, может быть, уж до конца добьёте его - добавите функцию выбора выровненных размеров, неортогональных, типа "defun c: ALIGND".
Тоже приобрёл, а толку - ноль ![]() (Да читаю я, читаю. Не просто смотрю на корешок книги, стоящей на полке.) p.s. догадываюсь, что надо что-то изменить в строках, где фигурирует "pi". Или же в строках, где (cons -4 "="), поставить "не равно" (программным способом, конечно). p.p.s хотя, эта функция уже есть в быстром выборе. Что-то я перегрелся: пятница, конец недели. Последний раз редактировалось MrBrown, 16.08.2013 в 14:49. |
|||
![]() |
|
||||
Посмотрите дамп выровненных и повернутых размеров (entget (car (entsel "\nSelect object:"))). Там есть в 100 группе различия. Соответственно, чтобы выбрать то или иное, эти пары нужно добавить в фильтр SSGET.
|
||||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Есть еще различие в значении dxf group 70 (= 33)
MrBrown, Изменения выделил красным Код:
PS Как вариант (вроде должен покрасить неортогональные выравненные размеры Код:
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 16.08.2013 в 16:38. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
В #16 в and нужно добавить проверку углов на 90 и 270 градусов
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 03.12.2012
Сообщений: 15
|
Доброй ночи уважаемые форумчане !!! Спасибо присоединившимся к теме за присоединение
![]() MrBrown был прав в лиспе Олег (jr.) (которому огромное спасибо за помощь !!!) есть недочет - если в проставленных размерах пользователь изменил расположение значений на стрелке или сделал вынеску, то эти размеры лисп не определяет как вертикальные или горизонтальные (взависимости от того чего выбирали). как я понял VVA (спасибо за помощь,УВАЖЕНИЕ !!!) исправил этот недочет. Но я попытался использовать оба - и они не выбирали вообще никаких размеров. Эти два лиспа (которые написали Олег (jr.) и VVA) нужно как то хитроумно соединить ???(чтобы лисп выделял вертикальные или горизонтальные размеры даже изменные пользователем) И как это сделать ??? Заранее огромное спасибо за помошь !!! |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Цитата:
Пробуй сейчас Код:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Разработка ПОС, искусство проектирования | Tyhig | Технология и организация строительства | 117 | 25.11.2021 17:38 |
Какой язык перспективен для инженера-конструктора с условием | The_Mercy_Seat | Программирование | 705 | 17.03.2021 14:19 |
Как интерактивно выбрать только горизонтальные или вертикальные размеры ? | andrey76andreev | AutoCAD | 2 | 15.08.2013 15:58 |