Offsetkoordinaten (Beschriftungsbilder)


Hallo zusammen

Es ist im Grunde die Folgefrage zu diesem

Link

Strang.
Da dort allerdings meine gestellten Fragen bantwortet wurden erstelle ich eine neuen Strang, ich hoffe da jetzt nichts falsch zu machen.
__________

Wir haben ein BIM-Projekt bei dem wir Offsetkoordinaten bekommen haben, welche wir ja wunderbar in den Projekteinstellungen eingeben können.

Nun tritt aber das Problem auf, das alle Beschriftungsbilder in denen die OK oder UK einfliesst die falschen Werte liefern, dort soll nämlich die Höhe vom Projekt 0,00 stehen.

also bei einem Wanddurchbruch mit OK=+1,00 steht dann eben +500 irgendwas.

Meine Idee aus der der vorige Strang entstand war ein benutzerdefiniertes Projektattribut zu erstellen und dort das Z-Offset einzutragen, das wär für uns auf jeden Fall ein Gangbarer Weg, allerdings gibt es dort ja nur Attribute vom Typ String.

Diese Z-Koordinate ist ja leider als Attribut nicht verfügbar.

Wäre super wenn jemand eine Idee wie man das lösen kann.

Als einfachen Ansatz für mich:
In anderen Programmiersprachen gibt es meines Wissens die Möglichkeit aus einem String, wenn dieser aus Zahlen besteht eine Dezimalzahl zu machen, ist das auch hier bei der Erstellung von Beschriftungsbilder möglich?
Dann wäre ich wieder beim benutzerdefinierten Projektattribut und alles wäre gut.

Sorry für vielen Text, hoffe ich hab mein Problem verständlich geschildert

Danke für die Hilfe
mfg
Stefan

Anhänge (1)

Typ: image/png
25-mal heruntergeladen
Größe: 15,22 KiB

Hilfreichste Antwort anzeigen Hilfreichste Antwort verbergen

Auszug aus der Hilfe:

Funktion Beschriftungsbild, Formel definieren + Zelle definieren, Formel

Arithmetische Operatoren

+
Addition
()
Klammer

-
Subtraktion
(())
geschachtelte Klammer

*
Multiplikation
e
10er Exponent der Fließkommadarstellung

/
Division
^
Potenz

Zugelassene Arithmetikfunktionen

Hinweis: Die beim Beschriftungsbild zugelassenen Arithmetikfunktionen unterscheiden sich von denen der Funktion Funktion zeichnen (Aufruf). Eine Übersicht finden Sie dort.
CloseRufen Sie Funktion zeichnen auf eine der folgenden Arten auf

Actionbar: Rolle Konstruktion Aufgabe Konstruieren Aufgabenbereich 2D-Objekte
Menüleiste: Erzeugen Erweiterte Konstruktion
Palette: Funktionen Bereich Erzeugen im Modul:
Erweiterte Konstruktion
Allplan
Math.
Erklärung

ABS(X)
|x|
Absoluter Wert

SQRT(X)

Quadratwurzel

SQR(X)
x2
Quadrat

PI(X)
PI
Funktion der Kreiszahl PI(2) = Kreiszahl PI * 2

LN(X)
ln x
Natürlicher Logarithmus (Basis e)

LOG(X)
log x
Logarithmus zur Basis 10

RCP(X)
1/x
Kehrwert von x

EXP(X)
ex
Exponentialfunktion mit Basis x

SGN(X)
-
Signum 0=0 <0=-1 >0=+1

SIN(X)
sin x
Sinus

COS(X)
cos x
Kosinus

TAN(X)
tan x
Tangens

ASIN(X)
arcsin x
Arcussinus

ACOS(X)
arccos x
Arcuscosinus

ATAN(X)
arctan x
Arcustangens

SINH(X)
sinh x
Sinushyperbolicus

COSH(X)
cosh x
Cosinushyperbolicus

TANH(X)
tanh x
Tangenshyperbolicus

NINT(X)
-
Rundung zur nächsten Ganzzahl

INT(X)
-
Zurückstufen zur nächst niedrigeren Ganzzahl

CEIL(X)
-
auf nächste Ganzzahl aufrunden

