如何用 Lisp 实现删除自定义的 “命名UCS”?
我用 Lisp 新建一个自定义的 “命名UCS”后,但是却无法用 Lisp 删除它,只能手动删除。请都大家有没有办法用 Lisp 代码删除它?
本帖最后由 llsheng_73 于 2024-1-4 19:33 编辑
没查到怎么修改当前坐标系,调用UCS命令来收拾吧
(defun deleteucsname(uscname)
(command"ucs""W")
(while(=(getvar'cmdactive)1)(command))
(or(VL-CATCH-ALL-ERROR-P(setq ucsob(VL-CATCH-ALL-APPLY'vlax-invoke-method(list(vlax-get-property(vlax-get-property(vlax-get-acad-object)'activedocument)'UserCoordinateSystems)'item uscname))))
(vlax-invoke-method ucsob(function delete)))
) 因为是当前UCS才无法程序删除。换一下当前UCS就可以删除了。 (command "ucs" "na" ......... llsheng_73 发表于 2024-1-4 18:25
没查到怎么修改当前坐标系,调用UCS命令来收拾吧
提示错误信息
错误: Automation 错误。 对象被其他对象参照 本帖最后由 e2002 于 2024-8-29 10:14 编辑
mokson 发表于 2024-1-5 11:10
提示错误信息
错误: Automation 错误。 对象被其他对象参照
因为当前的 UCS (ActiveUCS)就是这个 Named UCS, 所以无法直接删除。
现在的问题是: 在这种情况下,AutoLISP 如何才能删除这个 Named UCS?要求不能使用 command 调用 ucs命令。
另外:如何设置当前UCS 为 World UCS?同样要求不能使用 command。
页:
[1]