vba,框选提取大量图形点(点名称,坐标)至文档中(.txt .xls)都行
www.dimcax.com
vba,框选提取大量图形点(点名称,坐标)至文档中(.txt .xls)都行
我做了一个,但不好用,望高手赐教,急用呀!!!
现在手工弄,累呀!!
thisdrawing.utility.getentity objselect, vbnewline & "选择点名[字符串]:"
pt = thisdrawing.utility.getpoint(, "选点:")
works.cells(row, 1).value = objtext.textstring
works.cells(row, 3).value = pt(0)
works.cells(row, 2).value = pt(1)
works.cells(row, 4).value = pt(2)
不健壮,不能框选,效率太低
望高手们帮助。谢谢。哈哈
re:vba,框选提取大量图形点(点名称,坐标)至文档中(.txt .xls)都行
沙发,不过看不懂你那玩意。
re:vba,框选提取大量图形点(点名称,坐标)至文档中(.txt .xls)都行
看不懂的别整垃圾呀,拜托哦
re:vba,框选提取大量图形点(点名称,坐标)至文档中(.txt .xls)都行
???
re:vba,框选提取大量图形点(点名称,坐标)至文档中(.txt .xls)都行
thisdrawing.utility.getentity objselect, vbnewline & "选择点名[字符串]:"
为单选对象,该句有误
thisdrawing.utility.getpoint(, "选点:")
为从屏幕上取点,返回的是选取点的坐标,是虚拟点位置,并不是一个对象;按你的要求框选点对象,应该是cad点图元,是存在的实体。两者并不对应,如果两者重合的话,从效果上看是一样的
正确的做法是用 选择集
dim setsname as string
setsname ="temp"
dim sets as acadselectionset
set sets=thisdrawing.selectionsets.add(setsname)
sets.selectonscreen
需要注意的是:
如果该选择集存在会发生错误,直接引用该选择集 .selectionsets(setsname),使用前需要清空 .clear
另外你需要的是点对象,需要加入过滤码
我有个模版:
dim filtertype(0) as integer
dim filterdata(0) as variant
filtertype(0) = 0
filterdata(0) = "point"
对应语句更改:
sets.selectonscreen filtertype, filterdata
filterdata在这里为dxf组码,常用组码:直线为line,参照线为mline,文字为text,多行文字为mtext,圆弧arc,圆circle。对于点,没用过,应该是point
如果不对,需要参考开发者文档,选择集部分与dxf组码部分。
然后
dim obj as acadentity
for each obj in sets
'在这里输入你的点输出代码
next
re:vba,框选提取大量图形点(点名称,坐标)至文档中(.txt .xls)都行
你的代码好像不怎么实用。一般而言,很少用到cad的点对象,最多作参考而已
re:vba,框选提取大量图形点(点名称,坐标)至文档中(.txt .xls)都行
多谢geabus
re:vba,框选提取大量图形点(点名称,坐标)至文档中(.txt .xls)都行
嗯,问题很多,思绪也很多,头也很大。嗨
re:vba,框选提取大量图形点(点名称,坐标)至文档中(.txt .xls)都行
哦,我不想重复我的问题,但这个论坛好像每次都把回复的帖子前置,我觉得不好,垃圾会越来越多,都是些重复了千百次的问,,