马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
 - (defun c:RemoveBulge ( / ActDoc Sel Data Ent Param Obj )
-
- (vl-load-com)
- (setq ActDoc (vla-get-ActiveDocument (vlax-get-Acad-Object)))
- (vla-EndUndoMark ActDoc)
- (vla-StartUndoMark ActDoc)
- (setvar 'ErrNo 0)
- (while (not (equal (getvar 'ErrNo) 52))
- (if
- (and
- (setq Sel (entsel "\n Select polyline at bulge segment to remove: "))
- (setq Data (entget (setq Ent (car Sel))))
- (wcmatch (cdr (assoc 0 Data)) "*POLYLINE")
- (setq Param
- (vlax-curve-getParamAtPoint
- Ent
- (vlax-curve-getClosestPointTo Ent (trans (cadr Sel) 1 0))
- )
- )
- (setq Obj (vlax-ename->vla-object Ent))
- )
- (vla-SetBulge Obj (fix Param) 0.)
- (if (not (equal (getvar 'ErrNo) 52))
- (prompt "\n No polyline selected.")
- )
- )
- )
- (vla-EndUndoMark ActDoc)
- (princ)
- )
|