cjf160204 发表于 2024-6-25 23:25:35

求大神指点哪里错误,运行不了

(vl-load-com); 加载所需的库(defun c:draw_arc_custom ()(prompt "请输入圆心坐标(x,y): ")(setq center (getpoint))(prompt "请输入半径: ")(setq radius (vl-catch-all-apply 'getreal))(if (vl-catch-all-error-p radius)      (progn      (princ "\n输入的半径无效,请重新输入。")      (exit)      ))(prompt "请输入起点坐标(x,y): ")(setq start_point (getpoint))(prompt "请输入圆弧角度的度: ")(setq deg (vl-catch-all-apply 'getint))(if (vl-catch-all-error-p deg)      (progn      (princ "\n输入的度无效,请重新输入。")      (exit)      ))(prompt "请输入圆弧角度的分: ")(setq min (vl-catch-all-apply 'getint))(if (or (vl-catch-all-error-p min) (< min 0) (> min 59))      (progn      (princ "\n输入的分无效,请重新输入。")      (exit)      ))(prompt "请输入圆弧角度的秒: ")(setq sec (vl-catch-all-apply 'getint))(if (or (vl-catch-all-error-p sec) (< sec 0) (> sec 59))      (progn      (princ "\n输入的秒无效,请重新输入。")      (exit)      ))(setq radian_angle (+ (* deg pi) (* min (/ pi 60)) (* sec (/ pi 3600))))(setq vec1 (mapcar '- start_point center))(setq radian_start (atan (cadr vec1) (car vec1))); 直接获取圆心的坐标值(setq center_real (list (car center) (cadr center)))(command "ARC" center_real radius radian_start radian_angle))

MZ_li 发表于 2024-6-26 07:46:41

你真是个人才

sniper1111 发表于 2024-6-26 08:24:03

MZ_li 发表于 2024-6-26 07:46
你真是个人才

严重支持你的想法。

自贡黄明儒 发表于 2024-6-26 08:26:52

先用vlide格式化一下,看起来就容易了。

xiao1984 发表于 2024-6-26 08:48:54

分号全部注释掉了你还怎么运行;剩一个(vl-load-com)

czb203 发表于 2024-6-26 08:59:22

(vl-load-com)
(defun c:draw_arc_custom ()
(prompt "请输入圆心坐标(x,y): ")
(setq center (getpoint))
(prompt "请输入半径: ")
(setq radius (vl-catch-all-apply 'getreal))
(if (vl-catch-all-error-p radius) (progn (princ "\n输入的半径无效,请重新输入。") (exit)))
(prompt "请输入起点坐标(x,y): ")
(setq start_point (getpoint))
(prompt "请输入圆弧角度的度: ")
(setq deg (vl-catch-all-apply 'getint))
(if (vl-catch-all-error-p deg) (progn (princ "\n输入的度无效,请重新输入。") (exit)))
(prompt "请输入圆弧角度的分: ")
(setq min (vl-catch-all-apply 'getint))
(if (or (vl-catch-all-error-p min) (< min 0) (> min 59))
    (progn (princ "\n输入的分无效,请重新输入。") (exit))
)
(prompt "请输入圆弧角度的秒: ")
(setq sec (vl-catch-all-apply 'getint))
(if (or (vl-catch-all-error-p sec) (< sec 0) (> sec 59))
    (progn (princ "\n输入的秒无效,请重新输入。") (exit))
)
(setq radian_angle (+ (* deg pi) (* min (/ pi 60)) (* sec (/ pi 3600))))
(setq vec1 (mapcar '- start_point center))
(setq radian_start (atan (cadr vec1) (car vec1))) ;直接获取圆心的坐标值   
        (setq center_real (list (car center) (cadr center)))
        (command "ARC" center_real radius radian_start radian_angle)       
)

cjf160204 发表于 2024-6-26 09:42:52

czb203 发表于 2024-6-26 08:59


显示   需要二维角点或选项关键字。
; 错误: 函数已取消

jun470 发表于 2024-6-27 22:03:42

不回车的话,分号后面都是注释啦

228378553 发表于 2024-6-28 11:50:53

你自己看看,如果别人提问,贴上你这种不换行的代码,你会去看吗?:lol

228378553 发表于 2024-6-28 11:51:56

czb203 发表于 2024-6-26 08:59


你是个好人
页: [1]
查看完整版本: 求大神指点哪里错误,运行不了