- UID
- 490452
- 积分
- 35
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2006-9-14
- 最后登录
- 1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
以下是我从论坛上找到的双向偏移的代码,经过修改后变为每次选中后当问到偏移距离时直接按右键默认为0.101,并删除原实体,现不知如何实现删除原实体,恳请哪位高手帮我完善下。
;;;|双向偏移 SNSJ 2004.3.8
(defun ptlay (x y) (vla-put-layer(car(vlax-safearray->list(vlax-variant-value x)))y))
(defun c:2os (/ getds obj lynm)
(vl-load-com)
(setq lynm (getstring "\n输入想要偏移的层名:"))
(and (= "" lynm) (setq lynm (getvar "clayer")))
(if (null (tblsearch "layer" lynm))
(vl-cmdf ".layer" "n" lynm "")
)
(initget 2)
(setq getds (getdist (strcat "\n输入偏移距离<默认为0.101>:")))
(if (null getds) (setq getds 0.101));
(setvar "OFFSETDIST" getds)
(if (ssget '((0 . "Arc,Circle,Ellipse,*Line")))
(vlax-for obj (vla-get-activeselectionset
(vla-get-activedocument (vlax-get-acad-object))
)
(ptlay (vla-offset obj getds) lynm)
(ptlay (vla-offset obj (* getds -1)) lynm)
)
(vlax-release-object obj)
)
(princ)
) |
|