lisp如何取得填充圆环的圆心
_donut命令绘制填充的圆环,选取图元后,数据如下,((-1 . <图元名: 7b6fb780>) (0 . "LWPOLYLINE") (330 . <图元名: 7b647ee8>) (5 ."7BD68") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (100 .
"AcDbPolyline") (90 . 2) (70 . 1) (43 . 0.5) (38 . 0.0) (39 . 0.0) (10 2240.04
24376.2) (40 . 0.5) (41 . 0.5) (42 . 1.0) (10 2240.54 24376.2) (40 . 0.5) (41 .
0.5) (42 . 1.0) (210 0.0 0.0 1.0))
不知如何取得圆环的圆心 網上找就有
方法1:取包圍框找中心
方法2:找DXF=10頂點座標,求2座標中點 ;圆环外径变圆 ZZXXQQ 2009.10.19(defun c:tt ()
(setvar "CMDECHO" 0)
(setq oldos (getvar "OSMODE"))
(if (setq ss (ssget '((0 . "LWPOLYLINE") (70 . 1) (42 . 1.0)))) (progn
(setvar "osmode" 0)
(command ".UNDO" "BE")
(setq i -1)
(repeat (sslength ss)
(setq en (ssname ss (setq i (1+ i)))
ent (entget en)
w (cdr (assoc 40 ent))
pt (cdr (assoc 10 ent))
pc (osnap pt "CEN")
r (+ (distance pc pt) (/ w 2)))
(command "CIRCLE" pc r)
)
(command ".ERASE" ss "")
(command ".UNDO" "E")
(setvar "osmode" oldos)
))
(setvar "CMDECHO" 1)
(princ)
)
实际遇到了,一下无头绪,非常感谢大家的帮助 现在还有一个问题,当圆环或其他的图元是块内对象,取得块内对象后,显示的坐标为初建立块时的坐标,如何求得,块内对象在当前图形中的实际坐标,如直线,圆环等对象,块经过复制后插入,并且旋转过后 炸开圆环得到圆心 (10 2240.04 24376.2)(10 2240.54 24376.2) 提取10后面的两个点坐标求中点
页:
[1]