Variablen (Erweiterte Textfunktionen)

www.CAD6.de

Malz++Kassner CAD6 unterstützt "Variablen", die global für die gesamten Zeichnung definiert werden. Sie bestehen aus einem Namen und einem rein textuellen Wert. Der Wert kann Referenzen zu anderen Variablen und Attributen, sowie Anweisungen enthalten.

 

 

Nutzung von Variablen in Texten

Damit eine Variable innerhalb von Texten bzw. Anweisungen ausgewertet werden kann, muss sie von Tilde-Zeichen ~ (Ansi 126) begrenzt sein, zum Beispiel ~Variable~. Der Text

Preis: ~Preis~ Euro

 

enthält die Variable "Preis". Falls die Variable "Preis" existiert, wird sie ausgewertet, das heißt, die Zeichenfolge "~Preis~" wird durch den Wert bzw. den Inhalt der Variablen "Preis" ersetzt. Hat die Variable zum Beispiel den Wert 29,95, wird der folgende Text erzeugt:

Preis: 29,95 Euro

 

Enthält ein Text eine Variable, die nicht existiert, kann diese auch nicht ausgewertet werden. In diesem Fall wird die Variable dann durch den Text (***UNDEFINIERT***) ersetzt. Im obigen Beispiel wäre der resultierende Text:

Preis: (***UNDEFINIERT***) Euro

 

Um das explizite Tilde-Zeichen auszugeben verwenden Sie bitte stattdessen \~.

 

 

Benutzerdefinierte Variablen

Zeichnungen können beliebige Variablen enthalten, die in der gesamte Zeichnung genutzt werden können. Diese Variablen werden mit Hilfe des Befehls Bearbeiten > Variablen editieren definiert. Hängen Sie einen Doppelpunkt an den Namen der Variablen an, um auf den Kommentar der Variablen anstatt auf ihren Wert zuzugreifen.

 

Beispiel

Steuersequenzen im Text, um auf den Wert der Variablen zuzugreifen:

Dateiversion: ~Version~

 

Möglicher angezeigter Text:

Dateiversion: 6.2.0

 

Steuersequenzen im Text, um auf den Kommentar der Variablen zuzugreifen:

Kommentar: ~Version:~

 

Möglicher angezeigter Text:

Kommentar: Freigegeben am 29.2.2024

 

 

Zeichnungsvariablen

Feste Zeichnungsvariablen existieren immer und werden von Malz++Kassner CAD6 automatisch initialisiert, sie können vom Benutzer nicht verändert werden.

 

Die folgenden festen Zeichnungsvariablen sind verfügbar:

~%A0~ oder ~%a0~

Name des Autors, der die Zeichnung erstellt hat

~%A1~ oder ~%a1~

Name des Autors, der die Zeichnung zuletzt gespeichert hat

~%A2~ oder ~%a2~

Name des Autors, der die Zeichnung gerade bearbeitet

~%D0~ oder ~%d0~

Datum der Erstellung der Zeichnung

~%D1~ oder ~%d1~

Datum der letzten Speicherung der Zeichnung

~%D2~ oder ~%d2~

Aktuelles Datum

~%D3~ oder ~%d3~

Aktuelles Jahr (2021, ..)

~%D4~ oder ~%d4~

Aktueller Monat (01..12)

~%D5~ oder ~%d5~

Aktueller Tag des Monats (01..31)

~%D6~ oder ~%d6~

Aktuelle Stunde (00..23)

~%D7~ oder ~%d7~

Aktuelle Minute (00..59)

~%D8~ oder ~%d8~

Aktuelle Sekunde (00..59)

~%N0~ oder ~%n0~

Dateiname der Seriendruck-Datenbank (einschließlich Pfad)

~%N1~ oder ~%n1~

Titel der Seriendruck-Datenbank

~%N2~ oder ~%n2~

Anzahl an Datensätzen für den Seriendruck

~%N3~ oder ~%n3~

Aktueller Datensatz für den Seriendruck

~%P0~ oder ~%p0~

Anzahl der Seiten

~%P1~ oder ~%p1~

Anzahl Blätter beim Druck auf mehrere Blätter

~%P2~ oder ~%p2~

Aktuelle Blattnummer beim Druck auf mehrere Blätter

~%P3~ oder ~%p3~

Nummer der Seite (in dem das Objekt liegt)

