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