请问大佬附件这个怎么改
[ 本帖最后由 惜惜2 于 2024-9-5 08:06 编辑 ]\n\n[ 本帖最后由 惜惜2 于 2024-8-30 21:50 编辑 ]\n\n目前的方式是需要先指定显示的层,再框选需要导出的文件。希望公式里面默认0层然后直接导出,不用框选,不用选层这一步,感谢
惜惜2 发表于 2024-8-30 08:30
(DEFUN C:V2 (/ ES EN EL A getv getv2 getv3 str)
;(PRINC "请选择对象,未被选中的对象所在的层将 ...
摸索一下,有利于理解 惜惜2 发表于 2024-8-29 15:47
自动存这一步能不能默认是0层呢这个还是需要框选
(DEFUN C:V2 (/ ES EN EL A getv getv2 getv3 str)
;(PRINC "请选择对象,未被选中的对象所在的层将被关闭(显示指定层)")
(setq ES (SSGET "x" '((8 . "0"))))
(setq A 0)
(setq EN "")
(setq EL nil)
(setq FL nil)
(while (and (/= EN nil))
(setq EN (SSNAME ES A))
(setq EL (CONS EN EL))
(setq A (1+ A))
)
(setq EL (CDR EL))
(setq FL (CDR (ASSOC 8 (ENTGET (CAR EL)))))
(setq EL (CDR EL))
(REPEAT (- A 2)
(setq EN (CDR (ASSOC 8 (ENTGET (CAR EL)))))
(setq FL (STRCAT EN "," FL))
(setq EL (CDR EL))
)
(command "LAYER")
(command "off")
(command "*")
(command "y")
(command "on")
(command (EVAL FL))
(command "")
(setvar "cmdecho" 0)
(princ "\n功能 [自动存DXF档]")
(setq getv(getvar "DWGPREFIX")
getv2 (getvar "DWGNAME")
getv3 (getvar "FILEDIA")
)
(setq str (strcat getv (vl-filename-base getv2) ".dxf"))
(setvar "FILEDIA" 0)
(vl-cmdf "_.dxfout" str "O" (ssget "x" '((8 . "0"))))
(setvar "FILEDIA" getv3)
(command "")
(command "16")
(princ)
)
用这个可以了 咏郡 发表于 2024-8-29 15:41
(DEFUN C:V1 (/ ES EN EL A getv getv2 getv3 str)
;(PRINC "请选择对象,未被选中的对象所在的层将被关 ...
自动存这一步能不能默认是0层呢这个还是需要框选 (DEFUN C:V1 (/ ES EN EL A getv getv2 getv3 str)
;(PRINC "请选择对象,未被选中的对象所在的层将被关闭(显示指定层)")
(setq ES (SSGET "x" '((8 . "0"))))
(setq A 0)
(setq EN "")
(setq EL nil)
(setq FL nil)
(while (and (/= EN nil))
(setq EN (SSNAME ES A))
(setq EL (CONS EN EL))
(setq A (1+ A))
)
(setq EL (CDR EL))
(setq FL (CDR (ASSOC 8 (ENTGET (CAR EL)))))
(setq EL (CDR EL))
(REPEAT (- A 2)
(setq EN (CDR (ASSOC 8 (ENTGET (CAR EL)))))
(setq FL (STRCAT EN "," FL))
(setq EL (CDR EL))
)
(command "LAYER")
(command "off")
(command "*")
(command "y")
(command "on")
(command (EVAL FL))
(command "")
(setvar "cmdecho" 0)
(princ "\n功能 [自动存DXF档]")
(setq getv(getvar "DWGPREFIX")
getv2 (getvar "DWGNAME")
getv3 (getvar "FILEDIA")
)
(setq str (strcat getv (vl-filename-base getv2) ".dxf"))
(setvar "FILEDIA" 0)
(vl-cmdf "_.dxfout" str "O" (ssget) "" "")
(setvar "FILEDIA" getv3)
(princ)
)
页:
[1]