马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 newer 于 2018-4-8 13:46 编辑
(defun XD::Polyline:ResetSTartPoint (ent pnt / e1 ss typ pl)
(if (= (type ent) 'LIST)
(progn (setq pl (xdrx_polyline_make ent))
(xdrx_setpropertyvalue pl "closed" t)
(setq ent pl)
)
)
(if (xdrx_getpropertyvalue ent "isClosed")
(progn
(setq typ (xdrx_object_classname ent))
(if (= "POLYLINE" (car typ))
(setq ent (xdrx_polyline_convertfrom ent))
)
(if (and (xdrx_point_ison pnt ent)
(not (equal pnt (xdrx_getpropertyvalue ent "startpoint") 1e-3))
)
(progn (xdrx_entity_copy ent)
(setq e1 (entlast))
(setq ss (xdrx_curve_getsplitcurves e1 pnt))
(xdrx_curve->polyline (entlast) e1)
(xdrx_entity_matchprop ent (entlast))
(xdrx_object_swapid ent (entlast))
(xdrx_entity_delete (entlast))
)
)
)
)
(if pl
(progn (setq pts (xdrx_getpropertyvalue ent "vertices"))
(xdrx_entity_delete ent)
pts
)
ent
)
)
|