7#不错啊
x_s_s_1 哥能不能将指定图层名改成选择识别那会通用了,。。。
本帖最后由 xyp1964 于 2012-8-4 00:46 编辑
没有源码,只有演示就算了
属于对垃圾图的处理,伪源码就不发了
本帖最后由 随梦而飞 于 2012-8-4 07:47 编辑
测试图一
1、我的邮箱1980006156qq.com
2、由于本人刚学LISP,请高手注明每行LISP语言的简要的说明性文字,方便我认真学一下,如有这个的教学更佳。
3、请提供联系方式在我的邮箱,以便悬赏到位,千万别不好意思,否则我会不安的。
4、轴线不缩放,缩放后标注尺寸数字不变。
5、源码适用CAD2006
6、支持批量选择
7、关于缩放比例,只要用标注量一下不是原位大样图,就知道了,如Z1,图中有原位大样图,还有Z1不是原位大样图
目的是将原位大样图缩成不是原位大样图
x_s_s_1 发表于 2012-8-3 18:41 static/image/common/back.gif
严正声明!!子函数均来自明经,非本人原创,尺寸的比例由于不知道个人习惯没有处理
不知道什么原因,在几台电脑上试了,均不成功。x_s_s_1
x_s_s_1 发表于 2012-8-3 21:30 static/image/common/back.gif
看来还要加一句啊,这个东西本来就是copy别人改的,本人从来不改别人函数名及变量名!!我也没说自己编 ...
提示; 错误: 参数类型错误: lselsetp nil,不能使用,请完善。
本帖最后由 x_s_s_1 于 2012-8-4 08:50 编辑
xiaodao520 发表于 2012-8-4 07:45 http://bbs.mjtd.com/static/image/common/back.gif
不知道什么原因,在几台电脑上试了,均不成功。x_s_s_1
请注意图层,要选中轴线图层中的图元才行,没时间改版,下面是针对测试图的
(vl-load-com)
;;;lst_ssn函数(lst_ssn ss)
;;;ss参数:选折集
;;;返回图元名表
(defun lst_ssn (ss / n lst)
(repeat (setq N (sslength ss))
(setq LST (cons (ssname SS (setq N (1- N))) LST))
) ;_ 结束repeat
) ;_ 结束defun
;;;计算曲线交点
(defun Curveinters (en1 en2 / pl pts)
(setq pl(vlax-invoke (vlax-ename->vla-object en2) 'IntersectWith (vlax-ename->vla-object en1) acExtendNone))
(while pl
(setq pts (append pts (list (list (car pl) (cadr pl) (caddr pl))))
pl (cdr (cdr (cdr pl)))
)
)
pts
)
(defun zsf (/ ss_all ss_dot ss_sc ss_pts pt ssets scal x objss )
(setvar "cmdecho" 0)
(prompt "\n请选择需要进行缩放的物体:")
(setq ss_all (ssget));此处可根据个人习惯增加图层(ssget'((8 . "colu,dim,sbar,dote,axis")))
(setq ss_dot (ssget "p" '((0 . "*line") (8 . "轴线__点划线"))));此处图层根据个人习惯改
(command "._Select" ss_all "remove" ss_dot "")
(setq ss_sc (ssget "p"))
(setq ss_pts (lst_ssn ss_dot))
(setq pt (car(Curveinters (car ss_pts) (cadr ss_pts))))
(setq ssets (lst_ssn ss_sc))
(if (setq scal (getreal "\n比例因子<0.25>:"))
t
(setq scal 0.25))
(foreach x ssets
(setq objss (vlax-ename->vla-object x))
(vla-scaleentity objss (vlax-3D-point pt) scal)
)
)
(defun c:scc ()
(zsf)
(princ)
)
x_s_s_1 发表于 2012-8-4 08:49 static/image/common/back.gif
请注意图层,要选中轴线图层中的图元才行,没时间改版,下面是针对测试图的
建议改改,使其具备通用性。标注大小缩放,轴线图层可以任意选择。
lpl 发表于 2012-8-4 10:07 static/image/common/back.gif
建议改改,使其具备通用性。标注大小缩放,轴线图层可以任意选择。
增加了通用性就增加了几个变量,几个回车,个人可根据自己的喜好去改,个人用的东西,考虑那么多通用干什么