0人已收藏
0人已打赏
免费0人已点赞
分享
行业脉动
返回版块12.06 万条内容 · 86 人订阅
阅读下一篇
【请教】关于lisp压缩命令格式之前看到CAD技巧集里面曾经介绍过关于用lisp来进行命令压缩格式,原文如下:命令压缩格式 (DEFUN C:简码 () (COMMAND "命令" "命令行中的选项" "命令行中的选项" "命令行中的选项" ""))例如:用SW键代替进入西南视图的命令, 程序为 (DEFUN C:SW () (COMMAND "-VIEW" "SWISO")) 而我按照上述格式编写的lisp文件,用CAD加载以后,提示语法错误,命令不能执行。因为测量面积命令"area",每次输入后还需要选择"o"来点取实体,我觉得很麻烦,就想把该命令用新命令集成,这样就只需要按一次命令就可以。
回帖成功
经验值 +10
全部回复(1 )
只看楼主 我来说两句 抢板凳(setvar "cmdecho" 0)
(setq jd (getpoint "\n 请点取基点"))
(setq zuo0 zuo)
(setq zuo (getdist jd "\n左点距离:"))
(if(= zuo nil) (setq zuo zuo0))
(setq you0 you)
(setq you (getdist jd "\n右点距离:"))
(if(= you nil) (setq you you0))
(setq gao0 gao)
(setq gao (getdist jd "\n节点板高:"))
(if(= gao nil) (setq gao gao0))
(setq r0 r)
(setq r (getangle jd "\n板件角度:"))
(if(= r nil) (setq r r0))
(setq xian0 xian)
(setq xian (getdist jd "\n弦杆高:"))
(if(= xian nil) (setq xian xian0))
(setq jd1 (polar jd (+ (* pi 1.5) r) (/ xian 2)))
(setq A (polar jd1 (+ pi r) zuo))
(setq D (polar jd1 r you))
(setq B (polar A (+ (* pi 1.5) r) gao))
(setq C (polar D (+ (* pi 1.5) r) gao))
(command "line" A B C D "")
(princ)
)
距离和角度参数的输入可以用getreal,如果你知道确切的数值。如果按空格或回车,这些参数就默认为上一次输入的值。
回复 举报