Attribute properties example

Sub Example_AttributeProps()

     ' This example creates a block containing a line and an arc.

     ' It then inserts the block, adds attributes and

     ' returns various properties of the attributes.

 

     ' Create the block

     Dim blockObj As IntelliCAD.Block

     Dim insPt As IntelliCAD.Point

     Dim BlkName As String

     BlkName = InputBox("Type a block name")

     Set insPt = Library.CreatePoint(4, 3, 0)

     Set blockObj = ThisDocument.Blocks.Add(insPt, BlkName)

     ' Add a a line and an arc to the block

     Dim lineObj As IntelliCAD.Line

     Dim myStartPt As IntelliCAD.Point

     Dim myEndPt As IntelliCAD.Point

     Dim arcObj As IntelliCAD.Arc

     Dim cenPt As Point

     Dim radius As Double

     Set lineObj = ThisDocument.ModelSpace.AddLine(Library.CreatePoint(4, 4), Library.CreatePoint(7, 1))

     Set cenPt = Library.CreatePoint(3, 4, 0)

     radius = 1

     Set arcObj = blockObj.AddArc(cenPt, radius, 1, 2)

     ' Define the attribute definition

     Dim attributeObj As IntelliCAD.AttributeDef

     Dim height As Double

     Dim prompt As String

     Dim tag As String

     Dim value As String

     height = 1

 

     prompt = "Attribute Prompt"

     tag = "Attribute Tag"

     value = "Attribute Value"

 

     ' Create the attribute definition object in model space

     Set attributeObj = blockObj.AddAttributeDef(height, vicAttributeModeVerify, prompt, insPt, tag, value)

 

     ' Insert the block

     Dim blockRefObj As IntelliCAD.BlockInsert

     Set blockRefObj = ThisDocument.ModelSpace.InsertBlock(insPt, BlkName, 1, 1, 1, 0)

     MsgBox "The block " & BlkName & " has been inserted."

 

     Dim anyAttributes As Boolean

     Dim Array1 As Variant

     Dim count As Integer

     anyAttributes = blockRefObj.HasAttributes

     MsgBox "The HasAttributes property is: " & anyAttributes

 

     Dim atts As Attributes

     Dim att As IntelliCAD.Attribute

     Set atts = blockRefObj.GetAttributes

     For Each att In atts

          MsgBox "Tag String: " & att.TagString & Chr(13) & "Field length: " & att.FieldLength & Chr(13) & "Constant property: " & att.Constant & Chr(13) & "Invisible property: " & att.Invisible & Chr(13) & "Preset property: " & att.Preset & Chr(13) & "Verify property: " & att.Verify

     Next att

 

End Sub