maiko
发表于 2016-7-2 22:17:18
longer1000 发表于 2016-7-2 08:13 static/image/common/back.gif
能加一个设置图层功能就完美你
自己加Layer,都钻石会员了还不会?
maiko
发表于 2016-7-3 00:01:40
本帖最后由 maiko 于 2016-7-3 00:38 编辑
longer1000 发表于 2016-7-2 08:13 static/image/common/back.gif
能加一个设置图层功能就完美你;函数名称 OFFSET
;函数用法 (OFFSET mode0 mode1 mode2 mode3 mode4 mode5)
;参数 mode0 :图元,选择集,图元表,obj对象
;参数 mode1 :偏移距离,可数据表(INT REAL)类型, 数据表'(2.5 3 3.5 4 4.5 5)
;参数 mode2 :正偏移 t为偏移 nil为不偏移
;参数 mode3 :负偏移 t为偏移 nil为不偏移
;参数 mode4 :偏移对象是否移到指定图层 nil为不移到指定层 输入字串为指定层
;参数 mode5 :是否删除原子线 t为删除原子线,nil为不删除
(defun c:tt ( / o d e c )
(setq d (getdist "\n输入偏移距离<直接量取>:"))
(setq e (not (getpoint "\n左键不删除 <空格删除>")))
(setq c (/= "" (getstring "\n是否偏移到当前层<Y>")))
(if c (setq c nil)(setq c (getvar 'CLAYER)))
(if (setq ss (ssget '((0 . "Arc,Circle,Ellipse,*Line"))))
(offset ss d t t c e)
)
(princ)
)(defun c:tt1 ( / ss )
(if (setq ss (ssget))
(offset ss 5 t t nil t)
)
)
(defun c:tt2 ( / ss )
(if (setq ss (ssget))
(offset ss '(2.5 3 3.5 4 4.5 5) t t "偏移后对象" nil)
)
(princ)
)
(defun c:tt3 ( / ss )
(if (setq ss (ssget))
(mapcar
(function
(lambda (x)
(offset x '(2.5 3 3.5 4 4.5 5) t t "偏移后对象" nil)
)
)
(vl-remove-if 'listp (mapcar 'cadr (ssnamex ss)))
)
)
(princ)
)
(defun c:tt4 ( / ent )
(if (setq ent (car(entsel)))
(offset ent '(2.5 3 3.5 4 4.5 5) t t nil t)
)
(princ)
)
(defun c:tt5 ( / obj )
(if (setq obj (vlax-ename->vla-object (car(entsel))))
(offset obj '(2.5 3 3.5 4 4.5 5) t t nil t)
)
(princ)
)
尒樣僮
发表于 2017-11-8 13:03:29
来学习下 ,这是个好论坛
流动的清泉
发表于 2017-11-14 10:28:00
有没有人 试过,在用到射线的时候,程序就不能正常运行了。
timmy521
发表于 2020-2-10 11:30:41
谢谢收藏 了,好东西。
yangchao2005090
发表于 2020-6-30 17:07:38
maiko 发表于 2016-6-29 00:52
;;;来个vla简单的
请问一下空格不删除,左键删除这个怎么改一下啊
mashanjie
发表于 2023-8-22 18:37:53
琴剑江山_10184 发表于 2016-6-27 09:08
这个太赞了,给力,很好用,谢谢~是我想要的
renxianjing
发表于 2023-8-23 10:10:22
流动的清泉 发表于 2017-11-14 10:28
有没有人 试过,在用到射线的时候,程序就不能正常运行了。
选择集没有选中射线,要改。
射线是ray,在(0 . "Arc,Circle,Ellipse,*Line")中加入"ray"。