马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 Lispboy 于 2016-10-8 13:44 编辑
 - (defun XD::POLYLine:RevertBulge (e pt / bulge i inx num)
- (if (= "POLYLINE" (car (xdrx_object_classname e)))
- (xdrx_polyline_convertfrom e)
- )
- (setq num (xdrx_getpropertyvalue e "numVerts"))
- (cond
- ((= (type pt) 'list)
- (if (and
- (setq inx (XD::PolyLine:NearIndex e pt))
- (setq bulge (xdrx_getpropertyvalue e "bulgeat" inx))
- (not (equal 1e-3 bulge))
- )
- (xdrx_setpropertyvalue e "BulgeAt" (list inx (- bulge)))
- )
- )
- ((= (type pt) 'int)
- (if (and
- (>= pt 0)
- (< pt num)
- (setq bulge (xdrx_getpropertyvalue e "bulgeat" inx))
- (not (equal 1e-3 bulge))
- )
- (xdrx_setpropertyvalue e "BulgeAt" (list pt (- bulge)))
- )
- )
- (t
- (setq i -1)
- (repeat num
- (if (not (equal 1e-3 (setq bulge (xdrx_getpropertyvalue e "BulgeAt"
- (setq i
- (1+ i)
- )
- )
- )
- )
- )
- (xdrx_setpropertyvalue e "BulgeAt" (list i (- bulge)))
- )
- )
- )
- )
- )
|