abbrechen
Suchergebnisse werden angezeigt für 
Stattdessen suchen nach 
Meintest du: 
abbrechen
Suchergebnisse werden angezeigt für 
Stattdessen suchen nach 
Meintest du: 

Stimmen Sie für Ihre Archicad Wünsche!

Weitere Informationen
Dokumentation
Archicads Dokumentationswerkzeuge, Ansichten, Modellfilterung, Layouts, Veröffentlichung, etc.

Eigenschaft - fehlende Längeneinheit

Anonymous
Nicht anwendbar
Hallo zusammen,

Ich habe mir für den Raumstempel in den Eigenschaften eine Berechnung erstellt, jedoch bekomme ich dich Anzeige der Einheit nicht hin.

Die Formel lautet (Alle Werte sind Längen):
{Property:Allgemeine Parameter/Höhe} + {Property:Räume, detailliert - IfcSpace, Pset_SpaceDetail/Abhanghöhe} + {Property:Raum/Fußbodendicke}

Ich habe es schon versucht mit:
CONCAT ( {Property:Allgemeine Parameter/Höhe} + {Property:Räume, detailliert - IfcSpace, Pset_SpaceDetail/Abhanghöhe} + {Property:Raum/Fußbodendicke}; " m" )

Hat aber leider nicht funktioniert. Hat jemand eine Lösung?
Ganz gut wäre noch, wenn ich falls der Fussbodenaufbau z.B. 12,5 hat, dass auch bei den Raumhöhen die Hochzahl ausgegeben angezeigt wird.

Liebe Grüße
6 ANTWORTEN 6
xandros1
Newcomer
Hi und willkommen
du musst die Zahlen mittels STRCALCUNIT erst in einen 'Text' konvertieren, da dein Ergebnis mit dem " m" auch nur ein Text sein kann. Heißt auch, dass die Eigenschaft, die diese Berechnung enthält, vom Datentyp her eine Zeichenfolge sein muss.

CONCAT (STRCALCUNIT( {Property:Allgemeine Parameter/Höhe} + {Property:Räume, detailliert - IfcSpace, Pset_SpaceDetail/Abhanghöhe} + {Property:Raum/Fußbodendicke}); " m" )
AC 25 / 26, Voll, D / Intel i9-9900K, 64 GB RAM, nVidia GeForce RTX 2080 Ti, Win 10 x64
xandros1
Newcomer
Ganz gut wäre noch, wenn ich falls der Fussbodenaufbau z.B. 12,5 hat, dass auch bei den Raumhöhen die Hochzahl ausgegeben angezeigt wird.


Dazu gabs hier im Forum schon einige Threads. Hier eine kleine Auswahl:

https://forum.graphisoft.de/viewtopic.php?p=159186#p159186
https://forum.graphisoft.de/viewtopic.php?p=164871

Das ganze macht aus einem recht simplen Code einen ziemlich komplizierten. Viel Erfolg beim zusammenbasteln!
AC 25 / 26, Voll, D / Intel i9-9900K, 64 GB RAM, nVidia GeForce RTX 2080 Ti, Win 10 x64
Ma_Scht
Advocate
Mach 2 Eigenschaften!
Die 1. ist wie von Dir beschrieben und die kannst Du als Zahl auswerten um in der IA Raumflächen addieren lassen zu können.
Die 2. Eigenschaft holt sich die 1., wandelt sie in einen STRING um und ergänzt die Einheit.
Die 2. kommt dann in den Raumstempel.

Mach Dir eine Syntax-Festlegung analog GDL. Liest sich später für Dich besser.

rXYZ = Reele Zahl
sXYZ = String
iXYZ = Ganzzahl
bXYZ = binärer Wert (0 oder 1)

Gruß
Anonymous
Nicht anwendbar
Erstmal vielen Dank für die schnellen Antworten! Ich habe es soweit hinbekommen.

Der fertige Code sieht momentan so aus:

