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);
}
|