• VB编程引用AutoCAD实体对象


    在使用实体对象属性或方法来编辑已经创建完毕的实体对象之前,必须用变量引用该对象,引用实体对象的方法有多种,可根据具体情况,选择恰当的方法来加以引用。

    在创建实体的同时引用实体对象。

    在创建实体对象时,Set语句设置的对象变量代表和引用该实体对象,下面的语句创建了一个圆对象,变量circleObj即引用该圆对象,可以设置属性,调用该方法来编辑该圆对象。语句circleObj=acRed设置Color属性,使该圆变红色。

    Dim circleobj As AcadCircle
    Dim centerpoint(0 To 2) As Double
    centerpoint(0) = 0#: centerpoint(1) = 0#: centerpoint(2) = 0#
    Set circleobj = acadapp.ActiveDocument.ModelSpace.AddCircle(centerpoint, 5)
    circleobj.Color = acRed

    用实体集合的Item方法引用实体对象

    如果已知实体在集合中的索引位置,可以用实体集合的Item方法引用该实体对象。

    下面的语句用变量Obj引用模型空间第三个实体对象,并将其颜色变为蓝色。

    Dim obj As AcadEntity
    Set obj = acadapp.ActiveDocument.ModelSpace.Item(2)
    obj.Color = acBlue
    obj.Update

    用HandleToObject方法引用实体对象

    实体对象的Handle属性返回对象的句柄,若已知对象的句柄,可以用对象的HandleToObject方法引用该实体对象,HandleToObject方法只能返回当前文档中的实体对象。

    newobj = object.HandleToObject(Handle)

    下面的语句创建一个圆,用Handle属性获得其句柄,然后用HandleToObject方法引用为2B的句柄,将其设置为红色。

    Private Sub Command1_Click()
        Dim circleobj As AcadCircle
        Dim centerpoint(0 To 2) As Double
        centerpoint(0) = 0#: centerpoint(1) = 0#: centerpoint(2) = 0#
        Set circleobj = acadapp.ActiveDocument.ModelSpace.AddCircle(centerpoint, 5)
        ZoomExtents
        circleobj.Update
        Dim handle As Variant
        handle = circleobj.handle
        MsgBox "圆的句柄是:" & circleobj.handle
        Dim tempobj As AcadObject
        Set tempobj = acadapp.ActiveDocument.HandleToObject(handle)
        tempobj.Color = acRed
        MsgBox "圆改变为红色"
        acadapp.ActiveDocument.Regen acActiveViewport
    End Sub

    用ObjectIdToObject方法引用实体对象

    若已知对象标识符ObjectID,可以用对象OjbectIdToOjbect方法引用该实体对象。

    newobj=object.ObjectIDToObject(ID)

  • 相关阅读:
    GUID
    ORA-04044: 此处不允许过程, 函数, 程序包或类型和
    去掉word文档两边的空白
    Mysql数据库服务启动
    计算两个日期之间的天数
    SpringMVC——接收请求参数和页面传参
    ajax中get和post区别
    如何实现两个页面之间进行传值
    面试题
    MySQL数据库优化
  • 原文地址:https://www.cnblogs.com/bimgoo/p/2503138.html
Copyright © 2020-2023  润新知