Parameter
Parameter sind Werte die das Aussehen und Verhalten von SmartParts beeinflussen, daher auch die Bezeichnung "parametrisierte Bauteile/Objekte". Die 3 Parameter ref_x
, ref_y
und ref_z
sind vordefiniert und in allen SmartParts vorhanden. Jeder Parameter ist durch einen Namen definiert der im gesamten Script einmalig sein muss. Dieser Name kann im Script als ganz normale Variable verwendet werden. Parameternamen müssen wie Variablennamen mit einem Buchstaben beginnen und dürfen weiters nur Buchstaben, Ziffern und als einziges Sonderzeichen das Zeichen "_" (Underline) enthalten. Außerdem darf der Name des SmartPart-Scripts nicht als Parametername verwendet werden.
Parametertypen
Bool:
kann entweder TRUE (wahr) oder FALSE (falsch) sein, es gilt alle Werte ungleich0
werden als TRUE interpretiert.Integer:
GanzzahlDecimal:
FließkommazahlString:
TextLength:
eine Länge, immer in MeternAngle:
Winkel, immer in Grad (Kreis = 360°)
Spezialparameter
Color:
Farbwert (Ganzzahl)Pen:
Stift (Ganzzahl)Stroke:
Linientyp (Ganzzahl)Layer:
(Ganzzahl)Surface:
Oberflächenmaterial (Text)Pattern:
Muster (Ganzzahl)Hatching:
Schraffur (Ganzzahl)Facestyle:
Flächenstil (Stilfläche) (Ganzzahl)
Allplan Attribute mit SmartParts verknüpfen
Man kann Allplan Attribute mit SmartPart Parametern verknüpfen, indem man dem Parameter bereits beim Erstellen ein Allplan Attribute zuweist oder später in der Dialogseite "Parameter" in der Spalte "Attribut" ein Allpan Attribut auswählt. Aber erst wenn die Option "Alle Attribute" angewählt ist, werden alle Allplan Attribute wählbar, ansonsten sind nur wenige Allplan Attribute und alle benutzerdefinierten Attribute wählbar.
Der Parameter enthält den Wert des Allplan Attributes. Bei der Modifikation des Parameters im Parameter Dialog, gilt anscheinend nicht für das Zuweisen eines neuen Wertes während des Progrmmablaufs, wird der neue Wert an das Allplan Attribute weitergegeben und ebenso wird eine Änderung des Allplan Attributes an den Parameter weitergereicht.
VALUES: Wertebereiche
Mit dem Befehl VALUES
kann man beliebige gültige Wertebereiche für benannte Parameter definieren. Einem Parameter mit einem definierten Wertebereich kann man nur mehr Werte aus diesem Bereich zuweisen, außer es wird das Schüsselwort CUSTOM
angegeben. Der VALUES
Befehl muss im Parameter-Script stehen.
VALUES "name" value_definition1 [, ..., value_definitionn]
"name":
Name des Parameters, dessen Wertebreich definiert werden soll.
value_definitioni:
es gibt folgende Definitionsmöglichkeiten:
expr:
eine Zahlenwert oder ein TextCUSTOM:
ein Schlüsselwort, mit der Angabe vonCUSTOM
kann dem Parameter ein beliebiger Wert zugewiesen werden.RANGE "["|"(" [lower_limit], [upper_limit] "]"|")" [STEP step_start_value, step_value]
, Bereichdefinition mit optionaler Schrittweite- Grenzsymbole:
"["
= Werte größer oder gleich lower_limit"("
= Werte größer als lower_limit"]"
= Werte kleiner oder gleich upper_limit")"
= Werte kleiner als upper_limit
lower_limit:
unterer Grenzwert abhängig vom Grenzsymbolupper_limit:
oberer Grenzwert abhängig vom Grenzsymbolstep_start_value:
Startwert des der Schrittweitestep_value:
die Schrittweite
- Grenzsymbole:
Beispiele aus der SmartPart Dokumentation:
VALUES "MyParam" 1, 10, RANGE [10, 20), 25, RANGE (, 50] STEP 30, 5, CUSTOM
- 1 = 1. Ausdruck, direkte Wertangabe
- 10 = 2. Ausdruck, direkte Wertangabe
- 10 - 20 ohne 20 = 3. Ausdruck: RANGE [10, 20), ob nur Ganzahlen oder Fließkommazahlen verwendet werden können hängt vom Parametertyp ab.
- 25 = 4. Ausdruck, direkte Wertangabe
- 30, 35, 40, 45, 50 = 5. Ausdruck: RANGE (, 50] STEP 30, 5
- 6. Ausdruck, jeder andere beliebige Wert der dem Parametertyp entspricht
VALUES "MyParam" "Office", "Standard", "Private"
Nur die angegeben Werte "Office", "Standard", "Private"
sind gültig.
PARAMETERS
- Als allein stehender Befehl: Weist einem Parameter in der Parameterliste einen Wert zu. Dieser bleibt anders als bei der Zuweisung
name = wert
auch nach Abarbeitung des Skriptes erhalten. Er wird nämlich in die Parameterliste des SmartParts übernommen. Vorherige und manuelle Eingaben werden damit überschrieben. Es können auch komplette Arrays mit einer Anweisung übergeben werden. Ist der Zielparameter kein Array, wird nur der erste Wert der ersten Zeile/Spalte übergeben. Der BefehlPARAMETERS
sollte nur im Parameter-Script verwendet werden! - Als einleitendes Schlüsselwort innerhalb eines anderen Befehls: z.B. der
CALL
Befehl ruft andere SmartParts als Unterprogramme auf, denen in Folge des SchlüsselwortesPARAMETERS
Werte übergeben werden können.
PARAMETERS name1 = value1 [, ..., namen = valuen]
namei:
Parametername
valuei:
neuer Parameterwert
HIDEPARAMETER
HIDEPARAMETER name1 [, ..., namen]
blendet den oder die angegeben benannten Parameter im Einstellungsdialog des SmartParts aus.
HIDE
HIDE
ist ein Synonym für HIDEPARAMETER
LOCK
LOCK name1 [, ..., namen]
deaktiviert die angegeben Parameter im Einstellungsdialog für die Eingabe sie bleiben aber im Dialog sichtbar. Die Parameter können aber weiterhin im Skript verändert werden.