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 ungleich 0 werden als TRUE interpretiert.
  • Integer: Ganzzahl
  • Decimal: Fließkommazahl
  • String: Text
  • Length: eine Länge, immer in Metern
  • Angle: 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 Text
  • CUSTOM: ein Schlüsselwort, mit der Angabe von CUSTOM 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 Grenzsymbol
    • upper_limit: oberer Grenzwert abhängig vom Grenzsymbol
    • step_start_value: Startwert des der Schrittweite
    • step_value: die Schrittweite
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 Befehl PARAMETERS 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üsselwortes PARAMETERS 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.