CONCAT ( LEFT ( STR ( ( {Property:Allgemeine Parameter/Höhe} + {Property:Räume, detailliert - IfcSpace, Pset_SpaceDetail/Abhanghöhe Decke} + {Property:Raum/Fußbodendicke} ) / 1 m; 3 ); LEN ( STR ( ( {Property:Allgemeine Parameter/Höhe} + {Property:Räume, detailliert - IfcSpace, Pset_SpaceDetail/Abhanghöhe Decke} + {Property:Raum/Fußbodendicke} ) / 1 m; 3 ) ) - 1 ); IFS ( RIGHT ( STR ( ( {Property:Allgemeine Parameter/Höhe} + {Property:Räume, detailliert - IfcSpace, Pset_SpaceDetail/Abhanghöhe Decke} + {Property:Raum/Fußbodendicke} ) / 1 m; 3 ); 1 ) = "1"; "¹ m "; RIGHT ( STR ( ( {Property:Allgemeine Parameter/Höhe} + {Property:Räume, detailliert - IfcSpace, Pset_SpaceDetail/Abhanghöhe Decke} + {Property:Raum/Fußbodendicke} ) / 1 m; 3 ); 1 ) = "2"; "² m "; RIGHT ( STR ( ( {Property:Allgemeine Parameter/Höhe} + {Property:Räume, detailliert - IfcSpace, Pset_SpaceDetail/Abhanghöhe Decke} + {Property:Raum/Fußbodendicke} ) / 1 m; 3 ); 1 ) = "3"; "³ m "; RIGHT ( STR ( ( {Property:Allgemeine Parameter/Höhe} + {Property:Räume, detailliert - IfcSpace, Pset_SpaceDetail/Abhanghöhe Decke} + {Property:Raum/Fußbodendicke} ) / 1 m; 3 ); 1 ) = "4"; "⁴ m "; RIGHT ( STR ( ( {Property:Allgemeine Parameter/Höhe} + {Property:Räume, detailliert - IfcSpace, Pset_SpaceDetail/Abhanghöhe Decke} + {Property:Raum/Fußbodendicke} ) / 1 m; 3 ); 1 ) = "5"; "⁵ m "; RIGHT ( STR ( ( {Property:Allgemeine Parameter/Höhe} + {Property:Räume, detailliert - IfcSpace, Pset_SpaceDetail/Abhanghöhe Decke} + {Property:Raum/Fußbodendicke} ) / 1 m; 3 ); 1 ) = "6"; "⁶ m "; RIGHT ( STR ( ( {Property:Allgemeine Parameter/Höhe} + {Property:Räume, detailliert - IfcSpace, Pset_SpaceDetail/Abhanghöhe Decke} + {Property:Raum/Fußbodendicke} ) / 1 m; 3 ); 1 ) = "7"; "⁷ m "; RIGHT ( STR ( ( {Property:Allgemeine Parameter/Höhe} + {Property:Räume, detailliert - IfcSpace, Pset_SpaceDetail/Abhanghöhe Decke} + {Property:Raum/Fußbodendicke} ) / 1 m; 3 ); 1 ) = "8"; "⁸ m "; RIGHT ( STR ( ( {Property:Allgemeine Parameter/Höhe} + {Property:Räume, detailliert - IfcSpace, Pset_SpaceDetail/Abhanghöhe Decke} + {Property:Raum/Fußbodendicke} ) / 1 m; 3 ); 1 ) = "9"; "⁹ m "; RIGHT ( STR ( ( {Property:Allgemeine Parameter/Höhe} + {Property:Räume, detailliert - IfcSpace, Pset_SpaceDetail/Abhanghöhe Decke} + {Property:Raum/Fußbodendicke} ) / 1 m; 3 ); 1 ) = "0"; " m " ) )


Habs leider nicht hinbekommen, dass er mir nur auf ^5 rundet. Dachte erst, ist ja ganz easy und ersetze einfach die hochzahlen im Code also:

CONCAT ( LEFT ( STR ( ( {Property:Allgemeine Parameter/Höhe} + {Property:Räume, detailliert - IfcSpace, Pset_SpaceDetail/Abhanghöhe Decke} + {Property:Raum/Fußbodendicke} ) / 1 m; 3 ); LEN ( STR ( ( {Property:Allgemeine Parameter/Höhe} + {Property:Räume, detailliert - IfcSpace, Pset_SpaceDetail/Abhanghöhe Decke} + {Property:Raum/Fußbodendicke} ) / 1 m; 3 ) ) - 1 ); IFS ( RIGHT ( STR ( ( {Property:Allgemeine Parameter/Höhe} + {Property:Räume, detailliert - IfcSpace, Pset_SpaceDetail/Abhanghöhe Decke} + {Property:Raum/Fußbodendicke} ) / 1 m; 3 ); 1 ) = "1"; " m "; RIGHT ( STR ( ( {Property:Allgemeine Parameter/Höhe} + {Property:Räume, detailliert - IfcSpace, Pset_SpaceDetail/Abhanghöhe Decke} + {Property:Raum/Fußbodendicke} ) / 1 m; 3 ); 1 ) = "2"; " m "; RIGHT ( STR ( ( {Property:Allgemeine Parameter/Höhe} + {Property:Räume, detailliert - IfcSpace, Pset_SpaceDetail/Abhanghöhe Decke} + {Property:Raum/Fußbodendicke} ) / 1 m; 3 ); 1 ) = "3"; "⁵ m "; RIGHT ( STR ( ( {Property:Allgemeine Parameter/Höhe} + {Property:Räume, detailliert - IfcSpace, Pset_SpaceDetail/Abhanghöhe Decke} + {Property:Raum/Fußbodendicke} ) / 1 m; 3 ); 1 ) = "4"; "⁵ m "; RIGHT ( STR ( ( {Property:Allgemeine Parameter/Höhe} + {Property:Räume, detailliert - IfcSpace, Pset_SpaceDetail/Abhanghöhe Decke} + {Property:Raum/Fußbodendicke} ) / 1 m; 3 ); 1 ) = "5"; "⁵ m "; RIGHT ( STR ( ( {Property:Allgemeine Parameter/Höhe} + {Property:Räume, detailliert - IfcSpace, Pset_SpaceDetail/Abhanghöhe Decke} + {Property:Raum/Fußbodendicke} ) / 1 m; 3 ); 1 ) = "6"; "⁵ m "; RIGHT ( STR ( ( {Property:Allgemeine Parameter/Höhe} + {Property:Räume, detailliert - IfcSpace, Pset_SpaceDetail/Abhanghöhe Decke} + {Property:Raum/Fußbodendicke} ) / 1 m; 3 ); 1 ) = "7"; "⁵ m "; RIGHT ( STR ( ( {Property:Allgemeine Parameter/Höhe} + {Property:Räume, detailliert - IfcSpace, Pset_SpaceDetail/Abhanghöhe Decke} + {Property:Raum/Fußbodendicke} ) / 1 m; 3 ); 1 ) = "8"; " m "; RIGHT ( STR ( ( {Property:Allgemeine Parameter/Höhe} + {Property:Räume, detailliert - IfcSpace, Pset_SpaceDetail/Abhanghöhe Decke} + {Property:Raum/Fußbodendicke} ) / 1 m; 3 ); 1 ) = "9"; " m "; RIGHT ( STR ( ( {Property:Allgemeine Parameter/Höhe} + {Property:Räume, detailliert - IfcSpace, Pset_SpaceDetail/Abhanghöhe Decke} + {Property:Raum/Fußbodendicke} ) / 1 m; 3 ); 1 ) = "0"; " m " ) )


Ging aber leider nicht, weil mir ab 8 mm ja 1 cm fehlt. 😄