GRA(X)
-
Bogenmaß in GRAD

RAD(X)

Grad in Bogenmaß

GON(X)
-
Bogenmaß in GON

RAG(X)

GON in Bogenmaß

AVG(x1; x2; ..)
-
Mittelwert der max. 10 durch Strichpunkt getrennten Argumente (AVG(1;3)=2)

MIN(x1; x2; ..)
-
Minimum der max. 10 durch Strichpunkt getrennten Argumente (MIN(1;3)=1)

MAX(x1; x2; ..)
-
Maximum - der max. 10 durch Strichpunkt getrennten Argumente (MAX(1;3)=3)

FLAG(Value; bit[n];...)
-
Bietet eine Binäruntersuchung.
Beispiel:
Value = 25 --> Binär: 11001

FLAG(Value; 1) liefert 1, denn erste Flag von rechts ist gesetzt.
FLAG(Value; 2; 3) liefert 0, denn weder das zweite noch das dritte Flag von rechts sind gesetzt.
FLAG(Value; 3; 4) liefert 8, denn das vierte Flag ist gesetzt.

ROUND(X;x)
-
Runden einer beliebigen Zahl auf eine bestimmte Stellenanzahl
(ROUND(1.13333;2)=1,13)

ROUND(X;y;z)
-
Runden einer beliebigen Zahl (X) auf eine bestimmte Stellenanzahl (y) mit einer bestimmten Rundungsgenauigkeit (z) für die letzte Stelle
(ROUND(1.13333;2;5)=1,15)

ELE()
-
Filtert mehrere Zahlenwerte eines Attributs und liefert 0 oder 1 zurück
Beispiel:
ELE(Dicke;0,115;0,24;0,365)
erkennt alle Wände mit den angegebenen Dicken

VALUE(string;index)
-
Ermittelt beliebige Werte aus Texten
Beispiel:
STR_TEST = "Mein Haus hat 6 Zimmer und 2 Bäder"
VALUE(STR_TEST;1) + VALUE(STR_TEST;2) = 8


MID(Text;
Erstes_Zeichen;
Anzahl_Zeichen)
-
Gibt eine bestimmte Anzahl Zeichen einer Zeichenfolge ab einer bestimmten Stelle zurück

PARENTPRECAST()
-
Ermöglicht in Legenden, Beschriftungsbildern und Reports das Auslesen von Attributen des übergeordneten Fertigteils (Vaterelement) von Bewehrungselementen und Einbauteilen.
Beispielsweise kann damit am Verlegeplan ein Report aller Eisen mit der lokalen Positionsnummer unterhalb der einzelnen Fertigteile generiert werden.

Tipp: Mit Hilfe der Funktion PARENTPRECAST () ist es auch möglich, nach Eisen oder Einbauteilen zu suchen, die zu keinem Fertigteil gehören. Mit dem Filter wird nach Eisen oder Einbauteilen gesucht, für die kein übergeordnetes Fertigteil existiert (Attribut Fertigteil-ID, @1877@ = 0)

FORMAT(Formatstring; value1; [value<n>]; ....)
-
Dient zur formatierten Ausgabe von Werten
Beispiel:
FORMAT("B/H=%.2f / %.2f"; @220@; @222@)
liefert einen String
"B/H=1,55 / 2,03"

%.2f ist ein Platzhalter, der den Wert auf 2 Nachkommastellen rundet und an dieser Textstelle einfügt. Im Beispiel wird die Länge (@220@) in den ersten Platzhalter und die Höhe (@222@) in den zweiten Platzhalter mit je 2 Nachkommastellen eingefügt.

Weitere Informationen finden Sie unter
http://www.cplusplus.com/reference/cstdio/printf/

IMPPRE(Parameter1, Parameter2)
-
Dient zur Umrechnung einer metrischen Einheit in die aktuell eingestellte amerikanische Einheit (Fuß, Zoll) für die Vermaßung.

Parameter1 legt fest, welches Attribut umgerechnet werden soll.

Parameter2 legt die Einheit des aktuell eingestellten Attributes fest.

