powered by CADENAS

Manual

Manual

2.2.1.3. Variable Werte - Funktionen

Variable Werte: Alle Schlüssel die nach dem Schema „Name=?“ aufgebaut sind, werden zur Laufzeit ausgewertet. Die Anweisung ist in VB-Syntax hinterlegt.

Das folgende Beispiel zeigt, dass der Wert des Schlüssels "FileName" über eine VB-Anweisung zusammengesetzt wird.

FileName=?GetObject("iface.calcnameservice").start(0).Format("<GENNAME>").Value()

Im Folgenden werden einige wichtige Funktionen erläutert, mit deren Hilfe Sie Anweisungen nach Ihren Wünschen anpassen können.

  • Funktion Format("..."): Gibt den berechneten Namen zurück

    Hiermit kann z.B. der Dateiname auf verschiedene Weisen aufgebaut werden:

    • <NAME>: Liefert den direkten Namen, also das, was im PARTdataManager als Name konfiguriert ist (meist der NB oder die ERPNUMMER).

    • <GENNAME>: Der generische Name. Ähnlich wie "NAME". Allerdings liefert GENNAME zusätzlich bei einem leeren Namen einen dynamisch erzeugten zurück, so dass auf jedenfall ein gültiger Name entsteht. Es wird der NB verwendet.

    • <GENNAME(maxlen)>: "maxlen" steht für eine beliebige Zahl: Der Wert wird auf die angegebene Länge begrenzt.

      Beispiel 1: Generischer Name (NB) wird auf eine bestimmte Zeichenanzahl begrenzt.

      Format("<GENNAME(25)>")

      Beispiel 2: Folgende Form ist ebenfalls möglich:

      Format("<ATTR(NT)>").maxlen(10)
      Format("<NAME>").maxlen(10)
    • <GENSHORTNAME>: Es wird der SHORTNB verwendet.

    • <SHORTNAME>:

    • <ATTR(Name)>: Ein beliebiges Attribut, welches mit seinem Namen angegeben wird.

      Format("<ATTR(NN)>")
    • <ATTR(Sprache,Name)>: Optional kann auch die Sprache angegeben werden.

      Format("<ATTR(english,NB)>")
      Format("<ATTR(NT)>")
      Format("<ATTR(LINA)>")
      Format("<ATTR(ERP_PDM_NUMBER)>")
      Format("<ATTR(NENN)>")
    • <MATERIAL(_)>: Gibt das Material aus der Klassifikation CNS/CNSPHYPROP/CNSMAT zurück.

      Format("<GENNAME><MATERIAL(_)>")

      Generischer Name (NB) und Material mit Unterstrich angehängt

    • <PREFIXLIST(_)>: Vorhandene Präfixe werden mit Unterstrich separiert dem generischen Namen vorangestellt. Bei Projekten, die mehrere Präfixe besitzen, werden diese automatisch mit Unterstrich als Trennzeichen in den Dateinamen eingefügt (z.B. Norm9, Kernloch)

      Beispiel 1:

      Format("<PREFIXLIST(_)><GENNAME><MATERIAL(_)>")

      Beispiel 2:

      Format("$CADENAS_DATA/pool/cadname/<PREFIXLIST(/)>")

      "PREFIXLIST" wird z.B. bei Poolpath mit dem Trennzeichen "/" verwendet.

    • <CATALOG>_..................>: Der Katalogname wird vorangestellt.

      Beispiel:

      Format("<CATALOG>_<GENNAME><MATERIAL(_)>")
    • <DATE(-)>_<TIME(-): Datum und Zeit werden in den Dateinamen mit aufgenommen.

      FORMAT("<GENNAME><MATERIAL(_)>_<DATE(-)>_<TIME(-)>")
  • Funktion RepSeq(a1,b1): "RepSeq" bedeutet "Replace Sequence. String 1 wird durch String 2 ersetzt.

  • Funktion add(irgendeinText): fügt etwas an; beispielsweise die Dateinamenserweiterung

    Beispiele:

    Inventor (Teil): .ipt; Inventor (Baugruppe): .iam

    SolidWorks (Teil): .sldprt; SolidWorks (Baugruppe): .sldasm

    Setzen Sie die für Ihr CAD-System passende Dateinamenserweiterung ein.

  • Funktion toFileName("_"): ersetzt ungültige Zeichen durch das in der Klammer angegebene Zeichen.

    Ungültige Zeichen sind:

    / \ ? % * : | " < > .
  • Funktion alnum("_"): Ersetzt alle nicht alphanumerischen Zeichen durch das in der Klammer angegebene Zeichen; auch Leerzeichen.

  • Funktion ToLower(): Alle Buchstaben werden in Kleinbuchstaben umgewandelt.

  • Funktion ToUpper(): Alle Buchstaben werden in Großbuchstaben umgewandelt.

  • Funktion MaxLen(len): "len" steht für eine beliebige Zahl: Der gesamte Ausdruck wird auf die angegebene Länge begrenzt.

  • Funktion Value(): Gibt den aktuellen Wert als String zurück; wird als letzter Aufruf benutzt.

"Zusammenbau" von einzelnen Funktionen:

Diese werden separiert mit einem Punkt (.) "zusammengebaut".

Beispiel:

Es soll die Funktion RepSeq(a1,b1) in einen bestehenden Schlüssel eingefügt werden:

Vorher:

poolpath(isCreaOptNotSet)=?GetObject("iface.calcnameservice").start(0).
Format("$CADENAS_DATA/pool/cadname").value()

Nachher:

poolpath(isCreaOptNotSet)=?GetObject("iface.calcnameservice").start(0).
Format("$CADENAS_DATA/pool/cadname").RepSeq("NORM9,NORM8").value()