Style

AutoCAD Map 3D .NET API

 
Style
 
 
 

Display Manager elements can have style associated with them.

DisplayManagement.Style is the base class for all the style classes. It is based on AutoCAD.DatabaseServices.DBObject, so it must be managed using AutoCAD transactions. The available style classes are:

  • DefaultStyle
  • EntityStyle
  • StylizationEntityAnnotationStyle
  • StylizationEntityHatchStyle
  • StylizationEntityTextStyle
  • RasterStyle
  • ThematicStyle

Element.AddStyle() creates a reference from the element to the style object in the database. Multiple elements can refer to the same style object.

To create a new style, call its Create() method. Set the appropriate properties for the style type. Save the style in the database and add it to an element. For example, the following creates a new entity style and assigns it to a layer element:

Try
  trans = activeDoc.TransactionManager.StartTransaction()
 
  ' Open the element for write, so the style can be added
  Dim layer As Element = trans.GetObject(layerId, _
    OpenMode.ForWrite)
 
  ' Pass 0.0 for the current scale
  Dim styleRefIterator As StyleReferenceIterator = _
    layer.GetStyleReferenceIterator(0.0, True, True)
 
  ' Add the style
  Dim styleEntity As EntityStyle = EntityStyle.Create()
 
  ' Set style properties
  Dim color As Autodesk.AutoCAD.Colors.Color = _
  color.FromColorIndex( _
    Autodesk.AutoCAD.Colors.ColorMethod.None, 5)
  styleEntity.Color = color
  styleEntity.Name = styleName
 
  Dim id As ObjectId
  id = layer.AddStyle(styleEntity, styleRefIterator)
  trans.AddNewlyCreatedDBObject(styleEntity, True)
 
  trans.Commit()
  trans = Nothing
Catch e As System.Exception
  ' Process exception
Finally
  If Not trans Is Nothing Then
    trans.Abort()
    trans = Nothing
  End If
End Try