Parameter2 = nicht angegeben -> Attribut in mm
Parameter2 = 1 -> Attribut in cm
Parameter2 = 2 -> Attribut in m
Parameter2 = 3 -> Attribut in km
Parameter2 = irgendein anderer Wert -> Attribut in mm

FIXTURECOUNT(Attribut;Wert)
-
Ermittelt die Anzahl der Einbauteile mit einem bestimmten Attribut in einem Fertigteil.
Ergänzend sind weitere Kriterien verwendbar.
Beispiel:
FIXTURECOUNT(@1332@;"E-Dose,Halox")
Anzahl Einbauteile mit Katalogreferenz (Attribut @1332@) "E-Dose" oder "Halox"

GROUP(Anweisung;Attribut)
-
Gruppiert Elemente, die Attribute besitzen, wie Bewehrung, Fertigteile usw. Die Funktion GROUP betrachtet dabei 3 verschiedene Fälle:

Attribut am betrachteten Element (z.B. Eisen) vorhanden & in Gruppe; Eisen vermaßt & gruppiert
Attribut am betrachteten Element (z.B. Eisen) vorhanden & nicht in Gruppe; Eisen wird nicht vermaßt
Attribut am betrachteten Element (z.B. Eisen) nicht vorhanden; ursprüngliche Vermaßung für Eisen
Hinweis: Mit der Funktion GROUP kann immer nur ein einzelnes Attribut ausgewertet werden!

Beispiel für eine Gruppierung unter Verwendung des Attributes Index Maßkette (@1013@, Integer):
GROUP("1-4:A; 5-8:B";@1013@)
Alle Elemente mit Index Maßkette = 1-4 werden auf einer Maßlinie aufgeführt, welche als Maßlinienbezeichnung den Text A erhält. Die Elemente mit Index Maßkette = 5-8 werden auf einer zweiten Maßlinie aufgeführt, welche als Maßlinienbezeichnung den Text B erhält.

OPENINGMACROCOUNT(Attribut;Wert)
-
Zählt z.B. für Decken oder Wandelemente (iWall) alle Öffnungen mit Öffnungsmakro, welche das gewählte Fertigteil geometrisch beeinflussen. Öffnungen die außerhalb liegen oder das Fertigteil nur berühren werden nicht gezählt.
Analog zur Funktion FIXTURECOUNT sind auch weitere Kriterien verwendbar.
Beispiel:
OPENINGMACROCOUNT(@507@;"Holzab")
zählt alle Öffnungen, welche ein Makro mit der Bezeichnung (Attribut @507@) = HolzAb enthalten.

]Höflich ist die Akzeptanz anderer Ansichten inklusive von nicht im Klartext genannter Namen.
Ein raten eines Namens und/oder unbekannterweise die Verwendung einer - geratenen - persönlichen Anrede kann/wird als unhöflich bewertet

Die Kunst, welcher ein Ingenieur vermutlich erlernte ist weit genug lesen zu können, um Informationen quer übergreifend verwenden zu können.

Auszug aus der Hilfe:

Funktion Beschriftungsbild, Formel definieren + Zelle definieren, Formel

Arithmetische Operatoren

+
Addition
()
Klammer

-
Subtraktion
(())
geschachtelte Klammer

*
Multiplikation
e
10er Exponent der Fließkommadarstellung

/
Division
^
Potenz

Zugelassene Arithmetikfunktionen

Hinweis: Die beim Beschriftungsbild zugelassenen Arithmetikfunktionen unterscheiden sich von denen der Funktion Funktion zeichnen (Aufruf). Eine Übersicht finden Sie dort.
CloseRufen Sie Funktion zeichnen auf eine der folgenden Arten auf

Actionbar: Rolle Konstruktion Aufgabe Konstruieren Aufgabenbereich 2D-Objekte
Menüleiste: Erzeugen Erweiterte Konstruktion
Palette: Funktionen Bereich Erzeugen im Modul:
Erweiterte Konstruktion
Allplan
Math.
Erklärung

ABS(X)
|x|
Absoluter Wert

SQRT(X)

Quadratwurzel

SQR(X)
x2
Quadrat

PI(X)
PI
Funktion der Kreiszahl PI(2) = Kreiszahl PI * 2

