FamilyElementVisibility クラスを使用すると、プロジェクト ドキュメント内のファミリ要素の表示をコントロールできます。たとえば、ドア ファミリがある場合、ドアが配置されるプロジェクト ドキュメントの平面図ビューにのみドア スイングを表示し、3D ビューには表示しないように設定できます。ドア スイングの曲線の表示を設定することによって、その表示をコントロールできます。FamilyElementVisibility は、SetVisibility()関数を持つ次のファミリ要素クラスに適用できます。
GenericForm。Sweep や Extrusion などのフォーム クラスのベース クラス
SymbolicCurve
ModelText
CurveByPoints
ModelCurve
ReferencePoint
ImportInstance
下の例では、作成されたファミリ ドキュメントに文字「Hello World」とその下に線が表示されます。ファミリが Revit プロジェクト ドキュメントにロードされ、インスタンスが配置されている場合は、平面図ビューに線のみが表示されます。3D ビューでは、詳細レベルが簡略に設定されていない場合は、線と文字の両方が表示されます。詳細レベルが簡略の場合は、線が非表示になります。
コード領域 13-10: ファミリ要素の表示を設定 |
public void CreateAndSetVisibility(Autodesk.Revit.DB.Document familyDocument, SketchPlane sketchPlane) { // create a new ModelCurve in the family document XYZ p0 = new XYZ(1, 1, 0); XYZ p1 = new XYZ(5, 1, 0); Line line1 = Line.CreateBound(p0, p1); ModelCurve modelCurve1 = familyDocument.FamilyCreate.NewModelCurve(line1, sketchPlane); // create a new ModelText along ModelCurve line ModelText text = familyDocument.FamilyCreate.NewModelText("Hello World", null, sketchPlane, p0, HorizontalAlign.Center, 0.1); // set visibility for text FamilyElementVisibility textVisibility = new FamilyElementVisibility(FamilyElementVisibilityType.Model); textVisibility.IsShownInTopBottom = false; text.SetVisibility(textVisibility); // set visibility for line FamilyElementVisibility curveVisibility = new FamilyElementVisibility(FamilyElementVisibilityType.Model); curveVisibility.IsShownInCoarse = false; modelCurve1.SetVisibility(curveVisibility); } |