CAD怎么自己编lisp程序
自定义了快捷键,然后选中物体!之后物体所属层以外的层一下子就隐藏了。这是一个图层的LISP程序,请高手指点下(最好教我怎么编写及使用的方法。或者传文件到我的邮箱:3762...
自定义了快捷键,然后选中物体!之后物体所属层以外的层一下子就隐藏了。
这是一个图层的LISP程序,请高手指点下(最好教我怎么编写及使用的方法。或者传文件到我的邮箱:376200906@qq.com谢了!
怎么创建acad.lsp? 展开
这是一个图层的LISP程序,请高手指点下(最好教我怎么编写及使用的方法。或者传文件到我的邮箱:376200906@qq.com谢了!
怎么创建acad.lsp? 展开
5个回答
展开全部
做了隐藏和显示两个命令.
我编写的简单,功能不太全.你看着用吧
复制下列代码,创建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)
)
我编写的简单,功能不太全.你看着用吧
复制下列代码,创建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)
)
展开全部
auto lisp 不是一两天就能学会的薯汪册!
我现在正在学,有点难!网上的教程也不是很好找,书店倒是有些书可以买到!
我也刚学。如果有兴趣。我们数宏可以交流一下!
我的邮箱是:lixiang026@126.com
qq:516306696
其实cad里的帮助就是很好的教陵埋程。可以去看看,只是不太好理解
我现在正在学,有点难!网上的教程也不是很好找,书店倒是有些书可以买到!
我也刚学。如果有兴趣。我们数宏可以交流一下!
我的邮箱是:lixiang026@126.com
qq:516306696
其实cad里的帮助就是很好的教陵埋程。可以去看看,只是不太好理解
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
CAD 自带的LISP 都是英文,估计不好学,还是买本书学下吧。祝你成功!!!!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
分太低。。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2009-10-22
展开全部
采用反选,之后隐藏
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询