Hallo NX Routing Spezis,
die Fragestellung hat sich erledigt. Ich habe das Problem nun mit dem Attribut gelöst. Für alle die, die auch noch mit dem NX Routing Logical arbeiten und an diesem Punkt straucheln die Erklärung:
Über den entsprechenden "Preference" Eintrag in der ugroute_lgcl_Metric.xml kann man für verschiedene Piping, Tubing Elemente (z.B. Ventile, Zylinder, etc.) verschiedene Benennungsformate definieren. So kann man je nach Elementtyp unterschiedlich Attribute in den Label aufnehmen und durch die Routing Logical Label Funktion erzeugen lassen. Zum Beispiel könnte ein entsprechender Eintrag wie folgt aussehen.
<Preference>
<Name>PIPING_LABEL_DEFINITIONS</Name>
<String_Value>Armature = [@REFERENCE_ID]-AAA-[#ASS_NAME] (abc) [@RUN_ID]</String_Value>
<String_Value>Device = [@REFERENCE_ID]</String_Value>
<String_Value>Stock = RUN:[@RUN_ID] / OD:[@OD] / LENGTH:[@LENGTH]</String_Value>
</Preference>
Nun muss man dem System noch beibringen, welches Routing - Element bzw. Bauteil denn ein Ventil oder ein Device bzw. Stock oder Armature ist. Hierzu wird im nächsten Eintrag dann das PIPING_LABEL_FORMAT_ATTRIBUTE definiert mit...
<Preference>
<Name>PIPING_LABEL_FORMAT_ATTRIBUTE</Name>
<String_Value>PLFA</String_Value>
</Preference>
Um nun Beschriften zu können durchsucht NX Routing nun die Teileeigenschaften (Part Characteristics) nach dem genannten Attribute (hier PLFA). Somit sollten die entsprchenden Teile nun in den .ptb Tabellen mit diesem Attribute versehen werden. Der Inhalte des Attributs deklariert dann, ob es sich bei dem Teil um ein Device, Armature oder Stock handelt. In unserem Falle deklariere ich alle Elemente in einer Tabelle als "Device"...
APPLIED
NAME PLFA
FORMAT Device
END_OF_APPLIED
Zum guten Schluss müssen in den Symboldateien noch zwei nicht assoziative, benannte POINTS erzeugt werden. Dieses sollten benannt werden "LEADER_ORIGIN" und "NOTE_ORIGIN" und definieren die Erzeugungspunkte für die Beschriftung. Damit sollte das Labeling von Routing Logical Elementen funktionieren.
Zudem kann man noch einen CALLBACK deaktivieren (UFD_ROUTE_place_part_annotation) und zwei andere aktivieren (ASSIGN_PIP_CNT_DURING_PLACE_PART & CREATE_PIP_LBL_DURING_PLACE_PART)
<!-- Place Part -->
<!-- Piping Pass - Callback to propagate the nominal size from the placed part to the connected component or stock. -->
<!-- <Callback>
<Name>Place Part</Name>
<External_Dll>
<DLL_Name>INTERNAL</DLL_Name>
<Entry_Point>CHECK_PIP_PASS_DURING_PLACE_PART</Entry_Point>
</External_Dll>
</Callback> -->
<!-- Piping Counter - Callback to assign a unique number to the placed part in order to keep a count of the different types of components. -->
<Callback>
<Name>Place Part</Name>
<External_Dll>
<DLL_Name>INTERNAL</DLL_Name>
<Entry_Point>ASSIGN_PIP_CNT_DURING_PLACE_PART</Entry_Point>
</External_Dll>
</Callback>
<!-- Piping Label - Callback to place a formatted label associated with the placed part. -->
<Callback>
<Name>Place Part</Name>
<External_Dll>
<DLL_Name>INTERNAL</DLL_Name>
<Entry_Point>CREATE_PIP_LBL_DURING_PLACE_PART</Entry_Point>
</External_Dll>
</Callback>
Wenn man nun das Attribut PCTA in ähnlicher Weise pflegt wie das PLFA Attribut, so funktioniert auch die Counter Funktion entsprechend. In unserem Fall werden nun die eingefügten Symbole automatisch mit eindeutigen Labels versehen.
Gruß
Matthias
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP