Grrr 发表于 2022-7-5 18:44:01

好建议,比格尔!
我考虑过使用DtR功能:
Command: (setq p45 (/ pi 4.0))
0.785398
Command: (defun DtR (d) ( * PI (/ d 180.0)))
DTR
Command: (DtR 45)
0.785398
对于像我这样不使用弧度的人来说,它似乎很方便。
 
昨天我找到了一种简单的方法来检查一系列点,每个点都是从极函数返回的。
我没有创建点对象,而是使用点名称的内容(就像我在代码中引用的那样)生成带有中间对齐的多行文字。例子:
(defun C:test ( / pt1 pt2 midpt keypt dist ang )
(while
        (and
                (setq pt1 (getpoint "\nPick first point"))
                (setq pt2 (getpoint pt1 "\nPick second point"))
        )
        (progn
                (setq dist (distance pt1 pt2))
                (setq ang (angle pt1 pt2))
                (setq midpt (polar pt1 ang (/ dist 2.0)))
                (setq keypt (polar midpt (+ ang (/ pi 2.0)) dist)) ; keypt-midpt should be perpendicular to pt1-pt2
               
                ; perform points check:
                (M-Text pt1 "pt1")
                (M-Text pt2 "pt2")
                (M-Text midpt "midpt")
                (M-Text keypt "keypt")
               
                ; perform length check:
                (Line pt1 pt2)
                (Line midpt keypt)
        );progn
)
(princ)
);defun

; LM
(defun M-Text (pt str)
(entmakex
        (list
                (cons 0 "MTEXT")         
                (cons 100 "AcDbEntity")
                (cons 100 "AcDbMText")
                (cons 10 pt)
                (cons 1 str)
                (cons 71 5)
        )
)
)

(defun Line (p1 p2)
(entmakex
        (list
                (cons 0 "LINE")
                (cons 10 p1)
                (cons 11 p2)
        )
)
)

现在,我认为我在使用和想象极性函数时不再有问题(正如我在上一篇文章“绘制正方形”中所做的那样)。
这个例子可以帮助任何人在代码中“绘制”更复杂的形状。
页: 1 [2]
查看完整版本: Getint+极坐标和不同分辨率