前言:
眼前朋友们对“数据结构算法lisp”大体比较关怀,我们都想要学习一些“数据结构算法lisp”的相关资讯。那么小编也在网络上网罗了一些对于“数据结构算法lisp””的相关资讯,希望姐妹们能喜欢,小伙伴们快快来了解一下吧!今天给大家来个稍微有点难度的,是一个画边框的LISP程序。带分号的是解释,不影响程序运行,程序如下:
;定义函数 /后面的参数是临时用用,这个函数一关闭,参数赋值就自动消失
在桌面上建立一个文本文件 pbox.lsp,打开输入:
(defun c:pbox (/ pa pb pc pd ww hh mp1 mp2 mp3 mp4)
;cmdecho 关闭指令响应,函数运行时 AutoCAD 是否回显提示和输入:0.关闭回显 1.打开回显
(setvar "cmdecho" 0)
;blipmode 控制显示点十字标志,0是不显示,1是显示
(setvar "blipmode" 0)
;以下 pa、ww、hh 值須由使用者輸入
(setq pa (getpoint "矩形框请输入左下角点:"))
(setq ww (getdist pa "\n请输入矩形框宽度:")) ;\n是指在命令行输入数据时换行,通用做法
(setq hh (getdist pa "\n请输入矩形框高度:"))
;以下pb、pc、pd值須由程式依據pa、ww、hh求出
;pb点(polar(距离)pa点 0 度方向 ww 矩形框的宽度 ),以下是一个意思,角度是弧度
(setq pb (polar pa 0 ww))
(setq pc (polar pb (/ pi 2) hh))
(setq pd (polar pc pi ww))
;以下依據 pa、pb、pc、pd 點畫矩形
(command "pline" pa pb pc pd "c")
;以下mp1、mp2、mp3、mp4值須由程式依據pa、ww、hh ;& pb、pc、pd 值求出
(setq mp1 (polar pa 0 (/ ww 2)))
(setq mp2 (polar pb (/ pi 2) (/ hh 2)))
(setq mp3 (polar pd 0 (/ ww 2)))
(setq mp4 (polar pa (/ pi 2) (/ hh 2)))
;以下依據 mp1、mp2、mp3、mp4 點畫出二條線
(command "line" mp1 mp3 "")
(command "line" mp2 mp4 "")
;prin1 (prin1)与(princ)功能一样,表示程序结束
(prin1)
) ;end defun
好了,保存关闭 ,在autocad 环境下,管理—加载lisp程序,成功
在命令行输入 pbox
按要求输入角点(可以指定,比如10,20回车)宽度比如10,高度比如20
方框就画出来了。
学好lisp,可以节省很大人力,这是我刚编好的一个桩板结构,几秒钟就ok ,要是徒手画,怎么也得20分钟。
标签: #数据结构算法lisp