~%P4~ oder ~%p4~

Breite der Seite (in dem das Objekt liegt) in [mm]

~%P5~ oder ~%p5~

Höhe der Seite (in dem das Objekt liegt) in [mm]

~%P6~ oder ~%p6~

Breite der Seite (in dem das Objekt liegt) in [inch]

~%P7~ oder ~%p7~

Höhe der Seite (in dem das Objekt liegt) in [inch]

~%P8~ oder ~%p8~

Kommentar der Seite (in dem das Objekt liegt)

~%S0~ oder ~%s0~

Maßstab des aktiven Koordinatensystems

~%S1~ oder ~%s1~

Skalierungsfaktor bei der Ausgabe (wie im Druckdialog angegeben)

~%S2~ oder ~%s2~

Skalierungsfaktor bei der Ausgabe (wie in der Seite definiert)

~%S3~ oder ~%s3~

Drehwinkel bei der Ausgabe (wie in der Seite definiert) in [deg]

~%S4~ oder ~%s4~

Längeneinheit des aktiven Koordinatensystems

~%S5~ oder ~%s5~

Linieneinheit des aktiven Koordinatensystems

~%S6~ oder ~%s6~

Winkeleinheit des aktiven Koordinatensystems

~%V0~ oder ~%v0~

Erste Maßzahl (in einer beliebigen Bemaßungen)

~%V1~ oder ~%v1~

Zweite Maßzahl (in einer Koordinatenbemaßungen)

~%X0~ oder ~%x0~

Dateigröße in KB (im Speicher)

~%X1~ oder ~%x1~

Anzahl Objekte in der Zeichnung

~%X2~ oder ~%x2~

Anzahl interne Blöcke in der Zeichnung

~%X3~ oder ~%x3~

Anzahl benutzter externer Blöcke

~%X4~ oder ~%x4~

Anzahl benutzter Rastergrafikenen

~%X5~ oder ~%x5~

Anzahl benutzter externer Referenzen

~%Z0~ oder ~%z0~

Dateiname der Zeichnung (einschließlich Pfad)

~%Z1~ oder ~%z1~

Titel der Zeichnung

~%Z2~ oder ~%z2~

Thema der Zeichnung

~%Z3~ oder ~%z3~

Kommentar zur Zeichnung

~%Z4~ oder ~%z4~

Dateiname der Zeichnung (ohne Pfad)

~%Z5~ oder ~%z5~

Dateiname der Zeichnung (ohne Pfad und Endung)

 

Beispiel

Steuersequenzen im Text:

Seite ~%p3~ von ~%p0~

 

Möglicher angezeigter Text:

Seite 1 von 16

 

 

Datenbankanfragen

Datenbankanfragen sind nur verfügbar, wenn der Benutzer die jeweilige Datenbanken mit Hilfe des Befehls Bibliothek > Datenbanken geladen hat. Jede Zelle der Datenbank stellt dabei eine (virtuelle) Variable da, die mit Hilfe einer Datenbankanfrage ausgewertet werden kann.

 

Eine Datenbankanfrage hat eine der folgenden Formen:

~%[Datenbankname]Spaltennummer,Zeilennummer~

Holt den Inhalt der Zelle aus der Spalte Spaltennummer (beginnend mit 1) und der Zeile Zeilennummer (beginnend mit 1) der Datenbank mit dem Titel Datenbankname.

~%[Datenbankname]"Spaltenname",Zeilennummer~

Holt den Inhalt der Zelle aus der Spalte mit dem Titel Spaltenname und der Zeile Zeilennummer (beginnend mit 1) der Datenbank mit dem Titel Datenbankname.

~%[Datenbankname]Spaltennummer,"Suchtext"@Spaltensuchnummer~

Holt den Inhalt der Zelle aus der Spalte Spaltennummer (beginnend mit 1) und der Zeile, die den Text Suchtext in der Spalte Spaltensuchnummer (beginnend mit 1) enthält.

~%[Datenbankname]Spaltennummer,"Suchtext"@"Spaltensuchname"~

Holt den Inhalt der Zelle aus Spalte Spaltennummer (beginnend mit 1) und der Zeile, die den Text Suchtext in der Spalte mit dem Titel Spaltensuchname enthält.

~%[Datenbankname]"Spaltenname","Suchtext"@Spaltensuchnummer~

