一个块的问题--龙版主请进
龙版主及各位高手大侠们:本人编程过程中,想对附件的块中的点坐标用Lisp从一个文本文件中取得坐标,再写入块里的ATTDEF,但要求不能打散块。但知识有限,只知道从文件中读取数据,但不知怎样写入。还望龙版主及各位高手大侠们赐教。本人忠心感谢。
我只想到
一、先打散块再用“ssget "X"寻找“ATTDEF"的名称
二、再用改变其(1 . "")的值来改变它的默认值。
三、将其合成块。合成之后其块值会为默认值。
但合成块时在LISP中难以实现,用(command)中的"-BLOCK"命令后其块会消失。
再用插入命令后会再次要你输入其值,如果其块只有一两个则可用“空格“对付,如果
块多了则不好输入,且如不知其块的个数,则LISP跟本不能用。 <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt">说了那么多但你有提供<FONT face="Times New Roman">-----<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></FONT>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt">文本吗?<o:p></o:p>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt">属性与文本的对应关係?<o:p></o:p>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt">多块时的数据要如何对应文本?<o:p></o:p> 龙版主你好:
这个文本是样式,我想把文本里的数据一一对应用于表格中。
当然,这是我的一个简单的例子,我现在应用的实际程序中比较复杂,
我想通过这个例子来寻找一种更为好用的程序步骤。
非常感谢龙版主能给于回复。
(defun C:TT (/ LST BLK)
(vl-load-com)
;;建构表
(setqLST '((1 0.365)
(2 0.385)
(3 0.545)
(4 0.665)
(5 0.755)
(6 0.805)
)
)
;;选图块
(setq BLK (vlax-ename->vla-object (car (entsel))))
;;填入值
(MAT_ATT BLK LST)
)(defun MAT_ATT (OBJ LST / ATT X)
(mapcar
'(lambda (ATT X)
(vla-put-textstring ATT (rtos (nth 1 (nth X LST))))
)
(vlax-invoke OBJ 'GETATTRIBUTES)
'(2 4 5 3 1 0)
)
)
页:
[1]