パイプ スタイルは、ドキュメント内のパイプの外観を制御します。ドキュメント内のすべてのパイプ スタイル オブジェクトは、CivilDocument.PipeStyles collection コレクションに格納されます。パイプ スタイルには、一般的な外観属性を制御するための 4 つの表示メソッドと 3 つのハッチング メソッドと、パイプ固有の表示属性を制御するための 3 つのプロパティがあります。GetDisplayStyleProfile|Section|Plan() および GetH tchStyleProfile() メソッドは変更されるフィーチャを定義するパラメータを取り、共通の表示属性(線分スタイルや色など)を制御する DisplayStyle または HatchDisplayStyle オブジェクトの参照を返します。GetDisplayStyleModel()、GetH tchStylePlan()、および GetHatchStyleSection() メソッドはコンポーネント パラメータを取りません。
PlanOption および ProfileOption プロパティは、パイプの物理プロパティ、作図単位を使用するカスタム サイズ、またはその直前の作図サイズのパーセントに基づいて内壁、外壁、および終了ラインのサイズを設定します。HatchOption プロパティは、使用されるハッチングが適用されるパイプ領域を設定します。パイプ オブジェクトには、Pipe.Style プロパティを PipeStyle オブジェクトに割り当てることによってスタイルを設定します。
この例では新規のパイプ スタイル オブジェクトを作成し、そのプロパティの一部を設定します。既に同じ名前のスタイルが存在している場合、その既存のスタイルにプロパティを設定します。
Public Function CreatePipeStyle(ByVal sStyleName As String) As PipeStyle Dim oPipeStyleId As ObjectId Dim oPipeStyle As PipeStyle Dim trans As Transaction = tm.StartTransaction() Try oPipeStyleId = g_oDocument.Styles.PipeStyles.Add(sStyleName) Catch End Try If (oPipeStyleId = ObjectId.Null) Then Try oPipeStyleId = g_oDocument.Styles.PipeStyles.Item(sStyleName) Catch End Try If (oPipeStyleId = ObjectId.Null) Then MsgBox("Could not create or use a pipe style with the name:" & sStyleName) CreatePipeStyle = Nothing Exit Function End If End If oPipeStyle = trans.GetObject(oPipeStyleId, OpenMode.ForWrite) ' Set the display size of the pipes in plan view. We will ' use absolute drawing units for the inside, outside, and ' ends of each pipe. ' enter a value greater than or equal to 0.000mm and less than or equal to 1000.000mm oPipeStyle.PlanOption.InnerDiameter = 0.0021 oPipeStyle.PlanOption.OuterDiameter = 0.0024 ' Indicate that we will use our own measurements for the inside ' and outside of the pipe, and not base drawing on the actual ' type of pipe. oPipeStyle.PlanOption.WallSizeType = PipeWallSizeType.UserDefinedWallSize ' Inidcate what kind of custom sizing to use. oPipeStyle.PlanOption.WallSizeOptions = PipeUserDefinedType.UseDrawingScale oPipeStyle.PlanOption.EndLineSize = 0.0021 ' Indicate that we will use our own measurements for the end 'line of the pipe, and not base drawing on the actual type ' of pipe. oPipeStyle.PlanOption.EndSizeType = PipeEndSizeType.UserDefinedEndSize ' Inidcate what kind of custom sizing to use. oPipeStyle.PlanOption.EndSizeOptions = PipeUserDefinedType.UseDrawingScale ' ' Modify the colors of pipes using this style, as shown 'in plan view. oPipeStyle.GetDisplayStylePlan(PipeDisplayStylePlanType.OutsideWalls).Color = Color.FromRgb(255, 191, 0) ' orange, ColorIndex = 40 oPipeStyle.GetDisplayStylePlan(PipeDisplayStylePlanType.InsideWalls).Color = Color.FromRgb(191, 0, 255) ' violet, ColorIndex = 200 oPipeStyle.GetDisplayStylePlan(PipeDisplayStylePlanType.EndLine).Color = Color.FromRgb(191, 0, 255) ' violet, ColorIndex = 200 ' ' Set the hatch style for pipes using this style, as shown 'in plan view. oPipeStyle.GetHatchStylePlan().Pattern = "DOTS" oPipeStyle.GetHatchStylePlan().HatchType = Autodesk.Civil.DatabaseServices.Styles.HatchType.PreDefined oPipeStyle.GetHatchStylePlan().UseAngleOfObject = False oPipeStyle.GetHatchStylePlan().ScaleFactor = 9.0# oPipeStyle.GetDisplayStylePlan(PipeDisplayStylePlanType.Hatch).Color = Color.FromRgb(0, 255, 191) ' turquose, ColorIndex = 120 oPipeStyle.GetDisplayStylePlan(PipeDisplayStylePlanType.Hatch).Visible = True oPipeStyle.PlanOption.HatchOptions = PipeHatchType.HatchToInnerWalls trans.Commit() ed.WriteMessage("Create PipeStyle succeeded." + Convert.ToChar(10)) CreatePipeStyle = oPipeStyle End Function ' CreatePipeStyle