几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量

几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量 (http://www.dimcax.com/hust/index.php)
-   ObjectARX(AutoLISP) (http://www.dimcax.com/hust/forumdisplay.php?f=178)
-   -   请教个组码读取与更新的问题 (http://www.dimcax.com/hust/showthread.php?t=12600)

yang686526 2009-04-27 12:45 PM

请教个组码读取与更新的问题
 
请教个组码读取与更新的问题
www.dimcax.com
请教个组码读取与更新的问题
请教个组码读取与更新的问题
d
原创加密lisp真正的破解.原创lisp操作cad内置对话框.原创lisp直接调用win32 api.原创lisp开发小助手(代码自动生成器).原创vba语句->lisp语句解释器.原创lisp音乐播放器.原创lisp直接使用vba对话框.
实现思路:
用(nth)函数逐一读取上述关联序列内的元素,如得到a,用(= 302 (car a))条件判断是否成立,如成立将a元素再追加至一个表,形成((302 . "st")(302 . "大理石")(302 . "800x800")),然后再用(nth)函数顺序调用即可。
谢谢nonsmal、ljttjl
我在国外一个论坛上找到这个:
(setq ent (entsel))
(setq ed (entget (car ent)))
(foreach item ed
(if (= (car item) 330)
(setq attnamelst (cons (vlax-ename->vla-object (cdr item))
attnamelst))
)
)
(setq vname (vla-getblockattributevalue
(vlax-ename->vla-object (car ent))
(vla-get-objectid (nth 6 attnamelst))))
(if (= vname "st")
(vla-setblockattributevalue
(vlax-ename->vla-object (car ent))
(vla-get-objectid (nth 6 attnamelst))"gt")
)
但是只能替换指定的第几个图元302码,如:上例的6
有没办法改得通用性强一点。我的目的是想将满足类似st/大理石/800x800这种多属性组合的换成其它的。(也就是材料替换)
帮帮忙
d
高手帮帮忙啊
d
高手帮帮忙啊


所有的时间均为北京时间。 现在的时间是 08:27 PM.