如何得到标注在图纸上显示的文字
一个标注,在图元中组码1对应的文字为 "AA<>BB" "" "17.23" "17"组码42中对应的文字均为17.2322,
请问如何得到标注在图纸上实际显示的内容
"AA17BB" "R17" "17.23" "17"
本帖最后由 自贡黄明儒 于 2015-1-27 15:37 编辑
取组码1的内容,<>由组码42替换 自贡黄明儒 发表于 2015-1-27 15:34 static/image/common/back.gif
取组码1的内容,由组码42替换
非常感谢您的回复
1. 对于半径标注组码1的内容为"<>",组码42的内容为17.2322,显示内容为R17,用组码42的内容替换下来为17.2,还是不对啊。
2. 组码1内容为"AA<>BB",组码42的内容为17.2322,显示内容为"AA17.2BB",怎么对组码42的内容取小数点的位数?这个小数点位数可能是不同标注取的,保留位数不一样。
3. 能否用先炸开,获得标注文字,再将标注复原,将标注文字替换原来的文字的方法实现?为何CAD的炸开能获得显示的文字? CAD的炸开标注的是怎么做到得到图纸上的标注显示内容的? 本帖最后由 自贡黄明儒 于 2015-1-28 16:46 编辑
什么情况,上面不是已经说了吗 (ssget "_P" '((0 . "MTEXT"))) 可能我的描述容易引起误解,我的意思还是“如何得到标注在图纸上显示的文字”
用组码1和组码42是无法达到获得图面上的标注文字的效果。
(ssget "_P" '((0 . "MTEXT")))只是选择多行文字,如何再将其组合成标注呢?
在CAD中的炸开命令是怎么做到炸开前和炸开后显示的一样。 本帖最后由 vectra 于 2015-1-28 19:36 编辑
请用entnext函数获取一个Text对象,并取其组码值1,如下例:
选择对象: ((-1 . <图元名: -2670c8>) (0 . "DIMENSION") (330 . <图元名: -269308>) (5 .
"30F") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (100 .
"AcDbDimension") (2 . "*D3") (10 2986.88 4548.49 0.0) (11 2589.02 4550.58 0.0)
(12 0.0 0.0 0.0) (70 . 32) (1 . "") (71 . 5) (72 . 1) (41 . 1.0) (42 . 795.734)
(73 . 0) (74 . 0) (75 . 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 2191.15 4092.66 0.0)
(14 2986.88 4092.66 0.0) (15 0.0 0.0 0.0) (16 0.0 0.0 0.0) (40 . 0.0) (50 .
0.0) (100 . "AcDbRotatedDimension") (-3 ("ACAD" (1000 . "DSTYLE") (1002 . "{")
(1070 . 78) (1070 . 0) (1002 . "}"))))
命令: (entget(entnext(handent "30F")))
((-1 . <图元名: -267058>) (0 . "TEXT") (330 . <图元名: -269308>) (5 . "31D") (100 .
"AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (100 . "AcDbText") (10 2593.05
4560.79 0.0) (40 . 2.5) (1 . "795,73") (50 . 0.0) (41 . 0.7) (51 . 0.0) (7 .
"HZF") (71 . 0) (72 . 0) (11 0.0 0.0 0.0) (210 0.0 0.0 1.0) (100 . "AcDbText")
(73 . 0))
页:
[1]