Konfigurationsdatei für Anschlüsse
- Konfigurationsdatei und Script
- Benutzerdefinierte Konfiguration - User Defined Configuration (UDC)
- Parametersatz - User Connection Record (UCR)
- Parametervariable und lokale Variable
- Typindikator
Diese Beschreibung gilt für die Designvarianten
- Pfettenstoß gemäß DAST PM (405)
- Pfettenstoß, gemäß DAST PQ (415)
Konfigurationsdatei und Script
Zu jeder Anschlussfunktion gehören zwei Dateien im HiCAD SYS-Verzeichnis:
- die Konfigurationsdatei DV_name_configuration.XML
- das .NET API-Script DV_name_configuration.CS
name ist dabei der Name des jeweiligen Anschlusses. Die Konfigurationsdatei enthält alle benutzerdefinierten Konfigurationen eines Anschlusses. Die Scriptdatei (C-Sharp) enthält alle in den Konfigurationen einer Variante verwendeten Regeln. Die Script-Dateien lassen sich von versierten Anwendern mit entsprechenden Programmierkenntnissen editieren, d. h. die öffentlichen Methoden des Scriptes (Public Properties) lassen sich kopieren und verändern.
Anschlussfunktion |
.XML/.CS |
---|---|
Pfettenstoß gemäß DAST PM (405) |
DV_405_PM_configuration/ |
Pfettenstoß, gemäß DAST PQ (415) |
DV_415_PQ_configuration/ |
ISD-seitig sind in jeder Konfigurationsdatei drei Konfigurationen vordefiniert:
- _work
Diese Vorlage simuliert im Prinzip die frühere Arbeitsweise (vor Version 1500) bei Designvarianten. Hier sind die meisten Parameter vom Typ Fester Wert . Das bedeutet, dass hier immer der zuletzt verwendete Wert steht (aus der CSV-Datei).
Diese Konfiguration wird auch für den Einbau über eine DAST-Tabelle benötigt und kann weder gelöscht noch kopiert werden.
- _templateNonReferenced
Hierbei handelt es sich um eine Kopiervorlage für eine typische benutzerdefinierte Konfiguration, deren Werte nicht referenziert sind. Sie besteht aus Parametern des Typs Vorschlagswert und Vorschlagsregel . Dies ist der in der Praxis am häufigsten verwendete Fall für eigene, kundenspezifische Konfigurationen.
Diese Konfiguration kann nicht gelöscht und der Typ der Parameter/Indikatoren nicht geändert werden.
- _templateReferenced
Dies ist eine Kopiervorlage für eine benutzerdefinierte Konfiguration, deren Werte referenziert sind. Sie besteht aus Parametern des Typs Referenzierter Wert und Referenzierte Regel . Im Falle solcher Konfigurationen sollten Sie die Hinweise zur referenzierten und nicht referenzierten Arbeitsweise des Katalogsystems lesen.
Diese Konfiguration kann nicht gelöscht und der Typ der Parameter/Indikatoren nicht geändert werden.
Diese vordefinierten Konfigurationen verwenden Sie als Kopiervorlagen für eigene Konfigurationen.
Benutzerdefinierte Konfiguration - User Defined Configuration (UDC)
Unter einer "User Defined Configuration" (kurz: UDC) ist eine komplette benutzerdefinierte Konfiguration eines Anschlusses zu verstehen. Diese Konfigurationen sind in der zum jeweiligen Anschluss gehörenden XML-Datei gespeichert. Jede UDC hat eine eindeutige ID, über die sie angesprochen wird. In der XML-Datei beginnt jede UDC, d. h. jede Konfiguration, mit der Zeile
- <UserDefinedConfiguration Identifier="_name1" Script="DV_name2_rules.cs">
name1 ist die ID der Konfiguration, name2 der Name derzugehörigen Script-Datei.
Das Ende einer Konfiguration wird markiert durch den Eintrag
</UserDefinedConfiguration>
<UserDefinedConfiguration Identifier="_TemplateNonReferenced" Script="DV_201_IH_rules.cs">
<UserConnectionRecord Identifier="PlateNorm" DataType="STANDARDITEM" RecordType="PROPOSAL_RULE">
<RuleProperty>Plate</RuleProperty>
<TableId CsvName="plate_tableid">127</TableId>
<ItemId CsvName="plate_itemid">4</ItemId>
</UserConnectionRecord>
<UserConnectionRecord Identifier="PlateYesNo" DataType="BOOL" RecordType="PROPOSAL_VALUE">
<RuleProperty>PlateYesNo</RuleProperty>
<BoolValue CsvName="plates_yesno">1</BoolValue>
</UserConnectionRecord>
<UserConnectionRecord Identifier="PlateExcessTop" DataType="DOUBLE" RecordType="PROPOSAL_VALUE">
<RuleProperty>PlateExcessTop</RuleProperty>
<DoubleValue CsvName="excess_top">10</DoubleValue>
</UserConnectionRecord>
<UserConnectionRecord Identifier="PlateExcessBot" DataType="DOUBLE" RecordType="PROPOSAL_VALUE">
<RuleProperty>PlateExcessBot</RuleProperty>
<DoubleValue CsvName="excess_bot">10</DoubleValue>
</UserConnectionRecord>
<UserConnectionRecord Identifier="PlateExcessSide" DataType="DOUBLE" RecordType="PROPOSAL_VALUE">
<RuleProperty>PlateExcessSide</RuleProperty>
<DoubleValue CsvName="excess_side">0</DoubleValue>
</UserConnectionRecord>
<UserConnectionRecord Identifier="ScrewJointYesNo" DataType="BOOL" RecordType="PROPOSAL_VALUE">
<RuleProperty>ScrewJointYesNo</RuleProperty>
<BoolValue CsvName="screw_joint_yesno">1</BoolValue>
</UserConnectionRecord>
<UserConnectionRecord Identifier="ScrewJoint" DataType="SCREWJOINTDESCRIPTION" RecordType="PROPOSAL_RULE">
<RuleProperty>ScrewJoint</RuleProperty>
<ScrewTableId CsvName="screw_tableid">1031</ScrewTableId>
<ScrewItemId CsvName="screw_itemid">34</ScrewItemId>
<HoleTableId CsvName="hole_tableid">2653</HoleTableId>
<HoleItemId CsvName="hole_itemid">4</HoleItemId>
<Nut_1_TableId CsvName="nut_1_tableid">2000</Nut_1_TableId>
<Nut_1_ItemId CsvName="nut_1_itemid">3</Nut_1_ItemId>
<Nut_2_TableId CsvName="nut_2_tableid">0</Nut_2_TableId>
<Nut_2_ItemId CsvName="nut_2_itemid">0</Nut_2_ItemId>
<WasherTop_1_TableId CsvName="washer_top_1_tableid">2402</WasherTop_1_TableId>
<WasherTop_1_ItemId CsvName="washer_top_1_itemid">11</WasherTop_1_ItemId>
<WasherTop_2_TableId CsvName="washer_top_2_tableid">0</WasherTop_2_TableId>
<WasherTop_2_ItemId CsvName="washer_top_2_itemid">0</WasherTop_2_ItemId>
<WasherBot_1_TableId CsvName="washer_bot_1_tableid">2402</WasherBot_1_TableId>
<WasherBot_1_ItemId CsvName="washer_bot_1_itemid">11</WasherBot_1_ItemId>
<WasherBot_2_TableId CsvName="washer_bot_2_tableid">0</WasherBot_2_TableId>
<WasherBot_2_ItemId CsvName="washer_bot_2_itemid">0</WasherBot_2_ItemId>
</UserConnectionRecord>
<UserConnectionRecord Identifier="ScrewGrid" DataType="SCREWGRID" RecordType="PROPOSAL_RULE">
<RuleProperty>ScrewGrid</RuleProperty>
<ColumnCount CsvName="nx">2</ColumnCount>
<RowCount CsvName="ny">2</RowCount>
<HorizontalOffsetX CsvName="offset_x">40</HorizontalOffsetX>
<VerticalDistE1 CsvName="e1">10</VerticalDistE1>
<VerticalDistE2 CsvName="e2">70</VerticalDistE2>
<VerticalDistE3 CsvName="e3">80</VerticalDistE3>
<VerticalDistE4 CsvName="e4">70</VerticalDistE4>
<VerticalDistE5 CsvName="e5">70</VerticalDistE5>
<VerticalDistE6 CsvName="e6">70</VerticalDistE6>
<HorizontalDistW1 CsvName="w1">169</HorizontalDistW1>
<HorizontalDistW2 CsvName="w2">72</HorizontalDistW2>
<HorizontalDistW3 CsvName="w3">30</HorizontalDistW3>
</UserConnectionRecord>
</UserDefinedConfiguration>
Parametersatz - User Connection Record (UCR)
Zu einer Konfiguration gehören die unterschiedlichsten Parameter, beispielsweise die Norm einer einzubauenden Platte, der Plattenüberstand oder eine Verschraubung. Zu jedem dieser Parameter gehört in der XML-Datei ein so genannter Parametersatz mit einer eindeutigen ID. Der Beginn eines Parametersatzes in der Konfigurationsdatei wird durch den Eintrag
- <UserConnectionRecord Identifier="…" DataType="…" RecordType="…">
gekennzeichnet, sein Ende durch den Eintrag
</UserConnectionRecord>
Beispielsweise gehören zur Konfiguration "_TemplateNonReferenced" des Pfettenanschlusses 201 die folgenden Parametersätze:
Parametersatz (UCR) |
bestimmt |
|
---|---|---|
(1) |
PlateNorm |
die Plattennorm |
(2) |
PlateYesNo |
den Platteneinbau J/N |
(3) |
PlateExcessTop |
den Plattenüberstand oben |
(4) |
PlateExcessBot |
den Plattenüberstand unten |
(5) |
PlateExcessSide |
den Plattenüberstand seitlich |
(6) |
ScrewJointYesNo |
den Einbau der Verschraubung J/N |
(7) |
ScrewJoint |
die Norm der Verschraubung |
(8) |
ScrewGrid |
das Raster der Verschraubung (Reihen und Spalten) |
<UserConnectionRecord Identifier="ScrewGrid" DataType="SCREWGRID" RecordType="RULE">
<RuleProperty>ScrewGrid</RuleProperty>
<ColumnCount CsvName="nx">2</ColumnCount>
<RowCount CsvName="ny">2</RowCount>
<HorizontalOffsetX CsvName="offset_x">0</HorizontalOffsetX>
<VerticalDistE1 CsvName="e1">10</VerticalDistE1>
<VerticalDistE2 CsvName="e2">70</VerticalDistE2>
<VerticalDistE3 CsvName="e3">25</VerticalDistE3>
<VerticalDistE4 CsvName="e4">70</VerticalDistE4>
<VerticalDistE5 CsvName="e5">70</VerticalDistE5>
<VerticalDistE6 CsvName="e6">70</VerticalDistE6>
<HorizontalDistW1 CsvName="w1">169,94</HorizontalDistW1>
<HorizontalDistW2 CsvName="w2">97</HorizontalDistW2>
<HorizontalDistW3 CsvName="w3">30</HorizontalDistW3>
</UserConnectionRecord>
Parametervariable und lokale Variable
Jeder Parametersatz ist mit einer oder häufig auch mehreren Variablen der Designvariante verknüpft, den so genannten Parametervariablen. Diese sind vom Typ REAL oder STRING und in einer zur Designvariante gehörenden CSV-Datei definiert.
Beispiel 1:
<UserConnectionRecord Identifier="PlateExcessTop" DataType="DOUBLE" RecordType="PROPOSAL_VALUE">
<RuleProperty>PlateExcessTop</RuleProperty>
<DoubleValue CsvName="excess_top">10</DoubleValue>
</UserConnectionRecord>
Die Parametervariable ist hier der Plattenüberstand. mit dem Namen excess_top.
Beispiel 2:
<UserConnectionRecord Identifier="ScrewGrid" DataType="SCREWGRID" RecordType="RULE">
<RuleProperty>ScrewGrid</RuleProperty>
<ColumnCount CsvName="nx">2</ColumnCount>
<RowCount CsvName="ny">2</RowCount>
<HorizontalOffsetX CsvName="offset_x">0</HorizontalOffsetX>
<VerticalDistE1 CsvName="e1">10</VerticalDistE1>
<VerticalDistE2 CsvName="e2">70</VerticalDistE2>
<VerticalDistE3 CsvName="e3">25</VerticalDistE3>
<VerticalDistE4 CsvName="e4">70</VerticalDistE4>
<VerticalDistE5 CsvName="e5">70</VerticalDistE5>
<VerticalDistE6 CsvName="e6">70</VerticalDistE6>
<HorizontalDistW1 CsvName="w1">169,94</HorizontalDistW1>
<HorizontalDistW2 CsvName="w2">97</HorizontalDistW2>
<HorizontalDistW3 CsvName="w3">30</HorizontalDistW3>
</UserConnectionRecord>
Hier ist der Parametersatz SCREW GRID mit den Parametervariablen e1 bis e6 sowie w1 bis w3 verknüpft.
Neben den Parametervariablen gibt es noch die lokalen Variablen einer Designvariante, die in einem Startskript der Variante belegt werden. Die Featureparameter der Designvariante werden in der Regel mit diesen lokalen Variablen parametrisiert.
Parametertyp und Typindikator
Jeder Parameter einer Konfiguration hat einen bestimmten Typ, der im Parametersatz der jeweiligen Konfiguration durch die Angabe RecordType=".." festgelegt wird, z. B. RecordType="RULE". HiCAD unterscheidet fünf verschiedene Parametertypen. Welchen Typ ein Parameter hat wird Ihnen in den Eingabemasken der verschiedenen Anschlüsse durch einen Typindikator angezeigt, z. B. . Ändern lässt sich der Typ eines Parameters in dem Sie im Dialogfenster des Anschlusses mit der rechten Maustaste auf den Typindikator klicken und dann den Parametertyp im Kontextmenü auswählen.
Folgende Parametertypen sind möglich:
Parametertyp/ |
|
|
---|---|---|
|
Fester Wert |
Parametern dieses Typs ist ein fester Wert zugeordnet. Dies ist der zuletzt eingegebene Wert. Im Dialogfenster der Anschlüsse sind diese Parameter immer mit dem zuletzt eingegebenen Wert vorbelegt. Die _Work-Konfiguration verwendet im Wesentlichen Parameter dieses Typs. Konfigurationen mit festen Werten sind eher für das "drauf los" Konstruieren geeignet und nicht so sehr für kundenspezifische Konfigurationen. |
|
Referenzierter Wert |
Parameter dieses Typs sind feste Werte, die sowohl beim Einbau als auch beim Aktualisieren und Editieren eines Anschlusses immer aus der Konfiguration (UDC) selber, d. h. aus der entsprechenden XML-Datei gelesen werden. |
|
Referenzierte Regel |
Die Werte für Parameter dieses Typs sind das Ergebnis der Auswertung von in C# formulierten Regeln. Diese werden sowohl beim Einbau, beim Aktualisieren als auch beim Editieren des Anschlusses immer wieder neu ausgewertet und auf den Parameter angewendet. Die Regeln sind in der Script-Datei (.CS) des jeweiligen Anschlusses definiert. Verändern Sie den Wert eines solchen Parameters, dann wird dieser nach einer Nachfrage in den Typ referenzierter Wert umgewandelt. |
|
Vorschlagswert |
Parameter dieses Typs sind gut geeignet, um nicht referenzierte, benutzerdefinierte Konfigurationen zu erzeugen. Nur wenn ein neuer Anschluss eingebaut werden soll oder wenn beim Editieren eine neue Konfiguration ausgewählt wird, wird der Wert für den Parameter aus der Konfiguration, also aus der XML-Datei gelesen. In allen anderen Fällen, also beim Aktualisieren und beim Editieren des Anschlusses wird der Wert nicht aus der Konfiguration ermittelt, sondern aus den entsprechenden Variablen des Anschlusses in der Konstruktion (Variablentabelle im Featureprotokoll). Der Parameter verhält sich dann also wie ein fester Wert. |
|
Vorschlagsregel |
Werte für Parameter dieses Typs sind das Ergebnis der Auswertung von in C# formulierten Regeln. Der Unterschied zu referenzierten Regeln ist, dass die Regel nur beim ersten Einbau des Anschlusses angewendet wird oder wenn Sie beim Editieren eine neue Konfiguration auswählen. In anderen Fällen, also beim Aktualisieren und beim Editieren des Anschlusses wird die Regel nicht nochmals ausgewertet, sondern aus den entsprechenden Parametervariablen des Anschlusses ermittelt. Der Parameter verhält sich dann also wie ein fester Wert (LAST_VALUE) |
Wenn Sie im Dialogfenster der Anschlüsse Werte ändern, werden diese sofort in der aktuellen Konfiguration und auch in der zur Designvariante gehörenden CSV-Datei gespeichert. Dies gilt für alle oben aufgeführten Parametertypen.
Varianten + Anschlüsse (3D-STB) • Anschluss einbauen - Vorgehensweise (3D-STB) • Dialogfenster für Anschlüsse (3D-STB)