请问如何用vba获得图形信息
图形的实体信息。是通过那些命令呢?谢谢
不读取dxf。 先通过ObjectName判断实体的类型,然后再根据各个对象本身所提供的方法、属性来操作实体。公共的属性像Layer、Color等。 谢谢,知道大概的方法了。
又有问题了
文档对象,实际上就是AutoCAD图形,它可在Documents(文档)集合中找到,它提供访问所有图形还有大部分非图形的AutoCAD对象。通过提供的ModelSpace(模型空间)和PaperSpace(图纸空间)访问图形对象(线、圆、弧等),通过提供的如Layers(图层)、Linetypes(线型)和TextStyles(字型)这样名称的集合访问非图形对象(图层、线型、字型等)。Document(文档)对象也提供访问Plot(打印出图)和Utility(实用工具)对象。
请问有没有详细地说明或实例呀,比如我想提取出来一条支线的两个点的四个坐标
麻烦了,谢谢先!! ACAD的模型应该是Application应用程序-Document文档-ModelSpace模型空间,一般的绘图,实体全部在模型空间,通过遍历它就可以得到。另一种是通过选择集来选择实体,然后对其进行操作。 大哥,这些呢,我现在模模糊糊的理解了。但只是理论上的理解。
所以呢,希望你能给个例子。就这个吧,比如图形上有一条直线,通过编程获取他的起点和终点的坐标,然后msg显示出来。
呵,麻烦给写个代码吧,要不不好理解了,谢啦谢啦。
Dim lineobj As AcadLine
Dim selobj As AcadObject, selpnt As Variant
Dim mp1(0 To 2) As Double '起点
Dim mp2(0 To 2) As Double '终点
ThisDrawing.Utility.GetEntity selobj, selpnt, "请选择目标直线"
If (selobj.EntityName = "AcDbLine") Then
Set lineobj = selobj
mp1(0) = lineobj.StartPoint(0)
mp1(1) = lineobj.StartPoint(1)
mp2(0) = lineobj.EndPoint(0)
mp2(1) = lineobj.EndPoint(1)
End If 我有个类似的问题:不通过"ThisDrawing.Utility.GetEntity"再用鼠标选择,而是用程序选择AcadLine(已知ObjectID),然后修改端点!
请问高手如何代码实现? 使用文档对象的ObjectIDToObject来返回一个对象。
页:
[1]