highflybir
发表于 2012-1-6 08:51:15
本帖最后由 highflybir 于 2012-1-25 20:27 编辑
byghbcx 发表于 2012-1-6 08:16 http://bbs.mjtd.com/static/image/common/back.gif
高飞鸟写的程序有点像HIGHFILYBIRD的风格,该程序对外部参照、嵌套非等比例块、属性文字等内容暂不支持原位 ...
其实对嵌套非等比例块还是支持的,只不过对非正交变换不支持。
byghbcx
发表于 2012-1-6 09:08:49
本帖最后由 byghbcx 于 2012-1-6 14:50 编辑
highflybir 发表于 2012-1-6 08:51 http://bbs.mjtd.com/static/image/common/back.gif
其实对嵌套非等比例块还是支持的,只不过对两次以上的非等比变换不支持。
我原来也写过一个,方法原始,没用矩阵转换,但发现对属性文字不支持,近两天修改了一下,支持外部参照、嵌套非等比例块、属性文字。我还有个新想法就是能交互选择嵌套块中的图元、图块提出来。
xshrimp
发表于 2012-1-9 08:58:39
简单的块内实体复制
(defun c:bc (/ e el)
(while(and(setq e(nentselp "\n选择块内实体: "))
(= (length e) 4)
)
(setq el (entget (car e)))
(entmake el)
(vla-transformby
(vlax-ename->vla-object (entlast))
(vlax-tmatrix (caddr e))
)
)
(princ)
)
xshrimp
发表于 2012-1-9 09:08:02
再来个稍微复制点的.
;xshrimp 2009.3.13
(defun c:nn ( / acaddocument acadobject blockobj blockrefobj i mspace n nent obj objent)
(VL-LOAD-COM)
(defun make*ublock(obj / blockobj)
(setq blockObj (vla-add (vla-get-Blocks AcadDocument) (vlax-3d-point (list 0 0 0))"*U" ))
(vla-CopyObjects AcadDocument
(vlax-safearray-fill
(vlax-make-safearray vlax-vbObject (cons 0 0) )
(list obj)
)
blockObj
)
(vla-delete obj)
(vla-get-nameblockObj)
)
(setq AcadObject (vlax-get-acad-object)
AcadDocument (vla-get-ActiveDocument Acadobject)
mSpace (vla-get-ModelSpace Acaddocument)
)
(if (= (length (setq nent (nentsel))) 4)
(progn
(entmake (entget (car nent)))
(setq objent (vlax-ename->vla-object (entlast))i 0)
(foreach n (last nent)
(setq obj (vlax-ename->vla-object n))
(setq blockRefObj
( vla-InsertBlock
mSpace
(vla-get-InsertionPoint obj)
(make*ublockobjent )
(vla-get-xScaleFactor obj)
(vla-get-yScaleFactor obj)
(vla-get-zScaleFactor obj)
(vla-get-Rotation obj)
)
)
(setq i (1+ i))
(if(> i 1)(command "_.explode" (entlast)))
(setq objent(vlax-ename->vla-object (entlast)))
);end foreach
(command "_.explode" (entlast))
(sssetfirst nil (ssget "p"))
)
)
(prin1)
)
自贡黄明儒
发表于 2012-1-9 15:05:02
高飞鸟 发表于 2012-1-2 23:13 static/image/common/back.gif
下面的代码不知道可以吗:
我为了画中垂线,须求得块内曲线与曲线在交点处的交角,我发贴求助,没有人回答。原来这么复杂。现在有望解决了。不过,对于块的坐标变换,我仍不是很清楚。
teykmcqh
发表于 2012-1-22 02:59:39
提出一个改块名问题:图形中有相同名称的块,只想点选其中一个块,改变其块名,而不影响其它的原块名,谁提一下建议吧
teykmcqh
发表于 2012-1-22 03:07:20
真搞不懂,明明已经登录,可点击下载byghbcx的ncopy.lsp时,还是不断提示登录,无法下载啊!
goubeishu
发表于 2012-1-30 13:45:25
谢谢楼主分享!
eversky
发表于 2012-4-5 17:03:38
谢谢各位提供的插件!!
chleiwu
发表于 2013-4-12 19:21:16
希望高手们继续优化,搞出可框选的来