马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
(defun XD::POLYLINE:IsCircArc (e / crvlst ge len ret)
(if (and
(setq ge (xdge::constructor e))
(= (xdge::type ge) "kCompositeCrv3d")
)
(progn
(setq crvlst (xdge::getpropertyvalue ge "getcurvelist")
len (length crvlst)
)
(cond
((and
(= len 2)
(= (xdge::type (car crvlst)) "kCircArc3d")
(= (xdge::type (cadr crvlst)) "kCircArc3d")
(equal (abs (xdge::getpropertyvalue (car crvlst) "bulge")) 1.0
1e-3
)
(equal (abs (xdge::getpropertyvalue (cadr crvlst) "bulge")) 1.0
1e-3
)
)
(setq ret (xdge::getpropertyvalue (car crvlst) "center" "radius"))
)
((and
(= len 1)
(= (xdge::type (car crvlst)) "kCircArc3d")
)
(setq ret (xdge::getpropertyvalue (car crvlst) "center" "radius"
"startang" "endang"
)
)
)
)
)
)
(xdge::free ge crvlst)
ret
)
|