lixiaochun 发表于 2005-3-17 10:16:00

如何用lisp程序提取尺寸标注的数值内容

我使用(setq ed1(entget (car(entsel"hi:"))))语句可以得到尺寸标注的数据列表:<BR>((-1 . &lt;图元名: 40062eb0&gt;) (0 . "DIMENSION") (330 . &lt;图元名: 40062cf8&gt;) (5 . "7E") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (100 . "AcDbDimension") (2 . "*D2") (10 12.0 4.21388 0.0) (11 6.0 6.08888 0.0) (12 0.0 0.0 0.0) (70 . 32) (1 . "") (71 . 5) (72 . 1) (41 . 1.0) (42 . 12.0) (52 . 0.0) (53 . 0.0) (54 . 0.0) (51 . 0.0) (210 0.0 0.0 1.0) (3 . "ISO-25") (100 . "AcDbAlignedDimension") (13 0.0 -0.625 0.0) (14 12.0 -0.625 0.0) (15 0.0 0.0 0.0) (16 0.0 0.0 0.0) (40 . 0.0) (50 . 0.0) (100 . "AcDbRotatedDimension"))<BR>但是其中没有显示出标注的数值。<BR>用什么方法可以得到标注的数值呢?<BR>谢谢!

ljpnb 发表于 2005-3-17 11:49:00

用VLISP函数可以实现


(setq obj (vlax-Ename-&gt;Vla-Object (car (entsel))))<BR>(setq len (vla-get-Measurement obj))

meflying 发表于 2005-3-17 13:35:00

(42 . 12.0)


这个不是标注的数值吗?

lixiaochun 发表于 2005-3-21 09:19:00

谢谢二位的帮助。


还要加强对数据表的理解。帮助中的说明太难懂了,哪里有通俗的讲解呢?

jaminth 发表于 2008-7-22 23:36:00

<p>如果尺寸的值被修改了,如</p><p>原来实际尺寸为1200,&nbsp; 可被人为修改为2500,</p><p>用2楼的方法,提取出来的还是1200!</p><p>请问:用VLISP函数可以把2500提取出来吗?!</p>

byghbcx 发表于 2008-7-23 08:41:00

jaminth发表于2008-7-22 23:36:00static/image/common/back.gif如果尺寸的值被修改了,如原来实际尺寸为1200,&nbsp; 可被人为修改为2500,用2楼的方法,提取出来的还是1200!请问:用VLISP函数可以把2500提取出来吗?!

<p>(setq len (vla-get-textoverride obj))</p>

jaminth 发表于 2008-7-23 21:08:00

<p>用VLISP函数可以直接修改尺寸的值(文字)吗?!</p><p>比如测量尺寸是1200,我想直接用VLISP函数改成1300?!</p>

muwind 发表于 2008-7-23 23:00:00

<p>这个问题刚好我提过类似的,已经有人解答,目前我也正在用,你可以参考下下</p><p><a href="http://bbs.mjtd.com/forum.php?mod=viewthread&tid=68788&amp;replyID=100302&amp;skin=1">http://bbs.mjtd.com/forum.php?mod=viewthread&tid=68788&amp;replyID=100302&amp;skin=1</a></p><p>里面有个小问题我在回帖也说明了,只要增加个条件判断就可以解决了</p>
页: [1]
查看完整版本: 如何用lisp程序提取尺寸标注的数值内容