Holt den Inhalt der Zelle aus der Spalte mit dem Titel Spaltenname und der Zeile, die den Text Suchtext in der Spalte Spaltensuchnummer (beginnend mit 1) enthält.

~%[Datenbankname]"Spaltenname","Suchtext"@"Spaltensuchname"~

Holt den Inhalt der Zelle aus der Spalte mit dem Titel Spaltenname und der Zeile, die den Text Suchtext in der Spalte mit dem Titel Spaltensuchname enthält.

~%[Datenbankname]Spaltennummer,(UniqueID)~

Holt den Inhalt der Zelle aus der Spalte Spaltennummer (beginnend mit 1) in der Reihe der Datenbank mit dem Titel Datenbankname, die die ID UniqueID enthält.

~%[Datenbankname]"Spaltenname",(UniqueID)~

Holt den Inhalt der Zelle aus der Spalte mit dem Titel Spaltenname in der Reihe der Datenbank mit dem Titel Datenbankname, die die ID UniqueID enthält.

 

Wenn Spaltenname, Suchtext oder Spaltensuchname mit einem Sternchen ‘*’ beginnt, wird die Suche als Teiltextsuche ohne Berücksichtigung von Groß- und Kleinschreibung durchgeführt. Wenn nicht, wird die Suche auf Übereinstimmung des ganzen Texten und der Groß- und Kleinschreibung durchgeführt. Um Häkchen innerhalb von Namen oder Texten zu verwenden, die selbst in Häkchen stehen, verwenden Sie bitte stattdessen \". Gleiches gilt für runde und eckige Klammern, falls der Text durch diese begrenzt wird.

 

Wird die Datenbankanfrage in einem Text- oder Bemaßungsobjekt genutzt, welches mittels seiner LinkedID mit einem anderen Objekt verbunden ist, kann die eindeutige ID in den Klammern weggelassen werden und das Programm verwendet automatisch stattdessen LinkedID.

 

Um auf die interne Defaultdatenbank der aktuellen Zeichnung zuzugreifen, verwenden Sie nur ein Sternchen '*' als Datenbankname. Für die anderen internen Datenbanken verwenden Sie ein Sternchen gefolgt vom Namen der internen Datenbank, z.B. "*Stückliste1".

 

Beispiel

Steuersequenzen im Text:

~%[Produkte]"Beschreibung","53790"@"Teilenummer"~

 

Möglicher angezeigter Text:

Schalter, Form C, klein, schwarz

 

Erläuterung:

Technisch gesehen benutzt die Applikation die Datenbank mit dem Titel "Produkte". In dieser Datenbank sucht sie zuerst eine Spalte mit dem Titel "Teilenummer" (d.h. eine Spalte, die exakt den Text "Teilenummer" in der obersten Zelle enthält). In dieser Spalte sucht sie nach einer Zelle, die den Text "53790" enthält. Sobald gefunden, merkt sie sich die Nummer der Zeile in der sie die Zelle gefunden hat. Nun sucht sie eine Spalte mit dem Titel "Beschreibung" (d.h. eine Spalte, die exakt den Text "Beschreibung" in der obersten Zelle enthält) und nimmt den Inhalt der Zelle in dieser Spalte und der zuvor gemerkten Zeile.

In normalen Worten: Die Applikation sucht die Beschreibung des Produktes mit der Teilenummer 53790.

 

 

Seriendruckfelder

Seriendruckfelder sind nur verfügbar, wenn der Benutzer die dazugehörige Datenbank mit Hilfe des Befehls Bibliothek > Datenbanken geladen hat und der Seriendruck aktiv ist. Jede Zelle der Datenbank stellt dabei eine (virtuelle) Variable da, die mittels eines Seriendruckfeldes ausgewertet werden kann.

 

Eine Seriendruckfeld hat eine der folgenden Formen:

~%#Spaltennummer~

Holt den Inhalt der Zelle in Spalte Spaltennummer des aktuellen Eintrages der Seriendruck-Datenbank.

~%"Spaltenname"~

Holt den Inhalt der Zelle in der Spalte mit dem Titel Spaltenname des aktuellen Eintrages der Seriendruck-Datenbank.

 

Wenn Spaltenname mit einem Sternchen ‘*’ beginnt, wird die Suche als Teiltextsuche ohne Berücksichtigung von Groß- und Kleinschreibung durchgeführt. Wenn nicht, wird die Suche auf Übereinstimmung des ganzen Texten und der Groß- und Kleinschreibung durchgeführt.

 

