Dateiname im Pool-Verzeichnis, Dateierweiterung "ipt" für Teil, "iam" für Baugruppe. Siehe auch Schlüssel "PoolPath", "Material", "MaterialDBFile" und Block "MatMap".
FileName(isCreaOptNotSet,is3dpart)=?_FORMAT_0("<GENNAME>").toFileName("_").add(".ipt").value() FileName(isCreaOptNotSet,is3dasm)=?_FORMAT_0("<GENNAME>").toFileName("_").add(".iam").value()
(Es gibt zwei Kategorien: eine für Teile und eine für Baugruppen.)
toFileName("_"): Nicht erlaubte Zeichen werden automatisch durch einen Unterstrich ersetzt.
Die folgenden Beispiele mögen zeigen, wie differenziert der Dateiname gebildet werden kann. Wir empfehlen allerdings, bei solch komplexen Anpassungen die Zustimmung eines Consultants einzuholen, um unerwünschte Nebeneffekte zu vermeiden.
Präfixe in den Dateinamen aufnehmen.
Es wird "<PREFIXLIST(_)>" eingefügt.
Bei Projekten, die mehrere Präfixe besitzen, werden diese automatisch mit Unterstrich als Trennzeichen in den Dateinamen eingefügt (z.B. Norm9, Kernloch)
Deklaration einmal für Bauteil (is3dpart) und einmal für Baugruppe (is3dasm).
FileName(isCreaOptNotSet,is3dpart)=?GetObject("iface.calcnameservice").start(0).Format("<PREFIXLIST(_)><GENNAME>").toFileName("_").add("<.FileExtension>").value() FileName(isCreaOptNotSet,is3dasm)=?GetObject("iface.calcnameservice").start(0).Format
("<PREFIXLIST(_)><GENNAME>").toFileName("_").add("<.FileExtension>").value()
Katalognamen in den Dateinamen aufnehmen.
Es wird "<CATALOG>_" als Präfix dem Dateinamen vorangestellt.
Deklaration einmal für Teile (is3dpart) und einmal für Baugruppen (is3dasm).
FileName(isCreaOptNotSet,is3dpart)=?GetObject("iface.calcnameservice").start(0).Format("<CATALOG>_<GENNAME>").toFileName("_").add("<.FileExtension>").value() FileName(isCreaOptNotSet,is3dasm)=?GetObject("iface.calcnameservice").start(0).Format
("<CATALOG>_<GENNAME>").toFileName("_").add("<.FileExtension>").value()
<GenNAME(25)>: Länge des Dateinamens begrenzen
alnum("_"): Nur alphanumerische Zeichen erlauben; andere werden durch einen Unterstrich ersetzt
ToLower(): Alle Buchstaben in Kleinbuchstaben umwandeln
MaxLen(28): Die Gesamtlänge des Dateinamens auf 28 Zeichen begrenzen
FileName(isCreaOptNotSet,is3dpart)=?GetObject("iface.calcnameservice").start(0).Format("<GenNAME(25)>").alnum("_").ToLower().MaxLen(28).add(".prt").value()
Dieses Beispiel behandelt die Bildung des Dateinamens bei ERP-Kopplung.
Per Default wird der Dateiname aus GENNAME (NB) gebildet.
FileName(isCreaOptNotSet,is3dasm)=?GetObject("iface.calcnameservice").start(0).Format("<GENNAME>").alnum("_").add("<.FileExtension>").value()
Sie können aber auch den Dateinamen bilden, indem Sie die ERP-Nummer verwenden. Der Vorteil ist ein absolut eindeutiger Dateiname.
FileName(isCreaOptNotSet,is3dasm)=?GetObject("iface.calcnameservice").start(0).Format("<ATTR(ERP_PDM_NUMBER)>").alnum("_").add("<.FileExtension>").value()
Sie können mittels <ATTR(beliebige_ERP_Spalte)> auf jede beliebige ERP-Spalte referenzieren.
FileName(isCreaOptNotSet,is3dasm)=?GetObject("iface.calcnameservice").start(0).Format("<ATTR(any_ERP_column)>").alnum("_").add("<.FileExtension>").value()
Die Bildung über ERP-Nummer + Normbezeichnung (NB) ist ebenfalls eine Option, um auch einen "sprechenden" Anteil im Namen zu führen.
FileName(isCreaOptNotSet,is3dasm)=?GetObject("iface.calcnameservice").start(0).Format("<ATTR(ERP_PDM_NUMBER)>_<GENNAME>").alnum("_").add("<.FileExtension>").value()
In diesem komplexen Beispiel ist eine ERP-Integration unterstellt.
Der Dateiname soll aus der ERP-Spalte übernommen werden.
Der Schlüssel FileName ist 3 Mal definiert mit der Hilfe von Kategorien:
Die Definition des Dateinamens für Baugruppen und Teile ist Standard-Syntax wie aus den vorangegangenen Beispielen bekannt.
Die SubParts (Unterteile) der Baugruppe sollen den Dateinamen kombinieren mit ...
;Assembly FileName(isCreaOptNotSet,is3dAsm)=?GetObject("iface.calcnameservice").start(0).Format("<ATTR(xy)>").alnum("_").ToLower().MaxLen(28).add(".iam").value() ;Part FileName(isCreaOptNotSet,is3dpart)=?GetObject("iface.calcnameservice").start(0).Format
("<ATTR(xy)>").alnum("_").ToLower().MaxLen(28).add(".ipt").value() ;SubPart FileName(isCreaOptNotSet,is3dpart,isSubPart)=?GetObject("iface.calcnameservice").start(0)
.SetObj(GetObject("iface.metaoptionservice").GetRoot()).Format("<ATTR(xy)>_").value()
+GetObject("iface.calcnameservice").start(0).Format("<GenNAME(25)>").alnum("_")
.ToLower().MaxLen(28).add(".ipt").value()
AAAA ist der Wert aus der ERP-Spalte "xy"
isSubPart: Für Unterteile ist eine Kategorie gesetzt. Daher ist dieser spezielle Schlüssel nur gültig für Unterteile.
Der Ausdruck vor dem Plus-Zeichen liest den Inhalt aus der ERP-Spalte.
Der Ausdruck hinter dem Plus-Zeichen erstellt den Dateinamen wie in den vorangegangenen Beispielen.