PinX und LocPinX

Gestern habe eine Visio-Zeichnung, aus der ich Informationen per Programmierung auslese, zurückgeschickt bekommen. Einige Informationen werden nicht gefunden, war der Vorwurf. Der Grund war schnell gefunden.
Der „Nachbarrtisch“ wurde nicht gefunden, weil ich davon ausgehe, dass der Pin sich immer in Mitte-Mitte des Shapes befindet. Wenn allerdings der Anwender (aus Versehen) den Pin verschiebt, so stimmen meine Programmierresultate nicht mehr.
Ich könnte nun die Position des LocPinX und LocPinY berechnen. Ich tendiere dazu in den Shapes die Funktion =Width*0.5 und Height*0.5 mit der Funktion GUARD zu sperren.

Pfeilrichtung

Ich lese per Programmierung die Laufrichtung von Gängen von Visio-Zeichnungen aus. Ich stutze, weil das Ergebnis nicht korrekt ist. Schaue mir die Zeichnungen genauer an: Warum zeigen einige Pfeile mit einem Winkel 90° nach links, während andere Pfeile mit dem Winkel -90° auch nach links zeigen? Die Lösung ist schnell gefunden: einige Pfeile wurden gespiegelt. Also muss man neben dem Winkel auch noch FlipY überprüfen. Dann findet man die Pfeilrichtung.

Gruppenschutz

Ich verwende diesen Pararmeter gerne und häufig in Visio.
Sicherlich ist Ihnen schon bei vielen Shapes aufgefallen, dass ein Schutz auf Ihnen liegt – das Aufheben der Gruppierung ist nicht möglich. Ein Blick in Entwicklertools / Shape-Design / Schutz hilft auch nicht weiter.
Der Schutz liegt eine Ebene tiefer: im ShapeSheet im Abschnitt „Protection“ wurde der Wert der Zelle „LockGroup“ auf 1 (True) gesetzt. So kann der Anwender nicht mehr versehentlich die Gruppierung aufheben ([Shift] + [Strg] + [U]).
Ich schalten diesen Schutzmechanismus gerne bei Shapes ein, die ich an Firmen ausliefere – ein kleiner Schutz.

Der Nummerierungsassistent

Amüsantes Problem, das letzte Woche in der Visio-Schulung aufgetreten ist:
Einer Firma arbeitet in Visio mit dem Nummerierungsassistenten. Die Nummer soll aber nicht im Shape sondern außerhalb angezeigt werden. Hierfür würde ein weiteres Shape angelegt, das die Nummer des ersten Shapes „zieht“, beispielsweise über:
=Sheet.1!Prop.ShapeNumber
Diese Nummer in den Shapedaten kann man nun anzeigen lassen.
Beide Shapes werden gruppiert, was allerdings zur Folge hat, dass sich der Verbindungspunkt nicht mehr in der Mitte des Shapes befindet, was man leicht feststellt, wenn man eine Verbindungslinie zieht.
Die Frage war: Wie bekommt man die Gruppe verkleinert?
Die Lösung: Man schiebt das „Nummernshape“ in das große Shape.
Anschließend legt man ein weiteres Shape auf die Gruppe, das man „zur Gruppe hinzufügt“ (Start / Anordnen / Gruppieren).
Nun kann man das „Hilfsshape“ wieder löschen und das Nummernshape zurückziehen.
Dann funktioniert das Verbinden.
Tipp: Wenn die Nummer nicht im Shape, also nicht auf der Gruppe erscheinen soll, schalten Sie beim Nummerieren die Option „Shape-Nummern ausblenden“ ein (zweite Registerkarte: „Weitere Optionen“)

Symmetrisches Shape

Hallo Herr Martin,
Das Zentrum des Shapes soll seine y-Koordinaten nicht verändern, nur die Linien sollen sich (symmetrisch?) verlängern und die Texte auf Höhe der Dreiecke bleiben. Wie mache ich so etwas?
Hallo Herr M.,
Die Antwort zu Ihrem Supply Limit: es gibt keine Taste, um die Höhe (oder Breite) symmetrisch zum Pin zu ändern. Man könnte es über das Fenster Ansicht / Größe und Position machen – umständlich!

