SWAYWOOD 发表于 2007-1-17 21:18:00

[求助]遍历块得到块中属性值的LIST

<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 5px; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 5px; MARGIN: 5px 20px; BORDER-LEFT: #cccccc 1px solid; PADDING-TOP: 5px; BORDER-BOTTOM: #cccccc 1px solid;">(DEFUN swp_get_attrib (en / f dxf)<br/>&nbsp; (WHILE en<br/>&nbsp;&nbsp;&nbsp; (SETQ dxf (ENTGET en))<br/>&nbsp;&nbsp;&nbsp; (IF&nbsp;(= (CDR (ASSOC 0 dxf)) "ATTRIB")<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (SETQ<br/>&nbsp;f (APPEND<br/>&nbsp;&nbsp;&nbsp;&nbsp; f<br/>&nbsp;&nbsp;&nbsp;&nbsp; (LIST<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (CDR (ASSOC 1 dxf))<br/>&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp; (SETQ en (ENTNEXT en))<br/>&nbsp; )<br/>&nbsp; f<br/>)</div><p></p><p><font size="4"><strong>本来是想获取当前块(EN)中属性值的LIST的,结果出现了遍历图中自该图元后所有块的属性的错误,不知道怎么修改,请看看怎么改啊!</strong></font><a name="295"></a><br/></p>

龙龙仔 发表于 2007-1-18 08:36:00

(defun SWP_GET_ATTRIB (EN / F DXF)<br/>&nbsp; (setq DXF (entget EN))<br/>&nbsp; (if (and (= (DXF 0 EN) "INSERT")<br/>&nbsp;&nbsp;&nbsp; (assoc 66 DXF)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp; (while (and&nbsp;(setq EN (entnext EN))<br/>&nbsp;&nbsp;(setq DXF (entget EN))<br/>&nbsp;&nbsp;(/= (cdr (assoc 0 DXF)) "SEQEND")<br/>&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq<br/>&nbsp;F (append<br/>&nbsp;&nbsp;&nbsp;&nbsp; F<br/>&nbsp;&nbsp;&nbsp;&nbsp; (list<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (cdr (assoc 1 DXF))<br/>&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp; )<br/>&nbsp; )<br/>&nbsp; F<br/>)

SWAYWOOD 发表于 2007-1-18 14:02:00

多谢龙版!

无痕 发表于 2007-1-18 14:21:00

本帖最后由 作者 于 2007-1-18 14:23:07 编辑

(defun c:tt()
(setq blk (car(entsel)));;本行可根据需要修改
(mapcar 'vla-get-textstring (vlax-invoke (vlax-ename->vla-object blk) 'GetAttributes));;本行为根据块实体名求属性值列表
)

zwf100 发表于 2013-11-16 19:41:22

稍加修改应该不错
页: [1]
查看完整版本: [求助]遍历块得到块中属性值的LIST