绘制等腰三角形,以下代码执行不了,烦请大佬帮忙指正哪个地方出错了并给出正确代码,万分感谢
(defun c:sanjiaoxing ()  
  (setq p1 (getpoint "\n指定等腰三角形底边起点"))  
  (setq p2 (getpoint "\n指定等腰三角形底边终点"))  
  (setq p3 (getpoint "\n指定顶点方向"))  

  (if (/= (length p1) 2)  
    (progn  
      (princ "\n错误:每个点坐标应为 (x y) 形式。\n")  
      (princ)  
      (exit)  
    )  
    (if (/= (length p2) 2)  
      (progn  
        (princ "\n错误:每个点坐标应为 (x y) 形式。\n")  
        (princ)  
        (exit)  
      )  
    )  
  )  
  (setq midpoint (list (/ (+ (car p1) (car p2)) 2) (/ (+ (cadr p1) (cadr p2)) 2)))  
  (setq vector-to-p3 (list (- (car p3) (car midpoint)) (- (cadr p3) (cadr midpoint))))  
  (setq height-approx (cadr vector-to-p3))
  (setq vertex (polar midpoint 0 height-approx))
  (command "pline" p1 p2 vertex "c")  
    (princ "\n等腰三角形已绘制。\n")  
  (princ)  
)



网友答:
  1. (defun c:tt ()
  2.   (if (and
  3.   (setq p1 (getpoint "\n指定等腰三角形底边起点"))
  4.   (setq p2 (getpoint p1"\n指定等腰三角形底边终点"))
  5.   (progn
  6.     (vl-cmdf "LINE" p1 p2 "")
  7.     (setq ent (entlast))
  8.     t
  9.     )
  10.   (setq midpoint (list (/ (+ (car p1) (car p2)) 2)
  11.          (/ (+ (cadr p1) (cadr p2)) 2)
  12.          )
  13.       )
  14.   (setq p3 (getpoint midpoint"\n指定顶点方向"))
  15.       )
  16.     (progn
  17.       (entdel ent)
  18.       (setq p4 (polar p3 (+ (angle p1 p2) (* pi 0.5)) 100))
  19.       (setq p5 (inters p1 p2 p3 p4 nil))
  20.       (setq p6 (polar midpoint (angle p5 p3) (distance p3 p5)))

  21.       (setvar "OSMODE" 0)
  22.       (command "pline" p1 p2 p6 "c")
  23.       (princ "\n等腰三角形已绘制。\n")
  24.     )
  25.   )


  26.   (princ)
  27. )



网友答:
永不言弃 发表于 2024-7-17 08:57

完美,感谢感谢
  • 上一篇:提取cad图形对象几何信息和文字直接进excel
  • 下一篇:没有了