Инженерные консультации
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Построение полилинии нужной ширины без изменения глобального значения PLINEWID с помощью lisp

Построение полилинии нужной ширины без изменения глобального значения PLINEWID с помощью lisp

Ответ
Поиск в этой теме
Непрочитано 03.04.2020, 09:59 #1
Построение полилинии нужной ширины без изменения глобального значения PLINEWID с помощью lisp
Tesan
 
Регистрация: 21.07.2018
Сообщений: 9

Доброго дня, необходимо построить полилинию с заданной шириной, но чтобы переменная PLINEWID после построения полилинии вернулась в 0 значение. Уважаемый Кулик Алексей aka kpblc очень помог, за что ему большая признательность и предложил лисп такого вида:

Код:
[Выделить все]
 (defun c:plw10 (/ pw)
(setq pw (getvar "plinewid"))
(setvar "plinewid" 10)
(vl-cmdf "_.pline")
(while (/= (getvar "cmdactive") 0) (vl-cmdf pause))
(setvar "plinewid" pw)
) ;_ end of defun
Все хорошо работает рисует полилинию с нужной шириной, но при нажатии ПКМ для вызова команд черчения дуга, прямая, и т.д. команда обрывается. т.е. ПКМ становится аналогом нажатия кнопки esc. В принципе работает вызов расширенных параметров рисования со стрелок клавиатуры, но уже привык вызывать ПКМ. Если нетрудно поправьте пожалуйста лисп немного, чтобы команда не обрывалась при нажатии ПКМ, а давала возможность выбрать параметры рисования.

Последний раз редактировалось Кулик Алексей aka kpblc, 03.04.2020 в 10:08.
Просмотров: 1997
 
Непрочитано 03.04.2020, 16:15
#2
Семёныч


 
Регистрация: 08.12.2018
Сообщений: 165


Недостаточно информации или условия неправильно сформулированы.
Цитата:
Сообщение от Tesan Посмотреть сообщение
при нажатии ПКМ для вызова команд черчения дуга, прямая, и т.д. команда обрывается.
Сама программа нормально работает, однако непонятно, какая команда обрывается при нажатии ПКМ.
Семёныч вне форума  
 
Непрочитано 03.04.2020, 17:04
#3
skkkk


 
Регистрация: 20.03.2008
Сообщений: 2,625


Tesan, тут, вероятно, дело не в коде лиспа, а в настройках Автокада. Штатная команда полилинии тоже также должна отрабатывать в таком случае.

Если мои предположения верны, то в окне настроек (_OPTIONS на вкладке Пользовательские есть Правая кнопка мыши - там нужно выбрать, кажется, в последнем пункте что-то вроде "Контекстное меню, когда доступны опции команды".
skkkk на форуме  
 
Непрочитано 14.07.2020, 11:03
#4
koMon


 
Блог
 
Регистрация: 26.09.2017
Сообщений: 1,399


c:smart_pline рисует полилинию, с настройкой слоя (не проверяется на блокипровку и т.д.), типа линии, веса... в выпадающем меню с сохранением выбранных параметров в соответствующие переменные. следущий вызов команды использует сохранённые параметры. переменные автокада не трогаются.
Вложения
Тип файла: rar smart_pline.fas.rar (8.2 Кб, 5 просмотров)
koMon на форуме  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Построение полилинии нужной ширины без изменения глобального значения PLINEWID с помощью lisp

Система Техэксперт дает уверенность в правильности и эффективности принимаемых инженерных решений!
Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Можно ли с помощью VBA (или Lisp) редактировать spdsNotePosition (выноску СПДС)? AlexV LISP 15 07.11.2017 15:55
Не могу начать построение отрезок из нужной мне точки. glade1 AutoCAD 2 21.05.2014 11:08
Lisp Использвание последнего введенного значения. Как? Vladimir_Sergeevich LISP 12 19.10.2013 20:37
lisp: Длина по полилинии до точки vosh LISP 19 15.07.2013 15:10
Lisp. Не вставляет значения в базу access. Zaghim LISP 2 11.07.2012 14:29