LN(X)
ln x
Natürlicher Logarithmus (Basis e)

LOG(X)
log x
Logarithmus zur Basis 10

RCP(X)
1/x
Kehrwert von x

EXP(X)
ex
Exponentialfunktion mit Basis x

SGN(X)
-
Signum 0=0 <0=-1 >0=+1

SIN(X)
sin x
Sinus

COS(X)
cos x
Kosinus

TAN(X)
tan x
Tangens

ASIN(X)
arcsin x
Arcussinus

ACOS(X)
arccos x
Arcuscosinus

ATAN(X)
arctan x
Arcustangens

SINH(X)
sinh x
Sinushyperbolicus

COSH(X)
cosh x
Cosinushyperbolicus

TANH(X)
tanh x
Tangenshyperbolicus

NINT(X)
-
Rundung zur nächsten Ganzzahl

INT(X)
-
Zurückstufen zur nächst niedrigeren Ganzzahl

CEIL(X)
-
auf nächste Ganzzahl aufrunden

GRA(X)
-
Bogenmaß in GRAD

RAD(X)

Grad in Bogenmaß

GON(X)
-
Bogenmaß in GON

RAG(X)

GON in Bogenmaß

AVG(x1; x2; ..)
-
Mittelwert der max. 10 durch Strichpunkt getrennten Argumente (AVG(1;3)=2)

MIN(x1; x2; ..)
-
Minimum der max. 10 durch Strichpunkt getrennten Argumente (MIN(1;3)=1)

MAX(x1; x2; ..)
-
Maximum - der max. 10 durch Strichpunkt getrennten Argumente (MAX(1;3)=3)

FLAG(Value; bit[n];...)
-
Bietet eine Binäruntersuchung.
Beispiel:
Value = 25 --> Binär: 11001

FLAG(Value; 1) liefert 1, denn erste Flag von rechts ist gesetzt.
FLAG(Value; 2; 3) liefert 0, denn weder das zweite noch das dritte Flag von rechts sind gesetzt.
FLAG(Value; 3; 4) liefert 8, denn das vierte Flag ist gesetzt.

ROUND(X;x)
-
Runden einer beliebigen Zahl auf eine bestimmte Stellenanzahl
(ROUND(1.13333;2)=1,13)

ROUND(X;y;z)
-
Runden einer beliebigen Zahl (X) auf eine bestimmte Stellenanzahl (y) mit einer bestimmten Rundungsgenauigkeit (z) für die letzte Stelle
(ROUND(1.13333;2;5)=1,15)

ELE()
-
Filtert mehrere Zahlenwerte eines Attributs und liefert 0 oder 1 zurück
Beispiel:
ELE(Dicke;0,115;0,24;0,365)
erkennt alle Wände mit den angegebenen Dicken

VALUE(string;index)
-
Ermittelt beliebige Werte aus Texten
Beispiel:
STR_TEST = "Mein Haus hat 6 Zimmer und 2 Bäder"
VALUE(STR_TEST;1) + VALUE(STR_TEST;2) = 8


MID(Text;
Erstes_Zeichen;
Anzahl_Zeichen)
-
Gibt eine bestimmte Anzahl Zeichen einer Zeichenfolge ab einer bestimmten Stelle zurück

PARENTPRECAST()
-
Ermöglicht in Legenden, Beschriftungsbildern und Reports das Auslesen von Attributen des übergeordneten Fertigteils (Vaterelement) von Bewehrungselementen und Einbauteilen.
Beispielsweise kann damit am Verlegeplan ein Report aller Eisen mit der lokalen Positionsnummer unterhalb der einzelnen Fertigteile generiert werden.

Tipp: Mit Hilfe der Funktion PARENTPRECAST () ist es auch möglich, nach Eisen oder Einbauteilen zu suchen, die zu keinem Fertigteil gehören. Mit dem Filter wird nach Eisen oder Einbauteilen gesucht, für die kein übergeordnetes Fertigteil existiert (Attribut Fertigteil-ID, @1877@ = 0)

FORMAT(Formatstring; value1; [value<n>]; ....)
-
Dient zur formatierten Ausgabe von Werten
Beispiel:
FORMAT("B/H=%.2f / %.2f"; @220@; @222@)
liefert einen String
"B/H=1,55 / 2,03"