Ich schlage ein bisschen ShapeSheet vor: Fügen Sie einen Controlpunkt ein und beziehen die beiden Labels, die beiden Dreiecke und die beiden Enden der Linie auf diesen Punkt.

Sie finden meine Lösung unten links in dem roten Kasten. Hilft das?

Ein Ventil

Heute fragte eine Teilnehmerin in der Visio-Schulung, wie man es machen kann, dass beim Vergrößern eines Ventils nur das „T“ wächst. Die Antwort: man muss einige relative Verweise durch absolute Zahlen ersetzen – dann wird weder das „N“ vergrößert noch ändert sich die Unterkante des „T“.

 

Hintergrund- und Vordergrund

Guten Tag Herr Martin,
Ich habe ihre Videos auf Video2Brain gesehen und angefangen mit Visio zu basteln. Ist es möglich im ShapeSheet des Zeichenblattes eine Referenz zu dem X Wert des Hintergrundes herzustellen?
Ziel ist es, dass das Hintergrundblatt ,bei Änderung von Hoch- in Querformat, sich automatisch anpasst.
Ich würde mich über eine Antwort freuen.

Mit freundlichen Grüßen FK.


Hallo Herr K.,
ja – verweisen Sie vom Hintergrundblatt auf das Vordergrundblatt, indem Sie bei PageWidth eintragen:
=Pages[Page-1]!ThePage!PageWidth
Analog bei PageHeight:
=Pages[Page-1]!ThePage!PageHeight
Und: dann sollten Sie Shapes die Hintergrundblattes auf die Größe verweisen lassen – also das Logo sitzt beispielsweise bei:
ThePage!PageWidth-10 mm
und bei
ThePage!PageHeight-10 mm
wenn die beiden LocPinX und LocPinY bei:
Width*1
und bei
Height*1 sitzen.

Text an der selben Position

Der Kunde möchte bestimmte Texte stets an der gleichen Stelle auf einem Zeichenblatt positioniert haben. genau: einige Millimeter oberhalb einer Linie.
Nun: mit einem Bezug auf die Y-Position des Shapes ist das kein Problem. Über ein Steuerelement kann der Text dennoch verschoben werden. So wie auch die Position des querlaufenden Balkens.

20161018messstelle01

201610108messstelle02

Verborgene Blätter und pdf

Amüsant: Für eine Firma habe ich eine Vorlage eingerichtet. Sie enthält ein Zeichenblatt mit mehreren Elementen. Die Vorlage enthält ein weiteres Zeichenblatt, das ich über das ShapeSheet ausgeblendet habe (UIVisibility 1).
Ein Blatt ist verborgen
Ein Blatt ist verborgen
Nun fragte mich der Kunde, warum beim pdf-Export zwei Blätter ausgedruckt werden. Natürlich mein verborgenes Blatt.
Leider ein Blatt zu viel im pdf-Dokument
Leider ein Blatt zu viel im pdf-Dokument
Um dies zu verhindern, schaue ich ins ShapeSheet, ob es dort eine Blatt-Eigenschaft „NonPrinting“ (wie beim Shape) gibt. Leider nein.
Nun – da ich nur die Informationen des verborgenen Blattes benötige, wandle ich es in ein Hintergrundblatt um. Und damit wird es auch nicht gedruckt.

Text drehen – geht nicht

Ein Teilnehmer in der Visio-Schulung wundert sich, dass er den Text eines Pfeiles mit dem Werkzeug „Textblock“ nicht drehen kann. Ich frage, ob er den Pfeil durch einen Verbinder erzeugt hat. Ein Blick in den Shape-Namen zeigt, dass er aus dem Master-Shape „Linie mit Pfeil“ erzeugt wurde.
Und ein zweiter Blick ins ShapeSheet zeigt – tatsächlich: der Winkel ist geschützt.

20160913pfeil