Support Forum

[Frage] Oberflächendefinition wieder leeren über Auswahlfläche klappt nicht [Gelöst]

Schlagworte:
  • Allplan
  • 2023-1-9
  • SmartPart
  • Smartparts
  • Oberfläche
  • SURF
  • *.surf
  • Ausschalten
  • Leeren
  • Bereinigen

Wir haben uns zahlreiche SmartParts selbst programmiert und dabei für die 3D-Inhalte den Nutzern auch die Möglichkeit gegeben über eine entsprechende Einbabe (I_INFIELD mit Parameter vom Typ Oberfläche) ein *.surf Material zuzuweisen.
Zuletzt hatten wir bei der Verwendung der UVS aber immer häufiger das Problem, dass das Mapping von Oberflächenfarben in der mittleren Auswahl "Nur Füllflächen aus Farben" im Fall einer *.surf Zuordnung diese anstelle der Zeichenfarbe verwendet und damit eine kontrollierten Ausgaben mehr möglich sind. Deshalb sollen Oberflächen häufig auch unbedingt leer/nicht zugewiesen sein.

Wenn nun in einem SmartPart bereits zuvor einmal eine Oberfläche gewählt wurde, ist es bei uns (aktuell Allplan 2023) nicht möglich die *.surf-Zuordnung wieder zu löschen, weil die dafür vorgesehene Schaltfläche ""Ausschalten, Leeren, Bereinigen" in der unteren linken Ecke des Allplan-Dialog-Fensters der Oberflächenauswahl ohne Funktion ist. Ein Klick schließt den Dialog ohne Übergabe des leeren Pfadinhalts. Der Oberflächen-Parameter trägt weiterhin den bisherigen Pfad. Vielleicht machen wir da auch was Falsch, aber die Auswahl und Zuordnung vorhandener *.surf-Definitionen funktioniert weiterhin reibungslos. Nur das Rücksetzen auf "" (leer) klappt nicht.

Meine Versuche den individuell über Schaltfläche zugewiesenen Oberflächen-Parameter in einer Bedingung als Formelzeile mat = "" leer zu Überschreiben funktioniert nicht (auch nicht mit einem anderen Pfad zu einer vorhandenen alternativen *.surf). Ich vermute hier kollidiert die Überdefinition mit der Nutzerabfrage aus I_INFIELD.

Sind wir die einzigen Allplan Nuzter, die das Problem mit der "defekten" Schaltfläche "Ausschalten, Leeren, Bereinigen" haben?
Gibt es einen Trick die Schaltfläche aktiv zu bekommen?
Gibt es funktionierende Workarounds bei der Programmierung von SmartParts? (z.B. eigene Schaltfläche "Leeren" im Dialog-Script)

Ich bin gespannt, ob es dazu Erfahrungen gibt

Anhänge (1)

Typ: image/jpeg
30-mal heruntergeladen
Größe: 13,53 KiB

Lösung anzeigen Lösung verbergen

..guckst Du.

Anhänge (2)

Typ: video/mp4
118-mal heruntergeladen
Größe: 941,06 KiB
Typ: image/png
45-mal heruntergeladen
Größe: 68,17 KiB

..guckst Du.

Anhänge (2)

Typ: video/mp4
118-mal heruntergeladen
Größe: 941,06 KiB
Typ: image/png
45-mal heruntergeladen
Größe: 68,17 KiB

Wow, 3min - das war schnell und treffsicher!
VIELEN DANK, ist schon in einem Fall eingebaut und funktioniert!

Nur nochmal zu meinem besseren Verständnis..
Wird der von mir ausgelassene Parameterwert "1" als "version_flag" interpretiert? Oder direkt als eine der danach folgenden Angaben?

Anhänge (1)

Typ: image/jpeg
16-mal heruntergeladen
Größe: 31,15 KiB

Hallo,

Funktioniert das bei Ihnen mit I_INFIELD?
Bei mir funktioniert das nur mit I_INFIELD_2.


Ich verwende tatsächlich I_INFIELD. Und ja es funktioniert damit.

Danke.
Erstaunlich...
Vielleicht hängt es mit der gewählten Sprache zusammen (ich benutze Allplan hauptsächlich auf Französisch). Ich werde es testen, wenn ich auf Deutsch umschalte...


Ja, das funktioniert.
Ich hatte vergessen, dass I_INFIELD keine Variablennamen aus einer anderen Variablen unterstützt. Wenn man den Variablennamen in Anführungszeichen angibt, funktioniert es auch gut.