ファミリ要素の表示

ファミリ要素の表示

FamilyElementVisibility クラスを使用すると、プロジェクト ドキュメント内のファミリ要素の表示をコントロールできます。たとえば、ドア ファミリがある場合、ドアが配置されるプロジェクト ドキュメントの平面図ビューにのみドア スイングを表示し、3D ビューには表示しないように設定できます。ドア スイングの曲線の表示を設定することによって、その表示をコントロールできます。FamilyElementVisibility は、SetVisibility()関数を持つ次のファミリ要素クラスに適用できます。

下の例では、作成されたファミリ ドキュメントに文字「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);

}