马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 newer 于 2018-6-13 00:33 编辑
对于曲线,我们可以通过几何实体的project 或者 orthoProject 的方法投影到原点0,0,0,法线 0,0,1.0的平面上做到Z坐标归0,当然,改变平面原点的Z值,可以把Z归到任意高度。
 - (defun c:tt ()
- (if (and (xdrx_initssget "\n选择曲线<退出>:")
- (setq ss (xdrx_ssget '((0 . "*line,arc,ellipse,circle"))))
- )
- (progn (setq plane (xdge::constructor "kPlane" '(0 0 0) '(0 0 1.0)))
- (mapcar '(lambda (x)
- (setq g (xdge::constructor x))
- (setq g1 (xdge::getpropertyvalue g "orthoproject" plane))
- (setq e1 (xdge::entity:make g1))
- (if (xdrx_object_isa x "AcDb2dPolyline")
- (xdrx_polyline_convertto e1)
- )
- (xdrx_entity_matchprop x e1)
- (xdrx_object_swapid e1 x)
- (xdrx_entity_delete e1)
- (xdge::free g)
- )
- (xdrx_pickset->ents ss)
- )
- (xdrx_prompt "\n" (sslength ss) " 条曲线Z归0.")
- (xdge::free plane)
- )
- )
- (princ)
- )
|