Das ShapeSheet

Gestern habe ich für eine technische Dokumentation Bögen gezeichnet. Wie? Mit dem ShapeSheet natürlich. Es ist ziemlich mühsam die ganzen Zahlen einzutippen und zu probieren, damit die Bögen gleichmäßig rund werden – aber es funktioniert. Und es sieht recht ordentlich aus.

boegen

Klebearten

Hi Rene,

Eine kurze Frage zu Visio:
1. Ich möchte gerne von dem Rechteck zum Kreis eine Linie ziehen.

2. Frage: Kann Visio diesen Vorgang des Pfeile-Ziehens in irgendeiner Weise protokollieren?

Ich danke Dir wieder für Deine Hilfe und sage jetzt schon mal wieder Danke für Deine Antwort!

Viele Grüße
Johannes

********************

Hallo Johannes,

schau mal ins ShapeSheet!

Es gibt zwei verschiedene Klebearten: dynamische und statische. Dynamisch bedeutet: der Verbinder klebt am Shape – Visio entscheidet an welchem Verbindungspunkt; statisch: der Verbinder klebt an einem Verbindungspunkt und „wandert“ nicht.

Wenn Du statisch klebst, dann steht der Name des Shapes, an dem der Verbinder klebt, im ShapeSheet des Verbinders, bspw:

=PAR(PNT(Rectangle!Connections.X1,Rectangle!Connections.Y1))

Wenn Du dynamisch klebst leider nicht – keine Chance es auszulesen!

Die Namen der (Kreis/Rechteck-, ….)Shapes kann man über Entwicklertools/Shape-Design/Shape-Name ermitteln und einsehen.

Die Tabelle muss man programmieren, weil man aus dem ShapeSheet-Code den per String-Funktionen den Text extrahieren muss.

liebe Grüße

Rene

shapesheet

Steckdose

Sehr geehrter Herr Martin,
ich habe neulich das Produkt von video2brain „Visio 2010 Programmierung“ erworben, wo Sie das Training leiten.
Ich hätte eine Bitte: ich kann im Video und auch sonst nirgends im I-Net die Lösung finden, wie man Shapes erstellen kann, welche aufgrund einstellbarer Shape-Daten sich auch verändern.
Vielleicht können Sie mir aufgrund dieses Beispieles (Weitere Shapes/Pläne und Grundrisse/Bauplan/Elektrik und Telekommunikation) Shape „Steckdose“, kurz erklären, wie das Shape sein Erscheinungsbild verändert? Gibt es das Shape in verschiedenen Versionen, die je nach Eigenschaftswert ein- und ausgeblendet werden?

Wünsche Ihnen auch eine gute Zeit.

Mit freundlichen Grüßen

Oskar V.

Hallo Herr V.,

um das zu verstehen, gehen Sie folgendermaßen vor:

* Schalten Sie die Registerkarte „Entwicklertools“ ein.
* Ziehen Sie das Shape „Steckdose“ auf das Zeichenblatt
* Wählen Sie aus Entwicklertools / Shape-Design / Verhalten die Option „Gruppe zuerst“ (nicht „nur Gruppe“). Das Shape ist ein gruppiertes Shape und besteht aus zwei Teilen
* Im ShapeSheet der Gruppe finden Sie der Zeile Prop.SubText in der Zelle Format =“Steckdose;Steckdose mit Schalter;Doppelsteckdose“
* Im ShapeSheet der Gruppe finden Sie der Zeile Prop.SubText in der Zelle Format =INDEX(1,Prop.SubType.Format)
* Wechseln Sie über die rechte Maustaste von Formeln zu Werten, dann sehen Sie, dass sich bei Format die Liste, bei Value die Auswahl befindet.
* Im Abschnitt User-defined Cells wird Bezug darauf genommen. In der Zelle User.Type finden Sie die Formel =LOOKUP(Prop.SubType,Prop.SubType.Format)
* Ein Klick auf Werte zeigt, dass LOOKUP die Nummer des ausgewählten Eintrags ermittelt.

* Wenn Sie nun in das Mitglieds-Shape der Gruppe wechseln (Klick – Klick), dann stellen Sie im ShapeSheet fest, dass die Linie in Geometry.2 dargestellt wird. In der Zelle Geometry2.NoShow steht folgende Formel: =IF(User.Alt,User.Type<>1,1)
* User.Alt steuert das Verhalten, das über das Kontextmenü angezeigt wird (Sie interessieren Sie aber für die Daten)
* User.Type<>1 greift auf die Zelle User.Type zurück, die sich aus dem übergeordneten Gruppen-Shape die Information zieht: =Sheet.4!User.Type (bei mir heißt es Sheet.4 – vielleicht heißt es bei Ihnen anders)
* Und darüber wird es ein- und ausgeblendet.

