cad visual lisp语言编程问题

求源程序及程序每一步骤的详细解释有过程分析更好... 求源程序及程序每一步骤的详细解释 有过程分析更好 展开
 我来答
朱06CAD
2015-05-10 · 知道合伙人软件行家
朱06CAD
知道合伙人软件行家
采纳数:4172 获赞数:18070
高中,熟悉AutoCAD。会autolisp及VBA程序。

向TA提问 私信TA
展开全部
(defun C:HZTY ( / #os1 @cd1 @cd2 @p1 @p2 @p3 ang1 ang2 ang3 ang4 cd gd jd p1 p2 p3 p4)
 (setq #os1 (getvar "osmode"));取得捕捉设置
 (if (setq p1 (getpoint "\n请指定基点"));如果没有指定就结束
  (progn
   (if (setq CD (getdist p1 "\n请指定长度"));如果没有输入就结束
    (progn
     (if (setq GD (getdist p1 "\n请指定高度"));如果没有输入就结束动作
      (progn
       (if (setq JD (getreal "\n请指定角度"));如果没有输入就结束
        (progn;如果有输入,那么
         (setvar "osmode" 0);捕捉设置为0
         (setq ang1 (angtof (rtos JD 2 5));角度转换为角度弧
               ang2 (+ ang1 1.570796);垂直角度弧
               p2 (polar p1 ang1 CD);计算点位置
               p3 (polar p2 ang2 GD)
               p4 (polar p1 ang2 GD);计算第4点位置
               @p1 p1;设置数值
               @p2 p2
               @p3 p3
               ang3 ang1
               ang4 ang2
               @CD1 CD
               @CD2 GD;方便下面计算的时候调整数值
         )
         (command "PLINE" p1 p2 p3 p4 "C");绘制长方形
         (if (> GD CD);如果输入的高度大于长度
          (progn
           (setq @p1 p2 @p2 p3 @p3 p4 ang3 (+ ang1 1.570796) ang4 (+ ang2 1.570796) @CD1 GD @CD2 CD);点的位置及角度进行调整
          )
         )
         (setq p1 (polar @p1 ang4 (* @CD2 0.5));定位点
               p2 (polar @p2 ang4 (* @CD2 0.5))
               p3 (polar @p3 ang3 (* @CD1 -0.5));计算椭圆3点
         )
         (command "_ellipse" p1 p2 p3);绘制椭圆
         (setq p1 (polar @p1 ang3 (* @CD1 0.5))
               p2 (polar p1 ang4 (* @CD2 0.5))
               p4 (polar p2 ang3 (* @CD2 -0.5))
               p2 (polar p2 ang3 (* @CD2 0.5));计算正方形4点
         )
         (command "PLINE" p1 p2 p3 p4 "C");绘制正方形
         (setvar "osmode" #os1);捕捉设置还原
        )
       )
      )
     )
    )
   )
  )
 )
 (prin1)
);复制到记事本,以【.lsp】为后缀命名,命令【HZTY】,加载autoLISP就可以使用
;程序不是很完美但是可以绘制你要的图形
更多追问追答
追问
能不能画个图指示一下或者搞个流程图 行吗
追答

输入命令以后,按提示操作就可以。绘图的话,就是你输入:第一点,然后输入长度,高度,角度,就绘制完成了。

这个不是你的思路吗?

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式