Gerade weil die Gleichheitsprüfung die Information von SYMB_POS und SYMB_ROT "nicht sieht" bzw. ignoriert, bekommt man ja diese Probleme mit der Gleichheitsprüfung! Dadurch ist das Versprechen : Gleiche Paramter und gleiches Script erzeugen dasselbe Ergebnis nicht länger gültig! Der Hashwert über Script und Parameter würde "Gleichheit" anzeigen, obwohl die SmartParts unterschiedliche Geometrien haben!
Und der Layer der Makroverlegung wird nicht geprüft, weil es sich nicht um einen Parameter, sondern um eine "äußere Eigenschaft" des SmartPart-Containers handelt! Sehr wohl aber wird eine Parameter "lay", der zusammen mit dem Befehl LAYER lay im Script vorkommt, in die Gleichheitsprüfung einbezogen!
Die Parameter, über die der Hashwert gebildet wird, haben alle ein "+" in der Spalte "G".
Damit kann man Parameter mit "-" in der Spalte auch von der Gleichheitsprüfung ausschliessen, wenn diese nicht "in die Geometrie" bzw. in das "Aussehen" des SmartParts "eingehen". Z.b. wenn ein Parameter nur die aktuelle Seite in der Palette anzeigt ("curr_page"), braucht man den nicht für die "Gleichheitsprüfung"! Das wäre eher hinderlich!
Man könnte aber SYMB_POS und SYMB_ROT zu Standard-Parametern machen, wie REF_X und REF_Y.
Dann würden diese in die "Gleichheitsprüfung" eingeschlossen.
Das könnte allerdings nur Allplan machen.
Aber, mit Allplan 2021 kann jeder Folgendes als Workaround machen:
1. Attribute anlegen "Pos_X", "Pos_Y" und "Pos_Z" als Formel-Attribute mit Verweise auf die Attribute
Allplan_intern->X_Koordinate(163) Allplan_intern->Y_Koordinate(164) Allplan_intern->Z_Koordinate(165)
und diese dem SmartPart zuweisen
2. Im Script Parameter "pos_x", "pos_y" und "pos_z" anlegen, und diese an die Attribute "Pos_X", "Pos_Y" und "Pos_Z" verknüpfen.
3. Danach kann man im Script auf die Werte zugreifen.
Kleiner Haken an der Sache ist, dass das SmartPart die Verschiebung bzw. die Änderung des Attributes "nicht mitbekommt".
Daher muss man danach noch ein "SmartPart aktualisieren" machen.
Aber als Workaround mag es ausreichen!
Entdeckt die Möglichkeiten (der Formelattribute)!