Im receiving the above referenced error on a lisp routine, which up until now, I have never experienced. Its a routine to insert doors into a drawing. The routine previously allowed doors to be inserted on any layer named *-wndr. (see attached pic of dialog box generated by the lisp, note the message at the top of the dialog box regarding «*-WNDR» layer) It will now only insert on «0-wndr» layer. If I go in the code and rename «wndr» (toward the bottom of the script) the same error comes up with the new layer name I assign it, essentially looking for the ‘0″. I don’t know what changed (I did not make any edits to the routine). Here is the code.
Thank you in advance.
;===================================================================================;
; Error Handler Function ;
;===================================================================================;
(defun drerr (errormsg) ; If an error (such as CTRL-C) occurs
; while this command is active…
(if (/= errormsg «bad argument type: lselsetp nil»)
(alert (strcat «nError: » errormsg))
(alert «Error: Failure in wall/point selections.»)
)
(setvar «osmode» orOSMODE)
(setvar «pickbox» orPICKBOX)
(setvar «aperture» orAPERTURE)
(setvar «cecolor» curCOLOR)
(command «undo» «end»)
(princ)
(setq *error* olderr) ; restore old *error* handler
(princ)
)
;===================================================================================;
; Main Program ;
;===================================================================================;
(defun c:dr (/
dcl_id
what_next
)
(setq dcl_id (load_dialog «dr.dcl»))
(new_dialog «dr» dcl_id)
(action_tile «H» «(progn (mode_tile «OFFCORN» 0)(setq insert «h»)(set_tile «C» «0»))»)
(action_tile «C» «(progn (mode_tile «OFFCORN» 1)(setq insert «c»)(set_tile «H» «0»))»)
;(action_tile «OFFCORN» «(if (not (numberp offcorn))(progn(set_tile «error» «Must be a real number > 0.»)(mode_tile «OFFCORN» 2)))»)
(action_tile «DRSIZE» «(setq drsize (atof (get_tile «DRSIZE»)))»)
;(action_tile «LEAFANGLE» «(setq leafangle (get_tile «LEAFANGLE»))»)
(action_tile «LEAFANGLE» «(progn (setq leafangle (get_tile «LEAFANGLE»))(set_tile «slider_value» leafangle))»)
(action_tile «pickpoints» «(done_dialog 4)»)
(if (null doortype)(progn (set_tile «S» «1»)(setq doortype «s»)))
(if (null insert)(progn (set_tile «H» «1»)(setq insert «h»)))
(if (not (null offcorn))(set_tile «OFFCORN» (rtos offcorn))(progn(set_tile «OFFCORN» «6»)(setq offcorn 6)))
(if (not (null drsize))(set_tile «DRSIZE» (rtos drsize))(progn(set_tile «DRSIZE» «30»)(setq drsize 30)))
;(if (null leafangle)(setq leafangle»45″))
(if (not (null leafangle))(set_tile «LEAFANGLE» leafangle)(setq leafangle»45″))
(set_tile «slider_value» leafangle)
(if (= doortype «d»)(set_tile «D» «1»)(set_tile «S» «1»))
(if (= insert «c»)(progn (set_tile «C» «1»)(set_tile «H» «0»)(mode_tile «OFFCORN» 1)))
(if (= insert «h»)(progn (set_tile «H» «1»)(mode_tile «OFFCORN» 0)(set_tile «C» «0»)))
(if (and (= insert «h»)(null offcorn))(mode_tile «OFFCORN» 2))
(setq what_next (start_dialog))
(cond
((= what_next 4)
(getpnts)
)
((= what_next 0)
(prompt «nuser cancelled dialog»)
)
)
(unload_dialog dcl_id)
)
(defun getpnts (/ StartPt DirPt Ang oppo hypo
wallthickness HP1 HP2 LP1
wall_lay Tsset Tline2 Trm1 Trm2 Cpoint Hpt
ANG2 layprefix door_lay blockname mirror
xscale curCOLOR in_ang l Ang
)
(setq olderr *error* *error* drerr)
(setvar «cmdecho» 0)
(command «undo» «begin»)
; save system variables ;
(setq orAPERTURE (getvar «aperture»)
orPICKBOX (getvar «pickbox»)
orOSMODE (getvar «osmode»)
curLAYER (getvar «clayer»)
curCOLOR (getvar «cecolor»)
)
; get door points and angles ;
(if (= insert «h»)
(progn
(setvar «osmode» 33)
(setq StartPt (getpoint «nPick corner closest to the hinge: «))
(setvar «osmode» 512)
(setq DirPt (getpoint «nPick a point on wall toward latch: «))
(setq oppo (getpoint «nPick a point on wall face opposite the hinge/latch:»))
(setq Ang (angle StartPt DirPt)
Ang2 (angle StartPt oppo)
Hypo (distance StartPt oppo)
HP1 (polar StartPt Ang offcorn)
LP1 (polar HP1 Ang drsize)
))
(progn
(setvar «osmode» orOSMODE)
(setq Cpoint (getpoint «nPick the center point of opening on hinge/latch face of wall:»))
(setvar «osmode» 33)
(setq HPt (getpoint «nPick a point close to either hinge: «))
(setvar «osmode» 512)
(setq oppo (getpoint «nPick a point on wall face opposite the hinges:»))
(setq Ang (angle HPt Cpoint)
Ang2 (angle HPt oppo)
Hypo (distance HPt oppo)
HP1 (polar Cpoint (+ Ang pi)(/ drsize 2))
LP1 (polar HP1 Ang drsize)
)
)
)
(if (or(< Ang2 Ang)(and (< Ang (/ pi 2))(> Ang2 (* (/ 3 2) pi))))
(setq perpAng (- Ang (/ pi 2)) mirror 1))
(if (or(> Ang2 Ang)(and(< Ang2 (/ pi 2))(> Ang (* (/ 3 2) pi))))
(setq perpAng (+ Ang (/ pi 2)) mirror (- 0 1)))
(setq wallthickness (* hypo (sin (abs (- Ang Ang2)))))
; create opening points ;
; (setq HP1 (polar StartPt Ang offcorn)
; LP1 (polar HP1 Ang drsize)
;
; )
; draw and trim the opening ;
(setq sswall (ssget oppo))
(setq wall_lay (cdr (assoc 8 (entget (ssname sswall 0)))))
(setvar «clayer» wall_lay)
(setvar «pickbox» 1)
(setvar «aperture» 1)
(command «color» «bylayer»)
(command «line» HP1 «per» oppo «»)
(setq Tsset (ssget «L»))
(command «line» LP1 «per» oppo «»)
(setq Tline2 (entlast))
(ssadd Tline2 Tsset)
(setq Trm1 (polar HP1 Ang (/ drsize 2)))
(setq Trm2 (polar Trm1 perpAng wallthickness))
(command «trim» Tsset «f» «» Trm1 Trm2 «»)
; insert the door block ;
(setq layprefix (substr wall_lay 1 1))
(setq door_lay (strcat layprefix «-wndr»))
(setvar «clayer» door_lay)
(command «color» «10»)
(if (= doortype «s»)
(setq blockname (strcat «dr-» leafangle))
(setq blockname (strcat «2dr-» leafangle))
)
(setq xscale (* mirror drsize))
(if (= mirror -1)
(setq in_ang (+ Ang pi))
(setq in_ang Ang)
)
(setq in_ang (atof (angtos in_ang 0 4)))
(command «-insert» blockname HP1 xscale drsize in_ang)
; release selection set memory ;
(setq Tsset nil
sswall nil
Tline2 nil
)
; reset system variables ;
(setvar «osmode» orOSMODE)
(setvar «pickbox» orPICKBOX)
(setvar «aperture» orAPERTURE)
(setvar «clayer» curlayer)
(setvar «cecolor» curCOLOR)
(command «undo» «end»)
(princ)
) ;end defun
Добро пожаловать!
Войдите или зарегистрируйтесь сейчас!
Войти
- Обзoр
- Обновления (6)
- Рецензии (11)
- История версий
- Обсуждение
Страница 5 из 5
-
Форумчанин
- Регистрация:
- 16 июл 2007
- Сообщения:
- 2.330
- Симпатии:
- 175
- Адрес:
-
Беларусь
А что значит «по вашему желанию»?)__Ну типа кушайте что дают
#81
-
Форумчанин
- Регистрация:
- 16 июл 2007
- Сообщения:
- 2.330
- Симпатии:
- 175
- Адрес:
-
Беларусь
Alexandr-GR, в догонку — нумерация вершин и их координаты и все это на выноску через функцию отображать или нет (птичка)
#82
-
- Регистрация:
- 27 фев 2019
- Сообщения:
- 2
- Симпатии:
- 1
В 64bit AutoCad 2017 выдает следующую ошибку при выборе Polyline
Command: APPLOAD
DR-PK-ROAD_2_4.VLX successfully loaded.Command:
Запуск: _DRPK
Command:
Command: DRPK
Укажите трассу:
ERROR — QP:GET-ROUTE-PARAMETERS: no function definition: VLAX-ENAME->VLA-OBJECT
Command:#83
-
Форумчанин
-
- Регистрация:
- 27 фев 2019
- Сообщения:
- 2
- Симпатии:
- 1
Подвела чистка реестра RevoUninstaller пришлось восстанавливать пути
[HKEY_LOCAL_MACHINESOFTWAREClassesTypeLib {a4081f53-974E-479E-A26E-E6DE9A5B2489}][HKEY_LOCAL_MACHINESOFTWAREClassesTypeLib {a4081f53-974E-479E-A26E-e6de9a5b2489}1.0]
@=»Visual Lisp ActiveX module»[HKEY_LOCAL_MACHINESOFTWAREClassesTypeLib {a4081f53-974E-479E-A26E-E6DE9A5B2489}1.0]
[HKEY_LOCAL_MACHINESOFTWAREClassestypelib{a4081f53-974E-479E-A26E-e6de9a5b2489}1.0 win32]
@=»C:\Program файлы Autodesk AutoCAD 2017 vl16.tlb»и сразу все заработало.
#85
-
- Регистрация:
- 13 мар 2013
- Сообщения:
- 12
- Симпатии:
- 0
Alexandr-GR, помогите, пожалуйста! прога перестала работать((( выдает ошибку ERROR — GR-MAKE-BLOCK: Настройка переменной AutoCAD отвергнута: CLAYER «0»
Помогите, пожалуйста с ней разобраться! заранее спасибо!#86
-
Форумчанин
zhivchic, прикрепите сам файл gwg здесь или в личной переписке, как буду у компьютера, посмотрю.
#87
-
Форумчанин
- Регистрация:
- 22 мар 2018
- Сообщения:
- 50
- Симпатии:
- 103
подскажите а как округлить значение пикетов угла поворота додесятых
#88
-
- Регистрация:
- 24 дек 2013
- Сообщения:
- 3
- Симпатии:
- 0
Скажите пож-ста, как запустить пограмму, т.е. через управление я ее «загрузить приложение» — загрузил, что дальше, мож сущ какая то команда, спс.
#89
-
- Регистрация:
- 24 дек 2013
- Сообщения:
- 3
- Симпатии:
- 0
Спс, получилось через создание кнопки и макрос.
Скажите пож-ста, существует ли возможность запуска процедуры построения профилей какой нибудь командой с командной строки (после загрузки приложения через панель Управления), для случая нерегулярного использования. СПс#90
-
Форумчанин
Страница 5 из 5
Поделиться этой страницей
Перейти к контенту
Страницы 1 2 Далее
Чтобы отправить ответ, вы должны войти или зарегистрироваться
RSS
Сообщения с 1 по 25 из 33
#1 9 ноября 2007г. 12:26:25
- Natik
- Восстановленный участник
- На форуме с 1 октября 2007г.
- Сообщений: 104
- Спасибо: 0
Тема: ошибка: настройка переменной AutoCAD была отвергнута 2
или может кто знает, в какой переменной хряняться пути к вспомогательным файлам печати? (если такая переменная вообще существует)
спасибо
#2 Ответ от Владимир Громов 9 ноября 2007г. 12:50:39
- Владимир Громов
- Активный участник
- На форуме с 10 июля 2004г.
- Сообщений: 8,349
- Спасибо: 4
Re: ошибка: настройка переменной AutoCAD была отвергнута 2
В реестре.
#3 Ответ от Natik 12 ноября 2007г. 06:19:29
- Natik
- Восстановленный участник
- На форуме с 1 октября 2007г.
- Сообщений: 104
- Спасибо: 0
Re: ошибка: настройка переменной AutoCAD была отвергнута 2
ммм….я понимаю, что в реестре, тогда как мне изменить эти пути программно, т.е. в LISPе?
Спасибо.
#4 Ответ от kpblc 12 ноября 2007г. 08:17:05
- kpblc
- Активный участник
- Откуда: С.-Петербург
- На форуме с 29 ноября 2004г.
- Сообщений: 8,348
- Спасибо: 23
Re: ошибка: настройка переменной AutoCAD была отвергнута 2
(vl-registry-read) на пару с (vl-registry-write)
#5 Ответ от Alan 12 ноября 2007г. 10:13:00
- Alan
- Активный участник
- Откуда: Украина / Киев
- На форуме с 2 апреля 2002г.
- Сообщений: 1,345
- Спасибо: 15
Re: ошибка: настройка переменной AutoCAD была отвергнута 2
> Natik
Попробуйте посмотреть
Сервис-Настройка-Путь к вспомогательным файлам печати
И проверьте заданные там значения.
#6 Ответ от Vovka 12 ноября 2007г. 11:02:34
- Vovka
- Восстановленный участник
- На форуме с 21 января 2007г.
- Сообщений: 328
- Спасибо: 0
Re: ошибка: настройка переменной AutoCAD была отвергнута 2
получить пути
(vl-load-com) (defun Test (Path / FilesObj) (setq FilesObj (vla-get-Files (vla-get-Preferences (vlax-get-acad-object)))) (list (vla-get-PrintSpoolerPath FilesObj) (vla-get-PrinterConfigPath FilesObj) (vla-get-PrinterDescPath FilesObj) (car (list (vla-get-PrinterStyleSheetPath FilesObj) (vlax-release-object FilesObj) ) ) ) )
ну а что би изменить вместо get — put
#7 Ответ от Natik 13 ноября 2007г. 12:38:21
- Natik
- Восстановленный участник
- На форуме с 1 октября 2007г.
- Сообщений: 104
- Спасибо: 0
Re: ошибка: настройка переменной AutoCAD была отвергнута 2
> Кулик Алексей aka kpblc
> Vovka
спасибо! посмотрю..сейчас пробую настроить свой профиль и тогда после установки его ставить….опять же, получается одно лишнее действие..
> Alan
смотреть их — не помогает, надо их ставить свои.
#8 Ответ от Natik 13 ноября 2007г. 13:19:42
- Natik
- Восстановленный участник
- На форуме с 1 октября 2007г.
- Сообщений: 104
- Спасибо: 0
Re: ошибка: настройка переменной AutoCAD была отвергнута 2
и все -таки я замучилась с этими путями, вот в с профилем идея уже кажется лучше, потому что пути на каждом компьютере будут отличаться хотя бы пользователем…как же я сразу не подумала…и задать их мне кажется уже нереальным, как вы думаете?? сейчас я вручную прописала эти три пути, которые не рабочие, в нужной версии развертки и экспортировала этот профиль, т.е. сохранила файл arg. И сейчас возникла проблема: как этот профиль установить по умолчанию????
спасибо заранее.
#9 Ответ от Natik 13 ноября 2007г. 13:32:09
- Natik
- Восстановленный участник
- На форуме с 1 октября 2007г.
- Сообщений: 104
- Спасибо: 0
Re: ошибка: настройка переменной AutoCAD была отвергнута 2
cprofile только для чтения.
что делать?
#10 Ответ от Alan 13 ноября 2007г. 13:51:39
- Alan
- Активный участник
- Откуда: Украина / Киев
- На форуме с 2 апреля 2002г.
- Сообщений: 1,345
- Спасибо: 15
Re: ошибка: настройка переменной AutoCAD была отвергнута 2
Natik пишет:
И сейчас возникла проблема: как этот профиль установить по умолчанию????
Самый простой способ в ярлыке (у меня профиль и темплет):
«D:Program FilesAutoCAD 2006acad.exe» /p «D:Program FilesПАРКС2006parks2006.arg» /t «D:Program FilesПАРКС2006acad-par.dwt»
или программно для той же программы:
«D:Program FilesПАРКС2006Starter.exe»
Программный выбор профиля на форуме был
#11 Ответ от Vovka 14 ноября 2007г. 01:08:05
- Vovka
- Восстановленный участник
- На форуме с 21 января 2007г.
- Сообщений: 328
- Спасибо: 0
Re: ошибка: настройка переменной AutoCAD была отвергнута 2
путь к профилю пользователя Windows можно узнать с помощью (getenv «USERPROFILE»)
#12 Ответ от Natik 14 ноября 2007г. 06:37:40
- Natik
- Восстановленный участник
- На форуме с 1 октября 2007г.
- Сообщений: 104
- Спасибо: 0
Re: ошибка: настройка переменной AutoCAD была отвергнута 2
> Alan
я честно не нашла на форуме, может вы помните где или ссылочка есть?….ну и не менять же мне свойства ярлыка вручную на каждом компе….я же говорю, мне надо это все дело автоматизировать, уже почти все готово и только пути к файлам печати нерабочие!! их там всего три…мне нужно что-нибудь такое, чтобы записать код в acaddoc и acad и чтобы все автоматически ставилось, что надо.
> Vovka
ок, спасибо, сейчас посмотрю, я полагаю, что утановить — setenv….если что еще напишу))
#13 Ответ от Natik 14 ноября 2007г. 08:20:44
- Natik
- Восстановленный участник
- На форуме с 1 октября 2007г.
- Сообщений: 104
- Спасибо: 0
Re: ошибка: настройка переменной AutoCAD была отвергнута 2
ничего не могу придумать…может быть еще что-нибудь можно сделать?
#14 Ответ от kpblc 14 ноября 2007г. 08:27:19
- kpblc
- Активный участник
- Откуда: С.-Петербург
- На форуме с 29 ноября 2004г.
- Сообщений: 8,348
- Спасибо: 23
Re: ошибка: настройка переменной AutoCAD была отвергнута 2
Если втупупю:
(defun set-paths (lst / files) ;| * Установка путей поддержки плоттеров * Параметры вызова: lst список вида: '(("spool" . <Printer spooler file location>) ; nil -> Использовать ; каталог temp ("config" . <Printer config search path>) ; nil -> ; (vl-registry-read (strcat "HKEY_LOCAL_MACHINE" (vlax-product-key)"aeccabinetdirectories")"NIWPLOTTERS") ("style" . <Printer style sheet path>) ; nil -> ; (vl-registry-read (strcat "HKEY_LOCAL_MACHINE" (vlax-product-key)"aeccabinetdirectories")"NIWPLOTSTYLES") |; (vl-load-com) (setq files (vla-get-files (vla-get-preferences (vlax-get-acad-object)))) (vl-catch-all-apply '(lambda () (vla-put-printspoolerpath files (cond ((cdr (assoc "spool" lst))) (t (vla-get-tempfilepath files)) ) ;_ end of cond ) ;_ end of vla-put-printspoolerpath ) ;_ end of lambda ) ;_ end of vl-catch-all-apply (vl-catch-all-apply '(lambda () (vla-put-printerconfigpath files (cond ((cdr (assoc "config" lst))) (t (vl-registry-read (strcat "HKEY_LOCAL_MACHINE" (vlax-product-key) "aeccabinetdirectories" ) ;_ end of strcat "NIWPLOTTERS" ) ;_ end of vl-registry-read ) ) ;_ end of cond ) ;_ end of vla-put-PrinterConfigPath ) ;_ end of lambda ) ;_ end of vl-catch-all-apply (vl-catch-all-apply '(lambda () (vla-put-printerstylesheetpath files (cond ((cdr (assoc "style" lst))) (t (vl-registry-read (strcat "HKEY_LOCAL_MACHINE" (vlax-product-key) "aeccabinetdirectories" ) ;_ end of strcat "NIWPLOTSTYLES" ) ;_ end of vl-registry-read ) ) ;_ end of cond ) ;_ end of vla-put-PrinterStyleSheetPath ) ;_ end of lambda ) ;_ end of vl-catch-all-apply ) ;_ end of defun
Ногами прошу не бить за корявость кода
#15 Ответ от kpblc 14 ноября 2007г. 08:28:52
- kpblc
- Активный участник
- Откуда: С.-Петербург
- На форуме с 29 ноября 2004г.
- Сообщений: 8,348
- Спасибо: 23
Re: ошибка: настройка переменной AutoCAD была отвергнута 2
P.S. Примеры вызова:
(set-paths '(("spool" . "c:printer") ("config" . "c:printerconfig") ("style" . "c:printerstyle")))
#16 Ответ от Natik 14 ноября 2007г. 08:50:56
- Natik
- Восстановленный участник
- На форуме с 1 октября 2007г.
- Сообщений: 104
- Спасибо: 0
Re: ошибка: настройка переменной AutoCAD была отвергнута 2
….я туплю…но не пойму, какие пути тут устанавливаются?…кажется у меня в автокаде ничего не произошло…
#17 Ответ от Natik 14 ноября 2007г. 09:00:26
- Natik
- Восстановленный участник
- На форуме с 1 октября 2007г.
- Сообщений: 104
- Спасибо: 0
Re: ошибка: настройка переменной AutoCAD была отвергнута 2
> Кулик Алексей aka kpblc
сейчас я спрошу очень глупый вопрос, )) а где вызывать эту функцию и куда ее сохранить, чтоб все работало?
#18 Ответ от Natik 14 ноября 2007г. 09:03:11
- Natik
- Восстановленный участник
- На форуме с 1 октября 2007г.
- Сообщений: 104
- Спасибо: 0
Re: ошибка: настройка переменной AutoCAD была отвергнута 2
> Кулик Алексей aka kpblc
а еще…вот ..в каждом компе свои пути будут…как это учесть? я же не смогу вызвать эту ф-цию с конкретными путями, потому что в другом месте они будут другие, так?
#19 Ответ от Natik 14 ноября 2007г. 09:11:24
- Natik
- Восстановленный участник
- На форуме с 1 октября 2007г.
- Сообщений: 104
- Спасибо: 0
Re: ошибка: настройка переменной AutoCAD была отвергнута 2
а может тогда так:
(setq rrrr (getenv «USERPROFILE»))
(set-paths ‘((«spool» . «vl-symbol-value ‘rrrr»)))
-это неправильно конечно, нужно как-то установить путь так, чтобы там профиль, который мы получили, был + plot styles к примеру….
но здесь точечная пара и как чтобы полученная строка туда вставлялась?….
#20 Ответ от kpblc 14 ноября 2007г. 09:28:23
- kpblc
- Активный участник
- Откуда: С.-Петербург
- На форуме с 29 ноября 2004г.
- Сообщений: 8,348
- Спасибо: 23
Re: ошибка: настройка переменной AutoCAD была отвергнута 2
Я не очень понимаю, потому что обычно плоттеры устанавливаются в %AllUsers%, а не в текущего пользователя.
#21 Ответ от Владимир Громов 14 ноября 2007г. 10:15:20
- Владимир Громов
- Активный участник
- На форуме с 10 июля 2004г.
- Сообщений: 8,349
- Спасибо: 4
Re: ошибка: настройка переменной AutoCAD была отвергнута 2
Все это бесполезно.
#22 Ответ от kpblc 14 ноября 2007г. 10:31:34
- kpblc
- Активный участник
- Откуда: С.-Петербург
- На форуме с 29 ноября 2004г.
- Сообщений: 8,348
- Спасибо: 23
Re: ошибка: настройка переменной AutoCAD была отвергнута 2
Я понял, почему может не сработать мой код — в «чистом» каде ветки реестра могут быть другими. Я-то проверял на ADT…
#23 Ответ от Alan 14 ноября 2007г. 10:53:38
- Alan
- Активный участник
- Откуда: Украина / Киев
- На форуме с 2 апреля 2002г.
- Сообщений: 1,345
- Спасибо: 15
Re: ошибка: настройка переменной AutoCAD была отвергнута 2
> Natik
Вернемся к самому началу. Какая версия Автокада?
Ставился под Админом, работает под Пользователем?
У меня ИМХО чёткое мнение: Автокад поставлен криво. До ЛИСПа далеко.
Не хотите в форум, пишите на почту. А где вы обитаете (город)?
#24 Ответ от Natik 15 ноября 2007г. 06:20:41
- Natik
- Восстановленный участник
- На форуме с 1 октября 2007г.
- Сообщений: 104
- Спасибо: 0
Re: ошибка: настройка переменной AutoCAD была отвергнута 2
> Кулик Алексей aka kpblc
да, они у меня и у всех из моей развертки в AllUsers, но так почему-то они не работают, а когда я меняю на текущего пользователя — работают, просто папок в AllUsers для плоттеров нету…не знаю почему так получается, может мне как-нибудь эти папки туда добавить?
#25 Ответ от Natik 15 ноября 2007г. 06:21:42
- Natik
- Восстановленный участник
- На форуме с 1 октября 2007г.
- Сообщений: 104
- Спасибо: 0
Re: ошибка: настройка переменной AutoCAD была отвергнута 2
> Alan
ну что Вы такое говорите!!! Я сама АДМИН своего компа, мне дольше объяснять Вам будет зачем все это…
Страницы 1 2 Далее
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Im receiving the above referenced error on a lisp routine, which up until now, I have never experienced. Its a routine to insert doors into a drawing. The routine previously allowed doors to be inserted on any layer named *-wndr. (see attached pic of dialog box generated by the lisp, note the message at the top of the dialog box regarding «*-WNDR» layer) It will now only insert on «0-wndr» layer. If I go in the code and rename «wndr» (toward the bottom of the script) the same error comes up with the new layer name I assign it, essentially looking for the ‘0″. I don’t know what changed (I did not make any edits to the routine). Here is the code.
Thank you in advance.
;===================================================================================;
; Error Handler Function ;
;===================================================================================;
(defun drerr (errormsg) ; If an error (such as CTRL-C) occurs
; while this command is active…
(if (/= errormsg «bad argument type: lselsetp nil»)
(alert (strcat «nError: » errormsg))
(alert «Error: Failure in wall/point selections.»)
)
(setvar «osmode» orOSMODE)
(setvar «pickbox» orPICKBOX)
(setvar «aperture» orAPERTURE)
(setvar «cecolor» curCOLOR)
(command «undo» «end»)
(princ)
(setq *error* olderr) ; restore old *error* handler
(princ)
)
;===================================================================================;
; Main Program ;
;===================================================================================;
(defun c:dr (/
dcl_id
what_next
)
(setq dcl_id (load_dialog «dr.dcl»))
(new_dialog «dr» dcl_id)
(action_tile «H» «(progn (mode_tile «OFFCORN» 0)(setq insert «h»)(set_tile «C» «0»))»)
(action_tile «C» «(progn (mode_tile «OFFCORN» 1)(setq insert «c»)(set_tile «H» «0»))»)
;(action_tile «OFFCORN» «(if (not (numberp offcorn))(progn(set_tile «error» «Must be a real number > 0.»)(mode_tile «OFFCORN» 2)))»)
(action_tile «DRSIZE» «(setq drsize (atof (get_tile «DRSIZE»)))»)
;(action_tile «LEAFANGLE» «(setq leafangle (get_tile «LEAFANGLE»))»)
(action_tile «LEAFANGLE» «(progn (setq leafangle (get_tile «LEAFANGLE»))(set_tile «slider_value» leafangle))»)
(action_tile «pickpoints» «(done_dialog 4)»)
(if (null doortype)(progn (set_tile «S» «1»)(setq doortype «s»)))
(if (null insert)(progn (set_tile «H» «1»)(setq insert «h»)))
(if (not (null offcorn))(set_tile «OFFCORN» (rtos offcorn))(progn(set_tile «OFFCORN» «6»)(setq offcorn 6)))
(if (not (null drsize))(set_tile «DRSIZE» (rtos drsize))(progn(set_tile «DRSIZE» «30»)(setq drsize 30)))
;(if (null leafangle)(setq leafangle»45″))
(if (not (null leafangle))(set_tile «LEAFANGLE» leafangle)(setq leafangle»45″))
(set_tile «slider_value» leafangle)
(if (= doortype «d»)(set_tile «D» «1»)(set_tile «S» «1»))
(if (= insert «c»)(progn (set_tile «C» «1»)(set_tile «H» «0»)(mode_tile «OFFCORN» 1)))
(if (= insert «h»)(progn (set_tile «H» «1»)(mode_tile «OFFCORN» 0)(set_tile «C» «0»)))
(if (and (= insert «h»)(null offcorn))(mode_tile «OFFCORN» 2))
(setq what_next (start_dialog))
(cond
((= what_next 4)
(getpnts)
)
((= what_next 0)
(prompt «nuser cancelled dialog»)
)
)
(unload_dialog dcl_id)
)
(defun getpnts (/ StartPt DirPt Ang oppo hypo
wallthickness HP1 HP2 LP1
wall_lay Tsset Tline2 Trm1 Trm2 Cpoint Hpt
ANG2 layprefix door_lay blockname mirror
xscale curCOLOR in_ang l Ang
)
(setq olderr *error* *error* drerr)
(setvar «cmdecho» 0)
(command «undo» «begin»)
; save system variables ;
(setq orAPERTURE (getvar «aperture»)
orPICKBOX (getvar «pickbox»)
orOSMODE (getvar «osmode»)
curLAYER (getvar «clayer»)
curCOLOR (getvar «cecolor»)
)
; get door points and angles ;
(if (= insert «h»)
(progn
(setvar «osmode» 33)
(setq StartPt (getpoint «nPick corner closest to the hinge: «))
(setvar «osmode» 512)
(setq DirPt (getpoint «nPick a point on wall toward latch: «))
(setq oppo (getpoint «nPick a point on wall face opposite the hinge/latch:»))
(setq Ang (angle StartPt DirPt)
Ang2 (angle StartPt oppo)
Hypo (distance StartPt oppo)
HP1 (polar StartPt Ang offcorn)
LP1 (polar HP1 Ang drsize)
))
(progn
(setvar «osmode» orOSMODE)
(setq Cpoint (getpoint «nPick the center point of opening on hinge/latch face of wall:»))
(setvar «osmode» 33)
(setq HPt (getpoint «nPick a point close to either hinge: «))
(setvar «osmode» 512)
(setq oppo (getpoint «nPick a point on wall face opposite the hinges:»))
(setq Ang (angle HPt Cpoint)
Ang2 (angle HPt oppo)
Hypo (distance HPt oppo)
HP1 (polar Cpoint (+ Ang pi)(/ drsize 2))
LP1 (polar HP1 Ang drsize)
)
)
)
(if (or(< Ang2 Ang)(and (< Ang (/ pi 2))(> Ang2 (* (/ 3 2) pi))))
(setq perpAng (- Ang (/ pi 2)) mirror 1))
(if (or(> Ang2 Ang)(and(< Ang2 (/ pi 2))(> Ang (* (/ 3 2) pi))))
(setq perpAng (+ Ang (/ pi 2)) mirror (- 0 1)))
(setq wallthickness (* hypo (sin (abs (- Ang Ang2)))))
; create opening points ;
; (setq HP1 (polar StartPt Ang offcorn)
; LP1 (polar HP1 Ang drsize)
;
; )
; draw and trim the opening ;
(setq sswall (ssget oppo))
(setq wall_lay (cdr (assoc 8 (entget (ssname sswall 0)))))
(setvar «clayer» wall_lay)
(setvar «pickbox» 1)
(setvar «aperture» 1)
(command «color» «bylayer»)
(command «line» HP1 «per» oppo «»)
(setq Tsset (ssget «L»))
(command «line» LP1 «per» oppo «»)
(setq Tline2 (entlast))
(ssadd Tline2 Tsset)
(setq Trm1 (polar HP1 Ang (/ drsize 2)))
(setq Trm2 (polar Trm1 perpAng wallthickness))
(command «trim» Tsset «f» «» Trm1 Trm2 «»)
; insert the door block ;
(setq layprefix (substr wall_lay 1 1))
(setq door_lay (strcat layprefix «-wndr»))
(setvar «clayer» door_lay)
(command «color» «10»)
(if (= doortype «s»)
(setq blockname (strcat «dr-» leafangle))
(setq blockname (strcat «2dr-» leafangle))
)
(setq xscale (* mirror drsize))
(if (= mirror -1)
(setq in_ang (+ Ang pi))
(setq in_ang Ang)
)
(setq in_ang (atof (angtos in_ang 0 4)))
(command «-insert» blockname HP1 xscale drsize in_ang)
; release selection set memory ;
(setq Tsset nil
sswall nil
Tline2 nil
)
; reset system variables ;
(setvar «osmode» orOSMODE)
(setvar «pickbox» orPICKBOX)
(setvar «aperture» orAPERTURE)
(setvar «clayer» curlayer)
(setvar «cecolor» curCOLOR)
(command «undo» «end»)
(princ)
) ;end defun
Добро пожаловать!
Войдите или зарегистрируйтесь сейчас!
Войти
- Обзoр
- Обновления (6)
- Рецензии (11)
- История версий
- Обсуждение
Страница 5 из 5
-
Форумчанин
- Регистрация:
- 16 июл 2007
- Сообщения:
- 2.330
- Симпатии:
- 175
- Адрес:
-
Беларусь
А что значит «по вашему желанию»?)__Ну типа кушайте что дают
#81
-
Форумчанин
- Регистрация:
- 16 июл 2007
- Сообщения:
- 2.330
- Симпатии:
- 175
- Адрес:
-
Беларусь
Alexandr-GR, в догонку — нумерация вершин и их координаты и все это на выноску через функцию отображать или нет (птичка)
#82
-
- Регистрация:
- 27 фев 2019
- Сообщения:
- 2
- Симпатии:
- 1
В 64bit AutoCad 2017 выдает следующую ошибку при выборе Polyline
Command: APPLOAD
DR-PK-ROAD_2_4.VLX successfully loaded.Command:
Запуск: _DRPK
Command:
Command: DRPK
Укажите трассу:
ERROR — QP:GET-ROUTE-PARAMETERS: no function definition: VLAX-ENAME->VLA-OBJECT
Command:#83
-
Форумчанин
-
- Регистрация:
- 27 фев 2019
- Сообщения:
- 2
- Симпатии:
- 1
Подвела чистка реестра RevoUninstaller пришлось восстанавливать пути
[HKEY_LOCAL_MACHINESOFTWAREClassesTypeLib {a4081f53-974E-479E-A26E-E6DE9A5B2489}][HKEY_LOCAL_MACHINESOFTWAREClassesTypeLib {a4081f53-974E-479E-A26E-e6de9a5b2489}1.0]
@=»Visual Lisp ActiveX module»[HKEY_LOCAL_MACHINESOFTWAREClassesTypeLib {a4081f53-974E-479E-A26E-E6DE9A5B2489}1.0]
[HKEY_LOCAL_MACHINESOFTWAREClassestypelib{a4081f53-974E-479E-A26E-e6de9a5b2489}1.0 win32]
@=»C:Program файлы Autodesk AutoCAD 2017 vl16.tlb»и сразу все заработало.
#85
-
- Регистрация:
- 13 мар 2013
- Сообщения:
- 12
- Симпатии:
- 0
Alexandr-GR, помогите, пожалуйста! прога перестала работать((( выдает ошибку ERROR — GR-MAKE-BLOCK: Настройка переменной AutoCAD отвергнута: CLAYER «0»
Помогите, пожалуйста с ней разобраться! заранее спасибо!#86
-
Форумчанин
zhivchic, прикрепите сам файл gwg здесь или в личной переписке, как буду у компьютера, посмотрю.
#87
-
Форумчанин
- Регистрация:
- 22 мар 2018
- Сообщения:
- 50
- Симпатии:
- 102
подскажите а как округлить значение пикетов угла поворота додесятых
#88
-
- Регистрация:
- 24 дек 2013
- Сообщения:
- 3
- Симпатии:
- 0
Скажите пож-ста, как запустить пограмму, т.е. через управление я ее «загрузить приложение» — загрузил, что дальше, мож сущ какая то команда, спс.
#89
-
- Регистрация:
- 24 дек 2013
- Сообщения:
- 3
- Симпатии:
- 0
Спс, получилось через создание кнопки и макрос.
Скажите пож-ста, существует ли возможность запуска процедуры построения профилей какой нибудь командой с командной строки (после загрузки приложения через панель Управления), для случая нерегулярного использования. СПс#90
-
Форумчанин
Страница 5 из 5
Поделиться этой страницей
Перейти к контенту
Перейти к содержимому раздела
Форумы CADUser
Информационный портал для профессионалов в области САПР
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Дерево сообщений Активные темы Темы без ответов
Форумы CADUser → Autodesk → AutoCAD → Ошибка: «AutoCAD menu utilities loaded.; error: bad argument type: lselsetp nil»
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
#1 16 октября 2003г. 16:34:28
- Апельсинов
- Восстановленный участник
- На форуме с 19 марта 2003г.
- Сообщений: 83
- Спасибо: 0
Тема: Ошибка: «AutoCAD menu utilities loaded.; error: bad argument type: lselsetp nil»
При запуске Акада (2002) и при открытии файла, в командной строке появляется сообщение:
AutoCAD menu utilities loaded.; error: bad argument type: lselsetp nil
В чем дело? Может кто нибудь знает?
См. также https://www.caduser.ru/forum/topic6362.html
Костя (2003-10-16 15:02:42)
#2 Ответ от Эдуард Смолянка 16 октября 2003г. 16:49:39
- Эдуард Смолянка
- Восстановленный участник
- На форуме с 23 апреля 2003г.
- Сообщений: 795
- Спасибо: 0
Re: Ошибка: «AutoCAD menu utilities loaded.; error: bad argument type: lselsetp nil»
> Апельсинов
Скорее всего это ошибка в Лиспе загрузку которого вы прописали в acaddoc.lsp
#3 Ответ от Апельсинов 16 октября 2003г. 17:24:13
- Апельсинов
- Восстановленный участник
- На форуме с 19 марта 2003г.
- Сообщений: 83
- Спасибо: 0
Re: Ошибка: «AutoCAD menu utilities loaded.; error: bad argument type: lselsetp nil»
И правда, только, по своей отсталости, Мы прописали ее в acad.mnl.
А как Вы догадались? Вы наверное даже знаете что там за ошибка? Мы были бы Вам очень признательны, если бы Вы Нам написали что в той программке Нам нужно исправить, чтобы Нам больше не появлялось сообщение об ошибке в Нашей командной строке Нашего Автокада. Для Вас, с Вашими возможностями, и Вашей проницательностью, Мы думаем, это не составит труда.
А так-же, Мы надеемся, что Вы разъясните Нам конкретные причины появления досадной ошибки, дабы впоследующем избежать Вам Наших вопросов по данной теме.
#4 Ответ от Геннадий aka PG 16 октября 2003г. 17:32:01
- Геннадий aka PG
- Восстановленный участник
- На форуме с 4 апреля 2002г.
- Сообщений: 1,348
- Спасибо: 0
Re: Ошибка: «AutoCAD menu utilities loaded.; error: bad argument type: lselsetp nil»
> Апельсинов
Ну после таких слов Эдуард должен, просто обязан помочь
#5 Ответ от Эдуард Смолянка 16 октября 2003г. 22:10:53
- Эдуард Смолянка
- Восстановленный участник
- На форуме с 23 апреля 2003г.
- Сообщений: 795
- Спасибо: 0
Re: Ошибка: «AutoCAD menu utilities loaded.; error: bad argument type: lselsetp nil»
> Апельсинов
Похоже это или иностранный флейм или
обычное русское хамство.
#6 Ответ от kos 17 октября 2003г. 09:30:50
- kos
- Восстановленный участник
- На форуме с 6 марта 2002г.
- Сообщений: 637
- Спасибо: 0
Re: Ошибка: «AutoCAD menu utilities loaded.; error: bad argument type: lselsetp nil»
> Апельсинов
error: bad argument type: lselsetp nil
Эта ошибка возникает из-за того, что в Вашем .mnl производится какое-то действие с набором примитивов, а самого набора ка раз и нет (nil).
______________
Удачи.
#7 Ответ от Апельсинов 17 октября 2003г. 11:16:33
- Апельсинов
- Восстановленный участник
- На форуме с 19 марта 2003г.
- Сообщений: 83
- Спасибо: 0
Re: Ошибка: «AutoCAD menu utilities loaded.; error: bad argument type: lselsetp nil»
> Эдуард
Вот те раз! Да где же хамство?!
Просьба это слезная, проявить родительские чуства к детищу своему, такие фортеля выкидывающему. Имя то ему xref2.lsp, не бросайте ребеночка, шалит.
#8 Ответ от DMS 7 апреля 2004г. 13:10:39
- DMS
- Восстановленный участник
- На форуме с 9 августа 2002г.
- Сообщений: 477
- Спасибо: 0
Re: Ошибка: «AutoCAD menu utilities loaded.; error: bad argument type: lselsetp nil»
> kos
Сегодня столкнулся с этой байдой
bad argument type: lselsetp nil
и нашёл причину!
Возникает при работе с набором примитивов невидимых на экране, находящихся где-либо в стороне, помогло
Сообщения 8
Тему читают: 1 гость
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Форумы CADUser → Autodesk → AutoCAD → Ошибка: «AutoCAD menu utilities loaded.; error: bad argument type: lselsetp nil»
Вопрос:
В настоящее время я пытаюсь запустить полилинию между двумя блоками (first_block, second_block), которая проходит вдоль другой полилинии, в конце действия вызывается функция вставки, которая заполняет блок аннотаций (cable_name_tag) деталями начального и конечного блоков,
Эта полилиния будет транслировать другие блоки и часто должна запускаться в параллеле с базовой полилинией (cable_ducting), поэтому пользователю потребуется опция для выбора соответствующей части полилинии, чтобы удалить аннотацию, поскольку пространство иногда ограничено.
Я заметил, что если я прокомментирую second_block и предоставил кодированное значение, функция ssget работает без проблем, поэтому я уверен, что проблема связана либо с синтаксисом, либо с обработкой first_block и second_block в этом коде.
(defun c:cable ()
(vl-load-com)
(setvar "clayer" "cable layer")
(setvar "celtype" "bylayer")
(setvar "osmode" 515)
(command "_.pline"
(getpoint))
(while (> (getvar ' cmdactive) 0)
(command pause)
(princ "npress enter to finish:"))
(setq elst
(entsel "nselect cable segment: "))
(setq ename
(car elst))
(setq pt
(cadr elst))
(setq annopt pt)
(setq pt
(vlax-curve-getclosestpointto ename pt))
(setq param
(vlax-curve-getparamatpoint ename pt))
(setq preparam
(fix param))
(setq postparam
(1+ preparam))
(list (setq pt1
(vlax-curve-getpointatparam ename preparam))
(setq pt2
(vlax-curve-getpointatparam ename postparam)))
(setq cable
(entlast))
(setq cable_start
(vlax-curve-getstartparam cable))
(setq cable_start_point
(vlax-curve-getstartpoint cable))
(setq cable_end_point
(vlax-curve-getendpoint cable))
(setq cable_end
(angtos (angle '(0 0)
(vlax-curve-getfirstderiv cable 0.0))))
(setq first_block
(ssget "_c" cable_start_point cable_end_point
(list (cons 0 "insert")
(cons 2 "first_block"))))
(setq second_block
(ssget "_c" cable_start_point cable_end_point
(list (cons 0 "insert")
(cons 2 "second_block"))))
(setq end_cable
(ssname second_block 0))
(setq start_cable
(ssname first_block 0))
(setq $end_cable
(vla-get-textstring
(cadr (vlax-safearray->list
(variant-value
(vla-getattributes
(vlax-ename->vla-object end_cable)))))))
(setq $start_cable
(vla-get-textstring
(cadr (vlax-safearray->list
(variant-value
(vla-getattributes
(vlax-ename->vla-object start_cable)))))))
(setq cable_name
(vlax-curve-getendparam cable))
(command ; insert cable param
"-insert"
"cable_name_tag"
annopt
"1"
"1"
cable_angle
cable_name
$start_cable
$end_cable
"144"
cable_length))
Я застрял в углу на этом, и буду признателен за любую помощь, советы или указатели, которые может предложить любой.
Спасибо всем за ваше время.
Ответ №1
Почему бы просто не использовать (entlast)
для получения только что созданного объекта?
Добро пожаловать!
Войдите или зарегистрируйтесь сейчас!
Войти
Geo_Export (AutoCAD 2010)
Тема в разделе «Общие вопросы», создана пользователем Стас Пушкин, 30 окт 2015.
-
- Регистрация:
- 28 окт 2015
- Сообщения:
- 10
- Симпатии:
- 2
Всем привет ! Такая вот проблема.
Хотелось в атокаде экспортировать точки в блокнот.
Программу загрузил,при показываний образца пишет «ошибка: неверный тип аргумента: lselsetp nil «Все мои координаты находятся в разделе (Лист 1 ) а при переходе на( модель),я пробую начертить линию,вызываю гео экспорт и программа работает,выбирает линию.
Как заставить ее чтоб она работала в разделе Лист 1 ???#1
Стас Пушкин,
30 окт 2015
-
Форумчанин
- Регистрация:
- 22 май 2011
- Сообщения:
- 4.029
- Симпатии:
- 3.879
- Адрес:
-
Екатеринбург
О_О О_О О_О
сорян, но с таким еще не сталкивался… в разлеле Лист ж… там жеж… миллиметры пространства печати… Или вы именно в пространстве листа умудрятесь ПСК создавать? Зачем?! о_О#2
АлексейМанс,
30 окт 2015
-
Форумчанин
- Регистрация:
- 26 июн 2013
- Сообщения:
- 2.249
- Симпатии:
- 3.319
- Адрес:
-
Окраины Нерезиновска на немцеопасном направлении
Тут явное незнание Autocad.
Все лиспы по работе с координатами и геометрией работают только в модели.
С листами разве что только заточенные на оформление.#3
-=13=-,
30 окт 2015
hp_pro и АлексейМанс нравится это.
-
- Регистрация:
- 28 окт 2015
- Сообщения:
- 10
- Симпатии:
- 2
У нас на работе все координаты созданы в разделе Лист..
Не знай почему не в модели…#4
Стас Пушкин,
30 окт 2015
(Вы должны войти или зарегистрироваться, чтобы ответить.)
Показать игнорируемое содержимое
Поделиться этой страницей
- Войти через Google
- Log in with VK
- Ваше имя или e-mail:
- У Вас уже есть учётная запись?
-
- Нет, зарегистрироваться сейчас.
- Да, мой пароль:
-
Забыли пароль?
-
Запомнить меня
-
Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
Accept
Узнать больше.Скрыть объявление
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
Сейчас Вы — Гость на форумах «Проектант». Гости не могут писать сообщения и создавать новые темы.
Преодолейте несложную формальность — зарегистрируйтесь! И у Вас появится много больше возможностей на форумах «Проектант».
Последние сообщения на форуме «Программы для проектирования»
10 Апреля 2023 года, 13:50
07 Апреля 2023 года, 19:31
30 Марта 2023 года, 07:16
28 Февраля 2023 года, 11:16
21 Февраля 2023 года, 19:13
19 Февраля 2023 года, 16:22
09 Февраля 2023 года, 15:24
09 Февраля 2023 года, 14:46
09 Февраля 2023 года, 14:08
08 Февраля 2023 года, 12:22
Перейти к контенту
Перейти к содержимому раздела
Форумы CADUser
Информационный портал для профессионалов в области САПР
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Дерево сообщений Активные темы Темы без ответов
Форумы CADUser → Autodesk → AutoCAD → Ошибка: «AutoCAD menu utilities loaded.; error: bad argument type: lselsetp nil»
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
#1 16 октября 2003г. 16:34:28
- Апельсинов
- Восстановленный участник
- На форуме с 19 марта 2003г.
- Сообщений: 83
- Спасибо: 0
Тема: Ошибка: «AutoCAD menu utilities loaded.; error: bad argument type: lselsetp nil»
При запуске Акада (2002) и при открытии файла, в командной строке появляется сообщение:
AutoCAD menu utilities loaded.; error: bad argument type: lselsetp nil
В чем дело? Может кто нибудь знает?
См. также https://www.caduser.ru/forum/topic6362.html
Костя (2003-10-16 15:02:42)
#2 Ответ от Эдуард Смолянка 16 октября 2003г. 16:49:39
- Эдуард Смолянка
- Восстановленный участник
- На форуме с 23 апреля 2003г.
- Сообщений: 795
- Спасибо: 0
Re: Ошибка: «AutoCAD menu utilities loaded.; error: bad argument type: lselsetp nil»
> Апельсинов
Скорее всего это ошибка в Лиспе загрузку которого вы прописали в acaddoc.lsp
#3 Ответ от Апельсинов 16 октября 2003г. 17:24:13
- Апельсинов
- Восстановленный участник
- На форуме с 19 марта 2003г.
- Сообщений: 83
- Спасибо: 0
Re: Ошибка: «AutoCAD menu utilities loaded.; error: bad argument type: lselsetp nil»
И правда, только, по своей отсталости, Мы прописали ее в acad.mnl.
А как Вы догадались? Вы наверное даже знаете что там за ошибка? Мы были бы Вам очень признательны, если бы Вы Нам написали что в той программке Нам нужно исправить, чтобы Нам больше не появлялось сообщение об ошибке в Нашей командной строке Нашего Автокада. Для Вас, с Вашими возможностями, и Вашей проницательностью, Мы думаем, это не составит труда.
А так-же, Мы надеемся, что Вы разъясните Нам конкретные причины появления досадной ошибки, дабы впоследующем избежать Вам Наших вопросов по данной теме.
#4 Ответ от Геннадий aka PG 16 октября 2003г. 17:32:01
- Геннадий aka PG
- Восстановленный участник
- На форуме с 4 апреля 2002г.
- Сообщений: 1,348
- Спасибо: 0
Re: Ошибка: «AutoCAD menu utilities loaded.; error: bad argument type: lselsetp nil»
> Апельсинов
Ну после таких слов Эдуард должен, просто обязан помочь
#5 Ответ от Эдуард Смолянка 16 октября 2003г. 22:10:53
- Эдуард Смолянка
- Восстановленный участник
- На форуме с 23 апреля 2003г.
- Сообщений: 795
- Спасибо: 0
Re: Ошибка: «AutoCAD menu utilities loaded.; error: bad argument type: lselsetp nil»
> Апельсинов
Похоже это или иностранный флейм или
обычное русское хамство.
#6 Ответ от kos 17 октября 2003г. 09:30:50
- kos
- Восстановленный участник
- На форуме с 6 марта 2002г.
- Сообщений: 637
- Спасибо: 0
Re: Ошибка: «AutoCAD menu utilities loaded.; error: bad argument type: lselsetp nil»
> Апельсинов
error: bad argument type: lselsetp nil
Эта ошибка возникает из-за того, что в Вашем .mnl производится какое-то действие с набором примитивов, а самого набора ка раз и нет (nil).
______________
Удачи.
#7 Ответ от Апельсинов 17 октября 2003г. 11:16:33
- Апельсинов
- Восстановленный участник
- На форуме с 19 марта 2003г.
- Сообщений: 83
- Спасибо: 0
Re: Ошибка: «AutoCAD menu utilities loaded.; error: bad argument type: lselsetp nil»
> Эдуард
Вот те раз! Да где же хамство?!
Просьба это слезная, проявить родительские чуства к детищу своему, такие фортеля выкидывающему. Имя то ему xref2.lsp, не бросайте ребеночка, шалит.
#8 Ответ от DMS 7 апреля 2004г. 13:10:39
- DMS
- Восстановленный участник
- На форуме с 9 августа 2002г.
- Сообщений: 477
- Спасибо: 0
Re: Ошибка: «AutoCAD menu utilities loaded.; error: bad argument type: lselsetp nil»
> kos
Сегодня столкнулся с этой байдой
bad argument type: lselsetp nil
и нашёл причину!
Возникает при работе с набором примитивов невидимых на экране, находящихся где-либо в стороне, помогло
Сообщения 8
Тему читают: 1 гость
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Форумы CADUser → Autodesk → AutoCAD → Ошибка: «AutoCAD menu utilities loaded.; error: bad argument type: lselsetp nil»
Вопрос:
В настоящее время я пытаюсь запустить полилинию между двумя блоками (first_block, second_block), которая проходит вдоль другой полилинии, в конце действия вызывается функция вставки, которая заполняет блок аннотаций (cable_name_tag) деталями начального и конечного блоков,
Эта полилиния будет транслировать другие блоки и часто должна запускаться в параллеле с базовой полилинией (cable_ducting), поэтому пользователю потребуется опция для выбора соответствующей части полилинии, чтобы удалить аннотацию, поскольку пространство иногда ограничено.
Я заметил, что если я прокомментирую second_block и предоставил кодированное значение, функция ssget работает без проблем, поэтому я уверен, что проблема связана либо с синтаксисом, либо с обработкой first_block и second_block в этом коде.
(defun c:cable ()
(vl-load-com)
(setvar "clayer" "cable layer")
(setvar "celtype" "bylayer")
(setvar "osmode" 515)
(command "_.pline"
(getpoint))
(while (> (getvar ' cmdactive) 0)
(command pause)
(princ "npress enter to finish:"))
(setq elst
(entsel "nselect cable segment: "))
(setq ename
(car elst))
(setq pt
(cadr elst))
(setq annopt pt)
(setq pt
(vlax-curve-getclosestpointto ename pt))
(setq param
(vlax-curve-getparamatpoint ename pt))
(setq preparam
(fix param))
(setq postparam
(1+ preparam))
(list (setq pt1
(vlax-curve-getpointatparam ename preparam))
(setq pt2
(vlax-curve-getpointatparam ename postparam)))
(setq cable
(entlast))
(setq cable_start
(vlax-curve-getstartparam cable))
(setq cable_start_point
(vlax-curve-getstartpoint cable))
(setq cable_end_point
(vlax-curve-getendpoint cable))
(setq cable_end
(angtos (angle '(0 0)
(vlax-curve-getfirstderiv cable 0.0))))
(setq first_block
(ssget "_c" cable_start_point cable_end_point
(list (cons 0 "insert")
(cons 2 "first_block"))))
(setq second_block
(ssget "_c" cable_start_point cable_end_point
(list (cons 0 "insert")
(cons 2 "second_block"))))
(setq end_cable
(ssname second_block 0))
(setq start_cable
(ssname first_block 0))
(setq $end_cable
(vla-get-textstring
(cadr (vlax-safearray->list
(variant-value
(vla-getattributes
(vlax-ename->vla-object end_cable)))))))
(setq $start_cable
(vla-get-textstring
(cadr (vlax-safearray->list
(variant-value
(vla-getattributes
(vlax-ename->vla-object start_cable)))))))
(setq cable_name
(vlax-curve-getendparam cable))
(command ; insert cable param
"-insert"
"cable_name_tag"
annopt
"1"
"1"
cable_angle
cable_name
$start_cable
$end_cable
"144"
cable_length))
Я застрял в углу на этом, и буду признателен за любую помощь, советы или указатели, которые может предложить любой.
Спасибо всем за ваше время.
Ответ №1
Почему бы просто не использовать (entlast)
для получения только что созданного объекта?
Добро пожаловать!
Войдите или зарегистрируйтесь сейчас!
Войти
Geo_Export (AutoCAD 2010)
Тема в разделе «Общие вопросы», создана пользователем Стас Пушкин, 30 окт 2015.
-
- Регистрация:
- 28 окт 2015
- Сообщения:
- 10
- Симпатии:
- 2
Всем привет ! Такая вот проблема.
Хотелось в атокаде экспортировать точки в блокнот.
Программу загрузил,при показываний образца пишет «ошибка: неверный тип аргумента: lselsetp nil «Все мои координаты находятся в разделе (Лист 1 ) а при переходе на( модель),я пробую начертить линию,вызываю гео экспорт и программа работает,выбирает линию.
Как заставить ее чтоб она работала в разделе Лист 1 ???#1
Стас Пушкин,
30 окт 2015
-
Форумчанин
- Регистрация:
- 22 май 2011
- Сообщения:
- 4.029
- Симпатии:
- 3.879
- Адрес:
-
Екатеринбург
О_О О_О О_О
сорян, но с таким еще не сталкивался… в разлеле Лист ж… там жеж… миллиметры пространства печати… Или вы именно в пространстве листа умудрятесь ПСК создавать? Зачем?! о_О#2
АлексейМанс,
30 окт 2015
-
Форумчанин
- Регистрация:
- 26 июн 2013
- Сообщения:
- 2.249
- Симпатии:
- 3.319
- Адрес:
-
Окраины Нерезиновска на немцеопасном направлении
Тут явное незнание Autocad.
Все лиспы по работе с координатами и геометрией работают только в модели.
С листами разве что только заточенные на оформление.#3
-=13=-,
30 окт 2015
hp_pro и АлексейМанс нравится это.
-
- Регистрация:
- 28 окт 2015
- Сообщения:
- 10
- Симпатии:
- 2
У нас на работе все координаты созданы в разделе Лист..
Не знай почему не в модели…#4
Стас Пушкин,
30 окт 2015
(Вы должны войти или зарегистрироваться, чтобы ответить.)
Показать игнорируемое содержимое
Поделиться этой страницей
- Войти через Google
- Log in with VK
- Ваше имя или e-mail:
- У Вас уже есть учётная запись?
-
- Нет, зарегистрироваться сейчас.
- Да, мой пароль:
-
Забыли пароль?
-
Запомнить меня
-
Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
Accept
Узнать больше.Скрыть объявление
Проблема с вашим кодом заключается в том, что вы делаете паузу только для одного пользовательского ввода, прежде чем пытаться сбросить системные переменные и завершить оценку программы.
Вместо этого вам нужно будет использовать цикл для непрерывной паузы для пользовательского ввода, прежде чем продолжить оценку программы.
Например:
;; Define function, declare local symbols
(defun c:wire ( / col lay opt val var )
;; System variables to be modified within the program
(setq var '(clayer orthomode snapmode cmdecho)
;; Retrieve current sys var values
val (mapcar 'getvar var)
) ;; end setq
;; Predefine the getkword options
(initget "Audio Video COmm R Control Network Power")
;; Prompt the user for input, default to "Audio" on null input
(setq opt (cond ((getkword "n[Audio/Video/COmm/Coax(R)/Control/Network/Power] <Audio>: ")) ("Audio")))
;; Define the layer & colour based on the option returned
(cond
( (= opt "Audio") (setq lay "AUDIO" col 94))
( (= opt "Video") (setq lay "VIDEO" col 150))
( (= opt "COmm") (setq lay "COMM" col 206))
( (= opt "R") (setq lay "COAX" col 44))
( (= opt "Control") (setq lay "CONTROL" col 10))
( (= opt "Network") (setq lay "NETWORK" col 210))
( (= opt "Power") (setq lay "POWER" col 7))
) ;; end cond
;; Suppress command-line output for the -LAYER command
(setvar 'cmdecho 0)
;; Create & set the layer & layer colour
(command "_.-layer" "_M" lay "_C" col "" "")
;; Set everything except the first sys var
(mapcar 'setvar (cdr var) '(1 1 1))
;; Initiate the PLINE command
(command "_.pline")
;; Continuously pause for user input
(while (= 1 (logand 1 (getvar 'cmdactive))) (command "\"))
;; Reset system variables
(mapcar 'setvar var val)
;; Suppress the value returned by the last evaluated expression
(princ)
) ;; end defun
Несколько замечаний:
-
Всегда объявляйте свои локальные переменные, чтобы избежать конфликтов с переменными с одинаковыми именами в пространстве имен документа. См. мой учебник здесь для получения дополнительной информации о том, как и почему вы это делаете.
-
Используйте
getkword
вместоgetstring
для контроля и проверки ввода пользователя. -
Используйте
"\"
вместо символаpause
, так как символpause
является незащищенной глобальной переменной и может быть легко непреднамеренно переопределен за пределами вашей программы, что приведет к ее поломке. Поскольку символpause
оценивается как"\"
, вы также можете использовать буквальную обратную косую черту.
В качестве расширения вы также можете рассмотреть возможность реализации локального обработчика ошибок для обработки, когда пользователь неизбежно нажимает Esc во время оценки программы (в противном случае системные переменные не были бы сброшены при таких обстоятельствах). Я описываю, как это сделать, в моем туториале здесь.
Вот простой пример, демонстрирующий включение локального обработчика ошибок:
;; Define function, declare local symbols
(defun c:wire ( / *error* col lay opt val var )
;; Define local error handler
(defun *error* ( msg )
;; Reset system variables
(mapcar 'setvar var val)
;; Suppress the output of standard cancellation messages
(if (not (wcmatch (strcase msg t) "*break,*cancel*,*exit*"))
;; Print critical errors
(princ (strcat "nError: " msg))
) ;; end if
(princ) ;; Suppress the value returned by the last evaluated expression
) ;; end defun
;; System variables to be modified within the program
(setq var '(clayer orthomode snapmode cmdecho)
;; Retrieve current sys var values
val (mapcar 'getvar var)
) ;; end setq
;; Predefine the getkword options
(initget "Audio Video COmm R Control Network Power")
;; Prompt the user for input, default to "Audio" on null input
(setq opt (cond ((getkword "n[Audio/Video/COmm/Coax(R)/Control/Network/Power] <Audio>: ")) ("Audio")))
;; Define the layer & colour based on the option returned
(cond
( (= opt "Audio") (setq lay "AUDIO" col 94))
( (= opt "Video") (setq lay "VIDEO" col 150))
( (= opt "COmm") (setq lay "COMM" col 206))
( (= opt "R") (setq lay "COAX" col 44))
( (= opt "Control") (setq lay "CONTROL" col 10))
( (= opt "Network") (setq lay "NETWORK" col 210))
( (= opt "Power") (setq lay "POWER" col 7))
) ;; end cond
;; Suppress command-line output for the -LAYER command
(setvar 'cmdecho 0)
;; Create & set the layer & layer colour
(command "_.-layer" "_M" lay "_C" col "" "")
;; Set everything except the first sys var
(mapcar 'setvar (cdr var) '(1 1 1))
;; Initiate the PLINE command
(command "_.pline")
;; Continuously pause for user input
(while (= 1 (logand 1 (getvar 'cmdactive))) (command "\"))
;; Reset system variables
(mapcar 'setvar var val)
;; Suppress the value returned by the last evaluated expression
(princ)
) ;; end defun