Ich schrieb doch:
Aber Vorsicht: Damit kann man dem Vergleichsalgorithmus auch ein "U" für ein "O" vormachen, wenn der Parameter doch die Darstellung des SmartParts beeinflusst!
Was passiert, wenn der Vergleichsalgorithmus zum Ergebnis kommt: "Beide SmartParts sind gleich"?
Ja dann wird das gemacht, was auch beim Kopieren passiert:
Die beiden SmartPart-Makros "teilen" sich eine Makro-Definition und damit alles, was das SmartPart ausmacht: Parameter, Scripte, Ressourcen usw.
Wenn das nicht gewollt ist, dann muss man im Gegenteil dafür sorgen, dass die SmartParts nie gleich sind!
Dafür git es hier im Forum auch Beispiele, wie man das anstellen kann.
Ein "gleich bis auf folgende Unterschiede" gibt es leider nicht! Entweder sind die Dinger gleich, oder nicht gleich, mit allen Konsequenzen, die das hat.
Man kann nicht Parameter definieren, die nur für die eine oder die andere Verlegung gelten.
In Allplan ist ein SmartPart eine Makro-Verlegung, die ihre Darstellung (die Geometrie) aus der Makro-Definition bezieht! Das hat den Vorteil (vor allem für den Speicherverbrauch), dass sich mehrere Verlegungen eine Defintion (die verbraucht den Speicher!) "teilen" können. Parameter und Scripte sind aber Teil der Makro-Definition, und deshalb "unteilbar", gelten also für alle darauf verweisenden Verlegungen.
Also Antwort:
Ja, man kann umgehen, dass alle Parameter verglichen werden.
Und nein, das heisst nicht, dass man diese ausgeschlossenen Parameter unabhängig voneinander
in den SmartParts verwenden kann.
Wofür ist das dann gut?
Eigentlich nur für Parameter, die die GUI steuern. z.B kann man mit dem Parameter "CURR_PAGE"
den gerade angzeigten Karteireiter steuern. Da dieser Parameter keinen Einfluss auf die Geometrie hat,
würde man ihn vom Vergleich ausnehmen. Gleiches gilt für andere Status-Parameter, die nur die GUI betreffen.