Ist es eigentlich geopant, dass Archicad das Raum-Tool ändert? Zumindest die Option eine abgehängten Decke anzugeben wäre doch sinnvoll.
Auch die Diskussion kam mit Kollegen schon ab und an auf, wie jetzt die OK vom Raum-Tool definiert ist. Soll das die lichte Höhe sein oder von OK FFB bis UK Deckenplatte, was ja eigentlich keinen Sinn macht.
xandros1
Newcomer
Habs leider nicht hinbekommen, dass er mir nur auf ^5 rundet. Dachte erst, ist ja ganz easy und ersetze einfach die hochzahlen im Code also:

[...]

Ging aber leider nicht, weil mir ab 8 mm ja 1 cm fehlt. 😄


(Ungetestet, aber...: )
Du könntest es dir vereinfachen, in dem du die Bedingung für die hochgestellte 5 in einem gruppierten OR vor das CONCAT ziehst. Und wenn die Bedingung nicht zutrifft, dann rundest du eben nur auf 2 statt auf 3 Nachkommastellen mit der STR-Formel.

IF ( OR ( 
RIGHT ( STR ( ( {Property:Allgemeine Parameter/Höhe} + {Property:Räume, detailliert - IfcSpace, Pset_SpaceDetail/Abhanghöhe Decke} + {Property:Raum/Fußbodendicke} ) / 1 m; 3 ); 1 ) = "3";
RIGHT ( STR ( ( {Property:Allgemeine Parameter/Höhe} + {Property:Räume, detailliert - IfcSpace, Pset_SpaceDetail/Abhanghöhe Decke} + {Property:Raum/Fußbodendicke} ) / 1 m; 3 ); 1 ) = "4";
RIGHT ( STR ( ( {Property:Allgemeine Parameter/Höhe} + {Property:Räume, detailliert - IfcSpace, Pset_SpaceDetail/Abhanghöhe Decke} + {Property:Raum/Fußbodendicke} ) / 1 m; 3 ); 1 ) = "5";
RIGHT ( STR ( ( {Property:Allgemeine Parameter/Höhe} + {Property:Räume, detailliert - IfcSpace, Pset_SpaceDetail/Abhanghöhe Decke} + {Property:Raum/Fußbodendicke} ) / 1 m; 3 ); 1 ) = "6";
RIGHT ( STR ( ( {Property:Allgemeine Parameter/Höhe} + {Property:Räume, detailliert - IfcSpace, Pset_SpaceDetail/Abhanghöhe Decke} + {Property:Raum/Fußbodendicke} ) / 1 m; 3 ); 1 ) = "7");
CONCAT ( LEFT ( STR ( ( {Property:Allgemeine Parameter/Höhe} + {Property:Räume, detailliert - IfcSpace, Pset_SpaceDetail/Abhanghöhe Decke} + {Property:Raum/Fußbodendicke} ) / 1 m; 3 ); LEN ( STR ( ( {Property:Allgemeine Parameter/Höhe} + {Property:Räume, detailliert - IfcSpace, Pset_SpaceDetail/Abhanghöhe Decke} + {Property:Raum/Fußbodendicke} ) / 1 m; 3 ) ) - 1 ); "⁵ m ");
CONCAT( STR ( ( {Property:Allgemeine Parameter/Höhe} + {Property:Räume, detailliert - IfcSpace, Pset_SpaceDetail/Abhanghöhe Decke} + {Property:Raum/Fußbodendicke} ) / 1 m; 2 ); " m") )
AC 25 / 26, Voll, D / Intel i9-9900K, 64 GB RAM, nVidia GeForce RTX 2080 Ti, Win 10 x64
Anonymous
Nicht anwendbar
Super, hat einwandfrei funktioniert. Vielen Dank

Keine Antwort gefunden?

Andere Beiträge
im Board ansehen

Zurück zum Board

Neueste Lösungen durchsuchen

Akzeptierte Lösungen zeigen

Eine neue Diskussion starten!

Neues Thema erstellen