CardScript Programmiersprache

Mit Version 10.0 lassen sich Bauwerke nach wie vor in bisherigem Umfang generieren. Sofern Sie die CardScript-Version in Ihren Skripten nicht ändern, funktionieren alle Klassen und Methoden für die Erzeugung von Bauwerken nach wie vor voll kompatibel. Die erzeugten Bauwerke werden nun im Fachobjektsystem verwaltet.
Wenn Sie die Versionierung auf 10000 umstellen, werden einige Klassen und Methoden nicht mehr unterstützt oder funktionieren etwas abgewandelt. Details dazu entnehmen Sie der Hilfe. Im Wesentlichen betrifft dies die Attributierung von Bauwerken, Baugruppen und Bauteilen (siehe auch Bauwerke jetzt Fachobjekte) sowie die neuen Möglichkeiten der Typisierung von Baugruppen und Bauteilen.

Das neue System für die Verwaltung der Nebenattribute führt mehrere Attributarten zusammen. Konkret sind das die Nebenattribute, die Zusatzattribute in den Bauwerken sowie die Notizen im Notizsystem. Die Änderungen und Erweiterungen an der Attributverwaltung ziehen auch Änderungen und Neuerungen bei den CardScript-Klassen nach sich. Ziel war es, die Inkompatibilitäten zwischen alter und neuer Version so gering wie möglich zu halten.
Grundsätzlich sind alle Skripte, die Nebenattribute behandeln, weiterhin in ihrer bisherigen Ausprägung lauffähig. Diese Skripte sollten weiterhin als VERSION eine Versionsnummer kleiner 10000, also z. B. 8000, tragen. Damit ist weitestmögliche Abwärtskompatibilität gewährleistet.
Zur card_1 Version 10.0 wird für neue Skripte VERSION 10000 verwendet. Damit werden die neuen Möglichkeiten im Umgang mit Attributen nutzbar. Dafür gibt es u. a. neue Klassen und Methoden. Umgekehrt haben die grundlegenden Erweiterungen und Verbesserungen in der Attributverwaltung aber zur Folge, dass einige Methoden und Klassen entfallen.

Das neue System für die Verwaltung von Attributdefinitionen ist deutlich leistungsfähiger als das bisherige. Es ist schneller und bietet mehr Eigenschaften. Aufgrund der zahlreichen Erweiterungen ergeben an wenigen Stellen Inkompatibilitäten zwischen Version 9.1 und 10.0.
-
Mit der Umstellung der Bauwerke zu Fachobjekten werden die Bauteile in eigenständige Objekte überführt. Daraus ergeben sich für CardScript Konsequenzen: Die Methode /BUILDMODULE/GetAttributeElement entfällt. Verwenden Sie stattdessen die neue Methode GetAttributeObject.
-
Da es den undefinierten zusätzlichen Wert zu einem Attribut auf der Basis eines Datentypen nicht mehr gibt, kann dieses Attribut auch nicht mehr mit der Methode SetAttribute mit einem Wert belegt werden.
-
Attribute, die auf einem benutzerdefinierten Datentyp basieren, werden mit Version 10.0 immer vollständig erzeugt. Ein unvollständiges Attribut wird nicht mehr unterstützt. Da nicht jedes Attribut mit einem sinnvollen Wert belegt sein muss, wird ab Version 10.0 auch der Zustand 'Wert nicht vorhanden' berücksichtigt.
-
Attribute müssen keinen Wert haben. Die Abfrage eines Attributwertes kann somit, anders als in vorherigen Versionen, auch $UNDEF sein.
-
Bisher wurde nicht geprüft, ob Skripte zueinander sinnvoll abgestimmt sind. Ab Version 10.0 wird geprüft, ob die Skriptversionen eingebundener Skripte mit der Version des Hauptskriptes übereinstimmen. Die Skriptversion im Hauptskript ist dabei maßgebend für das Verhalten.

Klasse/Methode |
Klasse/Methode |
Anmerkung |
---|---|---|
Bauwerke |
|
|
- |
/BUILDSYS/
|
|
/BUILDSTRUCTURE/MakeCurrent |
- |
Methode entfällt |
- |
/BUILDASSEMBLY/
|
|
/Buildmodule/SetDrawLevel |
/Buildmodule/SetDrawLevelOffset |
|
- |
/BUILDMODULE/
|
|
Nebenattribute |
|
|
/AttrDefinition/GetClassID |
- |
Methode entfällt |
/AttrDataType/GetClassID |
- |
Methode entfällt |
/Attr_Item/CreateAll |
- |
Methode entfällt |
/Buildmodule/GetAttributeObject |
/Buildmodule/GetAttributeObject |
Die Methode GetAttributeElement wird für alle Skriptversionen durch GetAttributeObject ersetzt (s. o.) |
/Buildextraattri/ |
/Attr_Item/ |
Zusatzattribute sind jetzt Einfache Attribute |
- |
/AttrObjectType/ |
Neue Klasse zur Beschreibung eines Objekttyps |
- |
/AttrAssignment/ |
Neue Klasse zur Beschreibung einer Attributzuordnung |
- |
/Buildstructure/, /Buildassembly/, /Buildmodule/
|
Neue Methoden für den Zugriff auf Nebenattribute, einfache Nebenattribute und Notizen |
- |
/Alignment/, /ANCHORAGE/, /DTM/, /POINT/, /POINTCLOUD/, /PROJECT/, /SECTIONSTRING/, /SHEET/, /SWITCH/, /TOPOLINE/, /TOPOSLOPE/, /TOPOSYMBOL/, /TOPOTEXT/, /TOPOTREE/, /XSECTION/, /XSECTIONLINE/
|
Neue Methoden für den Zugriff auf Nebenattribute, einfache Nebenattribute und Notizen |
- |
/ATTRIBUTESYS/
|
Umgang mit erweiterten Objektarten |
- |
/ATTR_REQUEST/SetSearchOptions |
Umgang mit Attributen |
- |
/ATTRDEFINITION/
|
Grundgröße |
|
Einheit |
|
|
Vorbelegung |
|
|
GUID |
|
|
Datentyp |
|
|
Zulässige Werte |
|
|
Attributzuordnung |