明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3074|回复: 7

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

[复制链接]
发表于 2005-3-17 10:16 | 显示全部楼层 |阅读模式
我使用(setq ed1(entget (car(entsel"hi:"))))语句可以得到尺寸标注的数据列表:
((-1 . <图元名: 40062eb0>) (0 . "DIMENSION") (330 . <图元名: 40062cf8>) (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"))
但是其中没有显示出标注的数值。
用什么方法可以得到标注的数值呢?
谢谢!
发表于 2005-3-17 11:49 | 显示全部楼层
用VLISP函数可以实现 (setq obj (vlax-Ename->Vla-Object (car (entsel))))
(setq len (vla-get-Measurement obj))
发表于 2005-3-17 13:35 | 显示全部楼层
(42 . 12.0)


这个不是标注的数值吗?
 楼主| 发表于 2005-3-21 09:19 | 显示全部楼层
谢谢二位的帮助。


还要加强对数据表的理解。帮助中的说明太难懂了,哪里有通俗的讲解呢?
发表于 2008-7-22 23:36 | 显示全部楼层

如果尺寸的值被修改了,如

原来实际尺寸为1200,  可被人为修改为2500,

用2楼的方法,提取出来的还是1200!

请问:用VLISP函数可以把2500提取出来吗?!

发表于 2008-7-23 08:41 | 显示全部楼层
jaminth发表于2008-7-22 23:36:00如果尺寸的值被修改了,如原来实际尺寸为1200,  可被人为修改为2500,用2楼的方法,提取出来的还是1200!请问:用VLISP函数可以把2500提取出来吗?!

(setq len (vla-get-textoverride obj))

发表于 2008-7-23 21:08 | 显示全部楼层

用VLISP函数可以直接修改尺寸的值(文字)吗?!

比如测量尺寸是1200,我想直接用VLISP函数改成1300?!

发表于 2008-7-23 23:00 | 显示全部楼层

这个问题刚好我提过类似的,已经有人解答,目前我也正在用,你可以参考下下

http://bbs.mjtd.com/forum.php?mod=viewthread&tid=68788&replyID=100302&skin=1

里面有个小问题我在回帖也说明了,只要增加个条件判断就可以解决了

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-14 20:35 , Processed in 0.159784 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表