Опять про _INSERT и диалоговое окно выбора опций - Страница 4
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Опять про _INSERT и диалоговое окно выбора опций

Опять про _INSERT и диалоговое окно выбора опций

Ответ
Поиск в этой теме
Непрочитано 18.01.2011, 10:54
Опять про _INSERT и диалоговое окно выбора опций
swkx
 
Регистрация: 22.01.2010
Сообщений: 311

Вопрос о применении _INSERT поднимался столько раз, что даже неудобно начинать опять, но и пересмотреть все сообщения тоже нереально))
Поэтому напомните, плиз, почему ввод с командной строки
_-insert и (vl-cmdf "_-insert") даёт одинаковые результаты, а
_insert и (vl-cmdf "_insert") разные:в 1-м случае выдается диалоговое окно, во 2-м ввод имени блока и параметров предлагается с ком. строки ?
AutoCAD 2009.
Просмотров: 14455
 
Непрочитано 21.01.2011, 19:44
#61
Лиспер


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


Я просто код не проверял и особо не анализировал. Некогда было...
__________________
(/= RegDate StartReadDate)
Лиспер вне форума  
 
Автор темы   Непрочитано 21.01.2011, 19:52
#62
swkx


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


Понятно.
Ну теперь можно и не анализировать, вопрос решился.
swkx вне форума  
 
Непрочитано 24.08.2014, 15:14
#63
AlexCondor

инженер
 
Регистрация: 03.08.2007
Сообщений: 1,418


Прошу помощи у знатоков! Вопрос в принципе по теме.
Раньше пользовался макросом, потом захотелось, чтобы команду можно было быстро повторить по пробелу или Enter'ом, составил код:
Код:
[Выделить все]
 (defun c:insertfile ()
  (setq cmdold (getvar "cmdecho"))
  (command "_.undo" "_begin")
  (setvar "cmdecho" 0)
  (command "_.insert" "~" "\\" "" "" "")
  (command "_.explode" "_last")
  (command "_.purge" "_blocks" "" "n")
  (command "_.undo" "_end")
  (setvar "cmdecho" cmdold)
  (princ)
)
Все работает вроде правильно, но вопрос в тильде. Если нажать Esc при выборе файла, закрывается диалог выбора, но не прерывается вся команда. Как изменить чтобы команда прерывалась полностью.
AlexCondor вне форума  
 
Непрочитано 24.08.2014, 17:08
#64
skkkk


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


AlexCondor, вот так:
Код:
[Выделить все]
 (defun c:insertfile ( / *error* cmdold)
	(defun *error* (msg)   
		(if cmdold (setvar "cmdecho" cmdold))
		(princ msg)
		(princ)
	) ;defun *error*
	(setq cmdold (getvar "cmdecho"))
	(setvar "cmdecho" 0)
	(command "_.undo" "_begin")
	(command "_.-insert" "~")
	(if (> (getvar "CMDACTIVE") 0) 
		(progn
			(command "\\" "" "" "")
			(command "_.explode" "_last")
			(command "_.purge" "_blocks" "" "_n")
		)
		(princ "*Прервано*")
	)
	(command "_.undo" "_end")
	(setvar "cmdecho" cmdold)
	(princ)
)
skkkk вне форума  
 
Непрочитано 24.08.2014, 17:43
#65
AlexCondor

инженер
 
Регистрация: 03.08.2007
Сообщений: 1,418


skkkk,
Спасибо, огромный респект!
AlexCondor вне форума  
 
Непрочитано 24.08.2014, 19:57
#66
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372


Цитата:
но вопрос в тильде.
А может вопрос "а зачем так"? Что мы видим - вставляется блок из файла, расчленяется, а потом "пуржатся" блоки. Похоже на внедрение "библиотеки блоков". Это можно сделать проще - в момент встави блока сделать искусственное прерывание. Сам он не вставится, а все определения из файла-блока попадут в чертеж. Фрагмент:
Код:
[Выделить все]
  
(vl-cmdf "_.INSERT" block_file_name) ;; начинаем вставку блока
(vl-cmdf) ;; искусственно прерываем
ShaggyDoc вне форума  
 
Непрочитано 26.08.2014, 10:34
#67
AlexCondor

инженер
 
Регистрация: 03.08.2007
Сообщений: 1,418


Цитата:
Сообщение от ShaggyDoc Посмотреть сообщение
Что мы видим - вставляется блок из файла,
Нет, мне нужно просто найти, выбрать и вставить файл в текущий чертеж, причем не блоком. ESC - если решил сделать иначе. Внедрение библиотеки это уже последствия. Подскажите, как это сделать желательно одной командой, не затрагивая определений блоков.
AlexCondor вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Опять про _INSERT и диалоговое окно выбора опций



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Опять про перепуск арматуры AlfF1 Железобетонные конструкции 52 14.11.2017 08:55
Опять про сбор нагрузок (сильно не бить, поиск юзал) Gevo Конструкции зданий и сооружений 39 21.04.2009 23:19
И опять про лицензирование Aragorn Разное 39 27.02.2009 15:31
Опять про системные переменные DEL AutoCAD 4 03.11.2006 11:12