我想看一级黄色大片_久久亚洲国产精品一区二区_久久精品免视看国产明星_91久久青青青国产免费

您的位置:網站首頁 > CAD新聞

VB編程引用AutoCAD實體對象

時間:2012-01-17 09:43:51 來源:未知

在使用實體對象屬性或方法來編輯已經創建完畢的實體對象之前,必須用變量引用該對象,引用實體對象的方法有多種,可根據具體情況,選擇恰當的方法來加以引用。

在創建實體的同時引用實體對象。

在創建實體對象時,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)


相關文章