2017-02-10 5 views
0

drehen Ich möchte in der Lage sein, einen Live-Abschnitt mit der Revit 2017 API umzudrehen. Es würde dem UI-Feature entsprechen, das in meinen Bildern unten zu sehen ist.Wie kann ich einen Live-Bereich mit der Revit API

Before After

ich die eingebaut in ElementTransformUtils.MirrorElement verwendet hat versucht, aber das wird nur einen zweiten Abschnitt Marker mit einem zweiten Abschnitt Ansicht erstellen. Gibt es eine Möglichkeit, dies mit der Revit-API zu erreichen?

Antwort

1

Ich habe eine Lösung zu meinem Beitrag How can I flip a section using the Revit 2017 API auf dem Revit-API-Forum. Es stellt sich heraus, dass ich die Plural ElementTransformUtils.MirrorElements Funktion übersehen habe, von der ich annahm, dass sie fast genau die selbe war wie die Singular ElementTransformUtils.MirrorElement, abgesehen davon, dass mehrere Elementspiegel anstelle eines einzelnen Spiegels gemacht wurden. Der Plural ElementTransformUtils.MirrorElements hat einen bool mirrorCopies Parameter, den Sie auf false setzen können, wodurch der ursprüngliche Abschnitt gespiegelt wird, anstatt nur eine gespiegelte Kopie des Originals zu erstellen. Hier sind die beiden Funktionssignaturen Side-by-side:

void MirrorElement(
    Document document, 
    ElementId elementToMirror, 
    Plane plane 
); 

IList<ElementId> MirrorElements(
    Document document, 
    ICollection<ElementId> elementsToMirror, 
    Plane plane, 
    bool mirrorCopies 
); 

Mein Code endet wie folgt aussehen (mit elementsToMirror nur ein einziges Element enthält):

ElementTransformUtils.MirrorElements(document, elementsToMirror, mirrorPlane, false); 
0

Sie müssen die CropBox Eigenschaft des Objekts ViewSection ändern. Die Z-Komponenten der Min und Max Eigenschaften sollten invertiert werden.

+0

Pflege einen Code als Referenz zu teilen? Vielen Dank! – konrad

+0

Ja, könnten Sie bitte ein Codebeispiel teilen? Dies war der Weg, den ich ging, bevor ich eine Antwort von den Revit-API-Foren bekam. Einer der Leute, die auf meinen Post dort antworteten, sagte auch, dass das Setzen von 'mirrorCopies' auf' false' (laut meiner Antwort) nicht für sie funktionierte. Ich frage mich, ob meine Antwort für ältere Versionen von Revit nicht funktioniert. – skeletank

Verwandte Themen