* Ich habe es mal (ohne Gruppe) nachgebaut und auf die wichtigsten Elemente reduziert, damit Sie es besser verstehen, was Visio macht.

Übrigens: einen Überblick über die Formeln finden Sie in meinen Visio-Büchern Visio 2010, Visio 20910-Programmierung und dem bald erscheinenden Visio 2013-Buch

schöne Grüße

Rene Martin

steckdose

Tabellenblätter ausblenden

Heute in der Visio-Schulung, als wir diskutiert haben, welche Unterschiede zwischen Tabellenblättern in Excel und Zeichenblättern in Visio existieren, meinte eine Teilnehmerin, dass man Blätter in Visio nicht ausblenden kann. Das hat mich neugierig gemacht – tatsächlich – man sie doch über das ShapeSheet unsichtbar machen. Dort existiert in der Gruppe „Page Properties“ eine Zelle „UIVisibility“. Wird der Wert auf 1 gesetzt, dann ist das Blatt ausgeblendet. Und wie wieder einblenden, habe ich mich gefragt? Nun – nicht schwer – über den Zeichnungsexplorer der Datei: Doppelklick auf das Blatt – und schon befinde ich mich auf dem Blatt „Pedelec“, das eigentlich wirklich nichts bei meinem Fahrrad zu suchen hat …

fahrrad_ausgeblendete_blätter

Dynamische Texte – Mehrsprachigkeit

ShapeSheet – einfach immer klasse! Bin gerade beim Abschnitt „Mehrsprachigkeit mit ShapeSheet“ und habe soeben folgendes Bild gemacht.

mehrsprachigkeit01

… oder die deutsche Übersetzung …

mehrsprachigkeit02

Dynamische Bilder

… und mit ein paar Zeilen Code im ShapeSheet kann man auch Bilder dynamisch ein- und ausblenden lassen. Ist gar nicht so schwierig.

bild

Die Fläche

Über den Befehl Ansicht/Makros/Add-Ons/Visio-Extras/Shape-Fläche und -Umfang kann Einblick in die Länge des Umfangs und in die Größe der Fläche eines Shapes genommen werden, wie Sie in der Abbildung sehen. Leider können Sie mit diesem Assistenten nicht die Fläche oder den Umfang in das Shape eintragen. Sie müssten sich die gewünschte Angabe mit Kopieren (Strg+C im Dialogfeld) und Einfügen übertragen, was den Assistenten nahezu obsolet macht. Bei komplizierten zusammengesetzten Shapes versagt bisweilen die eine oder andere Berechnung und liefert ein 0-Ergebnis.
Natürlich kann man eigene Felder einfügen. So können beispielsweise Rechtecke ihren Flächeninhalt als Text anzeigen. Dazu wird in der Benutzerformel
=Height*Width
eingefügt. Sie berechnet stets die korrekte Fläche eines Rechtecks.
Übrigens kann man mit der Benutzerformel auch rechnen. Beispielsweise die Fläche eines Kreises:
=Width*Width/4*PI()
Oder einer Ellipse:
=Width*Height/4*PI()
Oder von einem Parallelogramm:
=ABS(Geometry1.X1-Geometry1.X2)*Height.

flaeche

Mehrsprachigkeit

Immer wieder werde ich in Visio-Schulungen gefragt, wie man schnell eine mehrsprachige Zeichnung erstellen kann.
Nun eine Lösung besteht darin, die einzelnen Texte auf verschiedene Layer zu legen. Auf dem Blatt befindet sich ein Kontextmenü. Daruber werden die einzelnen Layer ein- bzw. ausgeblendet.
Und so kann man leicht von Polnisch auf Ukrainisch umschalten.
Jede (Action-)Zeile schreibt in eine benutzerdefinierte Zelle den Spracheintrag:
=SETF(„User.Sprache“,Actions.Row_1)
Die Zelle Visible der Layer vergleicht diesen Eintrag mit sich selbst. Beachten Sie, dass Sie bei einem Textvergleich kein Gleichheitszeichen, sondern die Funktion StrSame verwenden müssen!
=GUARD(STRSAME(User.Sprache,Layers.Name[8]))

mehrsprachigkeit02 mehrsprachigkeit01