Messstelle

Hallo Herr Martin,

nach einer längeren Pause beschäftige ich mich wieder mit AVEVA Diagrams bzw. Visio.

Ich möchte ein Shape für eine Messstelle zeichnen, das aus 4 Linien mit round=5 (Kreis) und einer Führungslinie besteht.

Wenn ich den Griffpunkt der Führungslinie nach rechts bewege, soll die Führungslinie am Quadrantenpunkt des Kreises (x=10, y=5) beginnen und horizontal bis zum Griffpunkt laufen. Links analog.

Wenn ich den Griffpunkt der Führungslinie nach unten bewege, soll die Führungslinie am Quadrantenpunkt des Kreises (x=5, y=0) beginnen und vertikal bis zum Griffpunkt laufen. Oben analog.

Ideal wäre, wenn die Führungslinie sich nur in den 4 gewünschten Richtungen zeigt und an den 4 Quadrantenpunkten des Kreises verankert und keine Zwischenpositionen oder -winkel einnehmen würde.

Haben Sie zu dieser Aufgabenstellung eine Idee oder ein Beispiel?

Hallo Herr M.,

so funktioniert es:

* Erstellen Sie einen Kreis. Wechseln Sie in das ShapeSheet. Schalten Sie dort im Abschnitt „Protection“ den LockAspect auf

=GUARD(1)

So bleibt er ein Kreis.

* Fügen Sie eine zweite Geometriesektion hinzu, in der Anfang und Ende in die folgenden Zeilentypen geändert werden:

MoveTo und LineTo

* Fügen Sie einen weiteren Abschnitt „Controls“ hinzu.

* Damit man den Kontrollpunkt nicht aus dem Shape herausziehen kann, wird in einer User-defined cell die Begrenzung festgelegt:

=IF(Controls.Row_1.Y>Height,SETF(„Controls.Row_1.Y“,Height),0) und

=IF(Controls.Row_1.Y<0,SETF(„Controls.Row_1.Y“,0),0)

* Das Ende der Linie, also x und y, verweisen auf das Control:

=Controls.Row_1 und

=Controls.Row_1.Y

Der y-Anfangspunkt hat die gleich y-Koordinate wie das Ende:

=Geometry2.Y2

* Bei x ist ein wenig Rechnung nötig:

=SQRT((Width/2)^2-(Width/2-Geometry2.Y1)^2)+Width/2

Der Grundgedanke ist die Formel des Kreises: x² + y² = 1

Für die linke Seite analog:

IF(Controls.Row_1>Width/2,SQRT((Width/2)^2-(Width/2-Geometry2.Y1)^2)+Width/2,-SQRT((Width/2)^2-(Width/2-Geometry2.Y1)^2)+Width/2)

Damit man bequem zwischen horizontal und vertikal umschalten kann, wird ein Abschnitt „Action“ eingefügt. In einer benutzerdefinierten Zelle wird festgelegt:

=“1 = horizontal // 2 = vertikal“

Darauf wird Bezug genommen:

* Das Menü der ActionZeile zeigt an:

=IF(User.horizontal=1,“vertikal“,“horizontal“)

* die Action selbst schaltet um:

=IF(User.horizontal=1,SETF(„User.horizontal“,2),SETF(„User.horizontal“,1))

* Die Zelle Geometry2.NoLine belndet ein oder aus:

=User.horizontal<>1

* und nun kann der dritte Geometrieabschnitt erzeugt werden, in dem Bezug genommen wird:

IF(Controls.Row_2.Y>Height/2,SQRT((Height/2)^2-(Height/2-Geometry3.X1)^2)+Height/2,-SQRT((Height/2)^2-(Height/2-Geometry3.X1)^2)+Height/2)

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.