abbrechen
Suchergebnisse werden angezeigt für 
Stattdessen suchen nach 
Meintest du: 
abbrechen
Suchergebnisse werden angezeigt für 
Stattdessen suchen nach 
Meintest du: 
Bibliotheken und Objekte
Archicad- und BIMcloud-Bibliotheken, deren Verwaltung und Migration, Objekte und andere Bibliotheksteile, etc.

Grafische Überschreibung - Prüfung

DaveTka
Participant
Moin,

neben den Auswertungen versuche ich auch ein sinnvolles Prüfsystem in Archicad zu erstellen, damit man auch die Parameter der Auswertung pflegt.

Als Beispiel:

Ich hab eine GÜ mit dem Namen "Prüfung Fenster".
Da hab ich zB die Regel "Prüfung - Klassifizierung Fenster"
Das funktioniert ja schon mal super, da ich hier die Regel aufstellen kann "Klassifizierung - Hat keinen Wert"
Jetzt würde ich das auch gern für die Eigenschaften machen. zB "Eigenschaften - Nicht definiert"

So kann man direkt überprüfen, welche Fenster noch nicht mit allen Parametern behaftet sind.
Sobald ein Wert in den Eigenschaften auf "Nicht definiert" steht, wird das Fenster zB rot. Dann pflegt man das ein und zack Fenster wird wieder "normal"

Übersehe ich etwas? Ansatz falsch?

Edit:
Natürlich kann ich alle Eigenschaften einzeln in die Regel aufnehmen. Aber 😈

Edit2:
Ok man kann mit Shift einfach alle eigenschaften auswählen und die in die Regel einfügen. Schon mal nicht so schlecht.

Edit3:
Hmm so richtig funktionieren will das nicht. Ich glaub auch der Ansatz ist Käse.
38 ANTWORTEN 38
Frank Beister
Advisor
Könnte sein, dass dein Problem trivial ist:
Es wird nur als nicht definiert erkannt, wenn du die Eigenschaft als "nicht definiert" festgelegt hast: Kettensymbol !! Wenn nur als wert "nicht definiert" drin steht, ist ja ein Inhalt gesetzt.
bim author since 1994 | bim manager since 2018 | author of selfGDL.de | openGDL | skewed archicad user hall of fame | author of bim-all-doors.gsm
Frank Beister
Advisor
Korrektur: IMHO bug: Die ISUNDEFINED Funktion mag kein "Optionen Set" der getesteten Eigenschaft. Mit Zeichenfolgen klappt es mit der Formel und dem Parameter.

[EDIT]
Die gute Nachricht: Scheint in AC23 gefixt zu sein.
bim author since 1994 | bim manager since 2018 | author of selfGDL.de | openGDL | skewed archicad user hall of fame | author of bim-all-doors.gsm
DaveTka
Participant
😕 😕 😕 😕
Stefan L_
Mentor
"Beister" wrote:
Korrektur: IMHO bug: Die ISUNDEFINED Funktion mag kein "Optionen Set" der getesteten Eigenschaft. Mit Zeichenfolgen klappt es mit der Formel und dem Parameter.
Taatsache! Kann ich bestätigen.

Workaround: Für "Schwelle" ein Optionenset mit einem Eintrag "Noch nicht vergeben" oder so, und den als Standardwert vorgeben. Alle bereits existierenden Elemente erben sofort diesen Wert, und das Kettensymbol bleibt geschlossen.
Die Prüfung fragt das dann ab:
IF ( ( {Property:Türen\/Fenster/Schwelle} = "Noch nicht vergeben" ); "undefiniert"; CONCAT ( "Definiert: "; {Property:Türen\/Fenster/Schwelle} ) )


--
Stefan
--
Stefan
AC ...-27, WIN10
DaveTka
Participant
von LaszloNagy

Here is what I found: the Expression you stated in your first post should be fine (aside from some syntax issues). However, what I find is that the ISUNDEFINED function works only on Properties with "TRUE/FALSE", "INTEGER" and "NUMBER" Data types.
So, in your case, when the Data Type is "Option Set", the ISUNDEFINED function cannot be evaluated. I think this is either a bug or a limitation.

So, for example, this simple Expression:

IF ( ISUNDEFINED ( {Property:OPENINGS/Fire Exit} ), TRUE, FALSE )


will correctly return "TRUE" when the "Fire Exit" Property is <Undefined>, and return "FALSE" when the "Fire Exit" Property is either TRUE or FALSE (not <Undefined>). The "Fire Exit" Property has the "True/False" Data Type.

However, the following Expression:

IF ( ISUNDEFINED ( {Property:GENERAL RATINGS/Fire Resistance Rating} ), TRUE, FALSE )


will always be evaluated as "FALSE", regardless of whether it is default (Undefined), is set to Undefined, or set to any other value. The "Fire Resistance Rating" Property has the "Option Set" Data Type.


I tend to think it is a bug, because we should be able to tell if any Property is undefined or not, regardless of its Data Type, and that is exactly what the ISUNDEFINED function is for. It should work for all Data Types, not only for numeric Data Types.
So I will report this to GRAPHISOFT for them to look at.


Danke fürs Nachforschen und die gemeinsame Fehler suche. ❤️
DaveTka
Participant
"Stefan L." wrote:


Workaround: Für "Schwelle" ein Optionenset mit einem Eintrag "Noch nicht vergeben" oder so, und den als Standardwert vorgeben. Alle bereits existierenden Elemente erben sofort diesen Wert, und das Kettensymbol bleibt geschlossen.
Die Prüfung fragt das dann ab:
IF ( ( {Property:Türen\/Fenster/Schwelle} = "Noch nicht vergeben" ); "undefiniert"; CONCAT ( "Definiert: "; {Property:Türen\/Fenster/Schwelle} ) )


--
Stefan


Das funktioniert super 🙂 Guter Workaround.
DaveTka
Participant
ARCHICAD 22 Full INT 6000
256527 DOCUMENT: ISUNDEFINED function of the Expression-based Properties was not evaluated correctly for Option Set type Properties.


https://www.graphisoft.com/downloads/archicad/updates/?localization=INT&type=FULL&version=22

😉 😄 😮 😄
Frank Beister
Advisor
INT 6000, GER 5009?
bim author since 1994 | bim manager since 2018 | author of selfGDL.de | openGDL | skewed archicad user hall of fame | author of bim-all-doors.gsm
Su
Graphisoft Partner
Graphisoft Partner