cadLISP怎样编写程序加载自
做了隐藏和显示两个命令。我编写的简单,功能不太全。你看着用吧复制下列代码,创建acad。lsp。 放在在CAD安装目录第一层文件夹下,可自动加载啊:;在命令行输入该命令hidsel,然后选择图元,结果没选的被改到隐藏层(defun C:hidsel(/ all;所有图元 xs;非隐藏图元 yc;隐藏图元 n nam dat) (setvar "CMDECHO" 0);关闭命令回显 (command "_layer" "n" "临时隐藏图层" "")(command "_layer" "off" "临时隐藏图层" "") (setvar "CMDECHO...全部
做了隐藏和显示两个命令。我编写的简单,功能不太全。你看着用吧复制下列代码,创建acad。lsp。
放在在CAD安装目录第一层文件夹下,可自动加载啊:;在命令行输入该命令hidsel,然后选择图元,结果没选的被改到隐藏层(defun C:hidsel(/ all;所有图元 xs;非隐藏图元 yc;隐藏图元 n nam dat) (setvar "CMDECHO" 0);关闭命令回显 (command "_layer" "n" "临时隐藏图层" "")(command "_layer" "off" "临时隐藏图层" "") (setvar "CMDECHO" 1) (setq all (ssget "x"));选择所有 (setq xs (ssget));选择非隐藏图元 (setq n -1 yc all);运算隐藏图元 (repeat (sslength xs) (setq n (+ n 1)) (setq nam (ssname xs n));返回第N个图元的名称 (setq yc (ssdel nam yc)) ) (setq N -1);隐藏 (repeat (sslength yc) (setq N (+ n 1)) (setq nam (ssname yc n));返回第N个图元的名称 (setq dat (entget nam));DAT储存第N个图元数据 (entmod (subst (cons 8 "临时隐藏图层") (Assoc 8 dat) dat));将yc集合隐藏 ) (setq all nil xs nil yc nil n nil nam nil dat nil);清除数据占用内存 (princ));显示所有图元(defun c:shoal(/ all n nam dat) (setq all (ssget "x"));选择所有 (setq N -1);隐藏 (repeat (sslength all) (setq N (+ n 1)) (setq nam (ssname all n));返回第N个图元的名称 (setq dat (entget nam));DAT储存第N个图元数据 (entmod (subst (cons 8 "0") (Assoc 8 dat) dat));将yc集合隐藏 ) (setvar "CMDECHO" 0) (COMMAND "PURGE" "LA" "临时隐藏图层" "Y" "Y" "") (setvar "CMDECHO" 1) (setq all nil n nil nam nil dat nil);清除数据占用内存 (princ) )。收起