Beispiel

Steuersequenzen im Text:

~%"Name"~

 

Möglicher angezeigter Text:

Müller

 

Erläuterung:

Das Programm benutzt die Spalte mit dem Titel "Name" (d.h. eine Spalte, die exakt den Text "Name" in der obersten Zelle enthält), und gibt die Spalteninhalt in der Zeile zurück, die gerade vom Benutzer (oder durch den Seriendruckvorgang) gewählt ist.

 

 

Objektmerkmale

Objektmerkmale sind Variablen, die es erlauben, auf Merkmale einzelner Objekte mittels derer eindeutigen ID zuzugreifen.

 

Die folgenden Objektmerkmale sind verfügbar:

~*p0(UniqueID)~

Flächeninhalt in Quadratmillimetern (falls verfügbar, ansonsten 0).

~*p1(UniqueID)~

Umfang / Länge in Millimetern (falls verfügbar, ansonsten 0).

~*p2(UniqueID)~

Maßzahl des Objekts (falls verfügbar, ansonsten Leertext).

~*p3(UniqueID)~

Text des Objekts (falls verfügbar, ansonsten Leertext).

~*p4(UniqueID)~

X-Koordinate in internen Millimetern, d.h. relativ zur Blattmitte und unabhängig vom Maßstab (falls verfügbar, ansonsten 0).

~*p5(UniqueID)~

Y-Koordinate in internen Millimetern, d.h. relativ zur Blattmitte und unabhängig vom Maßstab (falls verfügbar, ansonsten 0).

~*p6(UniqueID)~

Flächeninhalt in Quadrateinheiten, formatiert gemäß dem im Text aktiven Koordinatensystem (falls verfügbar, ansonsten 0).

~*p7(UniqueID)~

Umfang / Länge in Einheiten, formatiert gemäß dem im Text aktiven Koordinatensystem (falls verfügbar, ansonsten 0).

~*p8(UniqueID)~

X-Koordinate in Einheiten, formatiert gemäß dem im Text aktiven Koordinatensystem (falls verfügbar, ansonsten 0).

~*p9(UniqueID)~

Y-Koordinate in Einheiten, formatiert gemäß dem im Text aktiven Koordinatensystem (falls verfügbar, ansonsten 0).

~*p10(UniqueID)~

Name der Bibliothek / Datei / Rastergrafik (falls verfügbar, ansonsten Leertext).

~*p11(UniqueID)~

Blockname (falls verfügbar, ansonsten Leertext).

~*p12(UniqueID)~

Blockkommentar (falls verfügbar, ansonsten Leertext).

~*p13(UniqueID)~

Blockskalierung (falls verfügbar, ansonsten 1).

~*p14(UniqueID)~

Seitenname.

~*p15(UniqueID)~

Seitenkommentar (falls verfügbar, ansonsten Leertext).

~*p16(UniqueID)~

Ebenenname.

~*p17(UniqueID)~

Ebenenkommentar (falls verfügbar, ansonsten Leertext).

~*p18(UniqueID)~

Stiftname.

~*p19(UniqueID)~

Stiftkommentar (falls verfügbar, ansonsten Leertext).

~*p20(UniqueID)~

Linienmuster.

~*p21(UniqueID)~

Linienbreite in Millimetern.

~*p22(UniqueID)~

Linienfarbe.

~*p23(UniqueID)~

Füllfarbe.

 

Werden die Objektmerkmale in einem Text- oder Bemaßungsobjekt genutzt, welches mittels seiner LinkedID mit einem anderen Objekt verbunden ist, kann die eindeutige ID in den Klammern weggelassen werden und das Programm verwendet automatisch stattdessen LinkedID. Wird die eindeutige ID weggelassen und der Text oder die Bemaßung ist nicht mit einem anderen Objekte verbunden, sucht das Programm das übergeordnete Objekt (Gruppe oder Block), in dem sich der Text oder die Bemaßung befinden.

 

Beginnend mit Release 2019 Service Pack 1 sind alle Texte, Namen, Variablen und Attribute Unicode-fähig. Im Speicher werden sie als UTF-16 gespeichert, im CAD6 Dateiformat als UTF-8.

 

CAD6studio Release 2024.1 - Copyright 2024 Malz++Kassner® GmbH