AutoLisp 程序求助,编写一个AutoLisp程序用来画图 5

编写下图所示法兰及计算、打印其平面面积的AutoLisp程序,图中三个同心圆按由小到大半径分别为R1,R2,R3,小圆半径为r... 编写下图所示法兰及计算、打印其平面面积的AutoLisp 程序,图中三个同心圆按由小到大半径分别为R1,R2,R3,小圆半径为 r 展开
 我来答
朱06CAD
2018-08-28 · 知道合伙人软件行家
朱06CAD
知道合伙人软件行家
采纳数:4172 获赞数:18069
高中,熟悉AutoCAD。会autolisp及VBA程序。

向TA提问 私信TA
展开全部

(defun c:tes ( / i n p1 p2 r r1 r2 r3 r4 ss1 ss2)
 (vl-load-com)
 (if (and
  (setq p1 (getpoint "\n请选择同心圆圆心"))
  (setq r1 (s180828a p1 "\n请输入第一个同心圆半径:"))
  (setq r2 (s180828a p1 "\n请输入第二个同心圆半径:"))
  (setq r3 (s180828a p1 "\n请输入第三个同心圆半径:"))
  (setq p2 (polar p1 0 (setq r4 (cadr (setq ss1 (vl-sort (list r1 r2 r3) '<))))))
  (setq r (s180828a p2 "\n请输入小圆半径"))
  (setq n (s180828s))
     )
  (progn
   (setq ss2 '())
   (while (setq r1 (car ss1))
    (setq ss1 (cdr ss1))
    (entmake (list '(0 . "CIRCLE") (cons 10 p1) (cons 40 r1)))
    (setq ss2 (cons (entlast) ss2))
   );while
   (setq i -1.0)
   (while (< (setq i (1+ i)) n)
    (setq p2 (polar p1 (/ (* pi i 2) n) r4))
    (entmake (list '(0 . "CIRCLE") (cons 10 p2) (cons 40 r)))
   );while
  )
 )
 (princ)
);autolisp程序,复制到记事本,以【.lsp】为后缀命名,AutoCAD命令【appload】加载。

;输入圆半径
(defun s180828a (p1 str1 / p1 str1)
 (initget 6)
 (getdist p1 str1)
)

;输入小圆数量
(defun s180828s ()
 (initget 6)
 (getint "\n请输入小圆数量:")
)
AiPPT
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图... 点击进入详情页
本回答由AiPPT提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式