構造物スタイルを作成する

構造物スタイルは、ドキュメント内の構造物の外観を制御します。すべての構造物スタイル オブジェクトは、CivilDocument.Styles.StructureStyles プロパティに格納されます。構造物スタイルには、一般的な外観属性を制御するためのメソッドと、構造物に固有の表示属性を制御するための 3 つのプロパティがあります。GetDisplayStylePlan|Profile|Section() および GetHatchStyleProfile() メソッドは、変更されるフィーチャを定義するパラメータを取り、共通の表示属性(線分スタイルや色など)を制御する DisplayStyle または HatchDisplayStyle オブジェクトの参照を返します。PlanOptionProfileOptionSectionOption、および 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