当前位置: 首页 > news >正文

AutoLISP 演练(一)

一、输入左下角点、矩形宽、矩形高后,自动的将图形依所给的条件画出

二、变量约定

  1. 本程序所需的AutoLisp功能函数

(setq 变量名 变量值) ⬅ 设定变量值

(getpoint [基点] [提示]) ⬅ 请求参考基点输入一个点坐标

(getreal [提示]) ⬅ 请求输入一个实数

(polar 基点 弧度 距离)⬅按照极坐标方法取得另一坐标点

(command “AutoCAD命令”......)⬅调用执行AutoCAD命令

(getdist[基点] [提示]) ⬅请求输入一段距离

(getint[提示]) ⬅请求输入一个整数值

(getcorner 基点 [提示]) ⬅请求输入另一个矩形框对角点坐标

(car 列表) 返回列表中第一个元素,通常用来求x坐标

(cadr 列表) 返回列表中第二个元素,通常用来求y坐标

(caddr 列表) 返回列表中第三个元素,通常用来求z坐标

三、代码实现

(defun c:pbox (/ pa pb pc pd ww hh mp1 mp2 mp3 mp4) ;定义所需要得局部变量,减少内存占用

(setvar "cmdecho" 0) ;设定变量cmdecho=0 关闭命令响应

(setvar "blipmode" 0)

;;;以下pa、ww、hh值须由用户输入

(setq pa (getpoint "左下角点: "))

(setq ww (getdist pa "\n宽度:")) ;给定宽度时在屏幕上拉取一段距离代替

(setq hh (getdist pa "\n高度:")) ;给定高度时在屏幕上拉取一段距离代替

;;;以下pb、pc、pd值须由程序依据pa、ww、hh计算

(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);避免出现空响应nil

)

(prompt " \n<<C:PBOX>> 程序设计,作者:Talor") ;丰富程序界面内容

(prompt " \n这是我的第一个正式的AutoLISP程序")

(prin1) ;避免出现空响应nil

四、结束

通过梳理程序流程,优化程序结构,确能减少繁杂手工作业时间

相关文章:

  • 网站建设佰首选金手指二五/百度产品推广怎么收费
  • 浙江省建设工程协会网站/营销型制作网站公司
  • 图片如何连接到wordpress/网站建设方案书
  • 襄阳做网站公司哪家好/北京seo外包公司要靠谱的
  • 聊城网站建设包括哪些/全网品牌推广公司
  • 如何注册一家公司/seo关键词怎么填
  • feign漫谈
  • 1.浮动float
  • hud 1846巴什博弈(简单的解法 或 Sprague-Grundy解法)
  • Pytorch深度学习【十四】
  • CodeForces 438D The Child and Sequence(线段树区间取模)
  • Linux——系统管理篇
  • 【Java】面向对象笔记(中)(二)
  • 注册中心和负载均衡(黑马SpringCloud笔记)
  • DSPE-PEG-Silane,磷脂-聚乙二醇-硅烷,简介。可用于修饰玻璃、二氧化硅颗粒和许多其他材料表面
  • Acwing---1229.日期问题
  • 01.数据的存储.练习题
  • 1.6 阿达马积