構造物スタイルは、ドキュメント内の構造物の外観を制御します。すべての構造物スタイル オブジェクトは、CivilDocument.Styles.StructureStyles プロパティに格納されます。構造物スタイルには、一般的な外観属性を制御するためのメソッドと、構造物に固有の表示属性を制御するための 3 つのプロパティがあります。GetDisplayStylePlan|Profile|Section() および GetHatchStyleProfile() メソッドは、変更されるフィーチャを定義するパラメータを取り、共通の表示属性(線分スタイルや色など)を制御する DisplayStyle または HatchDisplayStyle オブジェクトの参照を返します。PlanOption、ProfileOption、SectionOption、および ModelOption プロパティは、構造物の表示サイズと、構造物を物理オブジェクトのモデルとして表示するか、または単なるシンボルとして表示するかを指定します。構造物オブジェクトには、Structure.StyleId または Structure.StyleName プロパティを StructureStyle オブジェクトに割り当てることによってスタイルを設定します。
この例では新規の構造物スタイル オブジェクトを作成し、そのプロパティの一部を設定します。スタイルが既に存在している場合は、既存のスタイルを変更します。
Public Function CreateStructureStyle(ByVal sStyleName As String) As StructureStyle Dim oStructureStyle As StructureStyle Dim oStructureStyleId As ObjectId Dim trans As Transaction = tm.StartTransaction() Try oStructureStyleId = g_oDocument.Styles.StructureStyles.Add(sStyleName) Catch End Try If (oStructureStyleId = ObjectId.Null) Then Try oStructureStyleId = g_oDocument.Styles.StructureStyles.Item(sStyleName) Catch End Try If (oStructureStyleId = ObjectId.Null) Then MsgBox("Could not create or use a structure style with the name:" & sStyleName) CreateStructureStyle = Nothing Exit Function End If End If oStructureStyle = trans.GetObject(oStructureStyleId, OpenMode.ForWrite) oStructureStyle.GetDisplayStylePlan(StructureDisplayStylePlanType.Structure).Color = Color.FromRgb(255, 191, 0) ' orange oStructureStyle.GetDisplayStylePlan(StructureDisplayStylePlanType.Structure).Visible = True oStructureStyle.PlanOption.MaskConnectedObjects = False oStructureStyle.PlanOption.SizeType = StructureSizeOptionsType.UseDrawingScale oStructureStyle.PlanOption.Size = 0.0035 oStructureStyle.GetDisplayStyleSection(StructureDisplayStylePlanType.Structure).Visible = False oStructureStyle.GetDisplayStyleSection(StructureDisplayStylePlanType.StructureHatch).Visible = False oStructureStyle.GetDisplayStylePlan(StructureDisplayStylePlanType.StructureHatch).Visible = False oStructureStyle.GetDisplayStyleProfile(StructureDisplayStylePlanType.Structure).Visible = False oStructureStyle.GetDisplayStyleProfile(StructureDisplayStylePlanType.StructureHatch).Visible = False trans.Commit() ed.WriteMessage("Create StructureStyle Successful." + Convert.ToChar(10)) CreateStructureStyle = oStructureStyle End Function ' CreateStructureStyle