Support Forum

[Frage] Offset-Koordinaten als Attribute im Beschriftungsbild, wie?


Hallo,

wie bekommt man die Offset Koordinaten und den Projektwinkel als Attribute in eine Beschriftungsbild ausgewertet?
Ich finde dazu keinen passenden Attribute.

Gruß

Jörg

P.S.: Aus den Projektattributen so etwas wie "Normalhöhennull" will ich dazu nicht verwenden.

Software: Allplan, Lumion, OM by Cycot, Simplebim, Nevaris...
Coachings unter http://www.cycot.de / Tutorials unter http://www.allplanlernen.de

Hilfreichste Antwort anzeigen Hilfreichste Antwort verbergen

Für unser anstehendes Projekt habe ich auf die Schnelle diese Lösung erstellt.
Das wird bei uns funktionieren weil wir nur wenige der Beschriftungsbilder benötigen.

Diese Funktion am Ende der functions.py ergänzen
...\Projektablage\Std\Scripts\functions.py

def getOffset(prj_pfad, koordinate):
    import os.path
    filter = ["X","x","Y","y","Z","z"]
    if koordinate in filter:
        pass
    else:
        return f"Übergabewert nicht gültig: {koordinate}"
    offs_datei = "project.ofs"
    datei = os.path.join(prj_pfad, offs_datei)
    i = 0
    koordinaten = {"x": 0, "y": 0, "z": 0}
    start = False
    try:
        with open(datei, encoding="utf-8") as fcontent:
            for line in fcontent:
                if line.startswith("[OFFSET]"):
                    start = True
                if start:
                    if i == 1:
                        koordinaten["x"] = float(line)/1000
                    if i == 2:
                        koordinaten["y"] = float(line)/1000
                    if i == 3:
                        koordinaten["z"] = float(line)/1000
                    i += 1
    except OSError as err:
        print(err.args)
    return( f"{koordinaten[koordinate.lower()]}")

Beispiel Beschriftungsbild(Formel) für den Abruf des Rechts-Wertes aus dem Offset:
p:getOffset(@Pfadname@;"X")
Pfadname = Attribut-Nr. 412
Mögliche Werte X,x,Y,y,Z,z

VG
Marcus

Guten Morgen.

Ich stehe vor dem gleichen Problem.
Gibt es irgendeine Möglichkeit die Offsetkoordinaten in einem Attribut auszulesen?

lg,
Stefan

GEA Arquitectos S.L.P.
Calle Gerardo Diego 6A | 41013 Sevilla | Spain

Hallo Stefan,

da ist mir leider auch nichts bekannt.

Eine Möglichkeit wäre evtl. eine Pythonfunktion für ein Formelattribut zu schreiben welche die Werte aus der Datei "project.ofs" ausliest.
Sinn oder Unsinn sei mal dahingestellt.
Wenn die Funktion allerdings häufig auf die Datei zurückgreift wird es Allplan vermutlich ausbremsen.

Ich würde mir wünschen, dass die Werte von Allplan als Attribute bereitgestellt werden.

Wünsche ein schönes WE!

VG
Marcus

Hallo zusammen,
vieleicht helfen die Projektattribute unter Georeferenzierung -Vermessungspunkt Rechtswert und -Vermessungspunkt Hochwert weiter.

Tschau
Mike
http://www.baucon.de
Erfreulicherweise macht die Aufnahme von Wissen niemals Dick!

Sicher könnte man die Offsetwerte dort manuell eintragen.

Aber das ist glaube ich nicht, daß das die Zielrichtung der Frage war:
Welches Attribut muss man in ein Beschriftungsbild hinzufügen, um die aktuellen Projekt-Offset-Werte und den Projekt-Winkel automatisch angezeigt zu bekommen?
Sprich: Die Attributwerte sollten aus den Projekt-Einstellungen "ausgelesen" werden.
Der Workaround von Marcus, die Werte aus der project.ofs auszulesen ist schon mal ein "Anfang",
allerdings ist es nicht sehr performant, diese Datei bei jeder Berechnung der Attribut-Werte "zu bemühen".

Und: Das Ausschalten des Offsets bekommt das Beschriftungsbild nicht mit! Dazu müssen alle Beschriftungsbilder aktualisiert werden.

Wann braucht man das?
Z.B. wenn man das Offset in Z-Richtung dazu benutzt, um zwischen Höhenangaben zu Gebäudenull (0.00 FFB EG) und HHN, NHN HN, NN (oder einem anderen Höhenbezugssystem) umzuschalten. Gerade beim Übergang von Geäude- zu Freianlagenplanung ist meist (zusätzlich) der letztere Wert wichtig.

Ich würde mir wünschen, dass zumindest bei 3D-Geländepunkte die Beschriftung beides anzeigen kann.

moin,

ich benutze für die ausgabe der offsetkoordinaten ein projektbasisnullpunkt-makro.
dieses wird an den vorgegebenen offset-koordinaten abgesetzt.
da die koordinaten links unten am projektbasisnullpunkt-makro gemessen werden müssen die ausgewerteten x_, y_, z_koordinaten durch 1000 geteilt werden (allplanausgabe in mm) und dann noch die halbe seitenlänge in x-, y- und z-richtung adiert werden.

gruß andreas

The Blues is the roots, everything else is the fruits. Willie Dixon

Anhänge (1)

Typ: image/jpeg
118-mal heruntergeladen
Größe: 443,73 KiB

Für unser anstehendes Projekt habe ich auf die Schnelle diese Lösung erstellt.
Das wird bei uns funktionieren weil wir nur wenige der Beschriftungsbilder benötigen.

Diese Funktion am Ende der functions.py ergänzen
...\Projektablage\Std\Scripts\functions.py

def getOffset(prj_pfad, koordinate):
    import os.path
    filter = ["X","x","Y","y","Z","z"]
    if koordinate in filter:
        pass
    else:
        return f"Übergabewert nicht gültig: {koordinate}"
    offs_datei = "project.ofs"
    datei = os.path.join(prj_pfad, offs_datei)
    i = 0
    koordinaten = {"x": 0, "y": 0, "z": 0}
    start = False
    try:
        with open(datei, encoding="utf-8") as fcontent:
            for line in fcontent:
                if line.startswith("[OFFSET]"):
                    start = True
                if start:
                    if i == 1:
                        koordinaten["x"] = float(line)/1000
                    if i == 2:
                        koordinaten["y"] = float(line)/1000
                    if i == 3:
                        koordinaten["z"] = float(line)/1000
                    i += 1
    except OSError as err:
        print(err.args)
    return( f"{koordinaten[koordinate.lower()]}")

Beispiel Beschriftungsbild(Formel) für den Abruf des Rechts-Wertes aus dem Offset:
p:getOffset(@Pfadname@;"X")
Pfadname = Attribut-Nr. 412
Mögliche Werte X,x,Y,y,Z,z

VG
Marcus