%.2f ist ein Platzhalter, der den Wert auf 2 Nachkommastellen rundet und an dieser Textstelle einfügt. Im Beispiel wird die Länge (@220@) in den ersten Platzhalter und die Höhe (@222@) in den zweiten Platzhalter mit je 2 Nachkommastellen eingefügt.

Weitere Informationen finden Sie unter
http://www.cplusplus.com/reference/cstdio/printf/

IMPPRE(Parameter1, Parameter2)
-
Dient zur Umrechnung einer metrischen Einheit in die aktuell eingestellte amerikanische Einheit (Fuß, Zoll) für die Vermaßung.

Parameter1 legt fest, welches Attribut umgerechnet werden soll.

Parameter2 legt die Einheit des aktuell eingestellten Attributes fest.

Parameter2 = nicht angegeben -> Attribut in mm
Parameter2 = 1 -> Attribut in cm
Parameter2 = 2 -> Attribut in m
Parameter2 = 3 -> Attribut in km
Parameter2 = irgendein anderer Wert -> Attribut in mm

FIXTURECOUNT(Attribut;Wert)
-
Ermittelt die Anzahl der Einbauteile mit einem bestimmten Attribut in einem Fertigteil.
Ergänzend sind weitere Kriterien verwendbar.
Beispiel:
FIXTURECOUNT(@1332@;"E-Dose,Halox")
Anzahl Einbauteile mit Katalogreferenz (Attribut @1332@) "E-Dose" oder "Halox"

GROUP(Anweisung;Attribut)
-
Gruppiert Elemente, die Attribute besitzen, wie Bewehrung, Fertigteile usw. Die Funktion GROUP betrachtet dabei 3 verschiedene Fälle:

Attribut am betrachteten Element (z.B. Eisen) vorhanden & in Gruppe; Eisen vermaßt & gruppiert
Attribut am betrachteten Element (z.B. Eisen) vorhanden & nicht in Gruppe; Eisen wird nicht vermaßt
Attribut am betrachteten Element (z.B. Eisen) nicht vorhanden; ursprüngliche Vermaßung für Eisen
Hinweis: Mit der Funktion GROUP kann immer nur ein einzelnes Attribut ausgewertet werden!

Beispiel für eine Gruppierung unter Verwendung des Attributes Index Maßkette (@1013@, Integer):
GROUP("1-4:A; 5-8:B";@1013@)
Alle Elemente mit Index Maßkette = 1-4 werden auf einer Maßlinie aufgeführt, welche als Maßlinienbezeichnung den Text A erhält. Die Elemente mit Index Maßkette = 5-8 werden auf einer zweiten Maßlinie aufgeführt, welche als Maßlinienbezeichnung den Text B erhält.

OPENINGMACROCOUNT(Attribut;Wert)
-
Zählt z.B. für Decken oder Wandelemente (iWall) alle Öffnungen mit Öffnungsmakro, welche das gewählte Fertigteil geometrisch beeinflussen. Öffnungen die außerhalb liegen oder das Fertigteil nur berühren werden nicht gezählt.
Analog zur Funktion FIXTURECOUNT sind auch weitere Kriterien verwendbar.
Beispiel:
OPENINGMACROCOUNT(@507@;"Holzab")
zählt alle Öffnungen, welche ein Makro mit der Bezeichnung (Attribut @507@) = HolzAb enthalten.

]Höflich ist die Akzeptanz anderer Ansichten inklusive von nicht im Klartext genannter Namen.
Ein raten eines Namens und/oder unbekannterweise die Verwendung einer - geratenen - persönlichen Anrede kann/wird als unhöflich bewertet

Die Kunst, welcher ein Ingenieur vermutlich erlernte ist weit genug lesen zu können, um Informationen quer übergreifend verwenden zu können.

WOW vielen Dank.

Hab es bereits ganz quick and dirty getestet.
es scheint wohl so zu funktionieren wie ich mir das wünsche.

Jetzt heisst es entsprechend einbauen und testen.

Und herzlichen Dank auch für die Zusatzinfos.