abbrechen
Suchergebnisse werden angezeigt für 
Stattdessen suchen nach 
Meintest du: 
abbrechen
Suchergebnisse werden angezeigt für 
Stattdessen suchen nach 
Meintest du: 
Modellierung
Entwurfswerkzeuge von Archicad, Elementverbindungen, Modellierungskonzepte usw.

etikett mit autotext

grey-de
Newcomer
hallo,

in anlehnung an folgenden beitrag habe ich ein eigenes etikett nach bisherigem bürostandard für ein bauteil erstellt.

https://forum.graphisoft.de/viewtopic.php?f=3&t=25413&hilit=etikett+autotext

hat auch wunderbar funktioniert. allerdings wüßte ich gerne ob ich einem autotext mit maßangaben (lange, breite, höhe) auch vorgeben kann in welchen einheiten er die information ausgibt.

ein beispiel:
das bauteil ist ein unterzug im schnitt.
maßangabe im selbst erstellten etikett mit autotext ist 0,200 x 0,350 und UK 3,650.
soll aber lauten 20 x 35 und UK +3,65.

eigentlich so wie auch beim allgemeinem etikett 22.

danke. gruß, grey
17 ANTWORTEN 17
Frank Beister
Moderator
Nein, das geschieht nach den Einstellungen des Projektes unter Optionen.
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
grey-de
Newcomer
hallo frank,

ich hatte gehofft, daß du dich dazu äußerst. auch wenn ich genau diese antwort befürchtet habe. ein lästiger workaround mit

umstellung der arbeitseinheiten | sichern | erneutes öffnen der datei

ändert daran leider nichts. ein eigenes etikett mit korrekter maßangabe kann demnach nur mit ausreichenden gdl-kenntnissen erstellt werden. oder hab ich etwas übersehen?

gruß, grey
Frank Beister
Moderator
Das Ganze hat zwei Hürden:

Bekommst du die Informationen wie im Autotext auch per Attribut/IFC/GDL-Parameter Abfrage des Host Objektes?
Das musst du selber sehen, ob das geht und wo die Werte vorliegen. Es gibt in GDL REQUESTS, um die Werte abzufragen. Autotexte sind string-Platzhalter, deren Inhalt und Ausgabeformat du nicht beeinflussen kannst. Wenn deine GDL-Skripts durchlaufen sind, enthält der Ausgabestring noch immer den PLatzhalter.

Wie formatierst du die Ausgabe.
Die Grundeinstellungen zu Maßdarstellungen kannst du auch per Request abfragen. Alternativ kannst du die Ausgabe selbst bestimmen, sobald du einen Nicht Autotext ausgeben willst. Es gibt ein Makro in der Standard-Bib, das die Ausgabe von Zahlenwerten, abhängig von ihrer Einheit, Rundung und ggf. Exponentendarstellung ausgibt. Dieses Makro kann man zuerst aufrufen, um die Dimensionen des Textes (für die Positionierung) zu erhalten und dann im zweiten Schritt die Zahl dann korrekt formatiert auszugeben. Das Makro hat viele Aufrufeparameter. Es wird z.B. im Raumstempel verwendet und spart einen Haufen Programmieraufwand. Im Makro ist eine Kurzbeschreibung der Aufrufewerte.
Quick and dirty kommt man natürlich auch mit der STR Funktion lang, damit funktionieren aber zumindest keine Exponenten.
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
Stefan L_
Mentor
"Beister" wrote:
... Es gibt ein Makro in der Standard-Bib, das die Ausgabe von Zahlenwerten, abhängig von ihrer Einheit, Rundung und ggf. Exponentendarstellung ausgibt...
Oh?! Auf welchen Namen hört das denn?

--
Stefan
--
Stefan
AC ...-27, WIN10
Frank Beister
Moderator
! ==============================================================================
!
! General Subroutines
!
! ==============================================================================

! ==============================================================================
"callQuantity":
! ------------------------------------------------------------------------------
! Call Quantity Text Macro
! ------------------------------------------------------------------------------
! Input Parameters:
! modelToPaper: Scale (real)
! phaseCalc: Calculation Phase? (bool)
! unitValue Printed Unit Value (double)
! iUnitType Unit Type (integer) see "Units"
! textAlign Text Align (1 left, 3 right) (integer)
! szPrefix String Prefix value (±,-)
! bShowUnit Show Unit (bool)
! bShowSuperScript Show Superscrit (bool)
! Output Parameters:
! totalLength: Quantity Total Length (length)
! textboxHeight: Quantity Total Height (length)
! szExtraPrecision: Quantity Extra Precision (string)
! lengthOfIntegerPart: Length of Integer Part (length)
! lengthOfUnit: Length of Unit (length)
! ==============================================================================
mul2 modelToPaper, modelToPaper
call "quantity_text_writer" parameters lengthValue = unitValue,
iUnitType = iUnitType,
GS_iMarkerDir = 1,
horizontalAlignment = textAlign,
verticalAlignment = 2,
AC_TextFont = textStyleFont[TEXTSTYLE_UNIT],
AC_TextSize = textStyleSize[TEXTSTYLE_UNIT],
AC_TextStyle = textStyleCode[TEXTSTYLE_UNIT][idx],
szPrefix = szPrefix,
AC_Readable = 0,
gs_readable_angle = 90,
useLeadingAndDescent = 1,
bShowText = not(phaseCalc),
bShowUnit = bShowUnit,
bShowSuperScript = bShowSuperScript,
returned_parameters totalLength,
textboxHeight,
szExtraPrecision,
lengthOfIntegerPart,
lengthOfUnit
del 1
return
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
Stefan L_
Mentor
"Beister" wrote:
!
Danke!
Die sachgerechte Verwendung verbraucht ja dann doch Hirnschmalz mehr als "Batterien rein und einschalten"...

--
Stefan
--
Stefan
AC ...-27, WIN10
Frank Beister
Moderator
Sorry,
TEXT2 0,0, STR("%.0cm", breite) + " x " + STR("%.0cm", laenge) + ", UK " + STR("%+.2m", unterkante)

geht auch. 😎
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
grey-de
Newcomer
hallo frank,

danke für deine ausführung, aber so fit bin ich darin nicht mehr, daß ich wirklich alles verstanden habe und es auch umsetzen kann.
gdl liegt schon seeeehr, sehr lange zurück und wahrscheinlich werde ich kaum die zeit finden mich darin wieder zu versuchen. trotzdem danke.

ein über autotexte selbst erstelltes etikett ist für mich dadurch relativ uninteressant geworden und auch kein feature mehr.
die gewünschten etiketten sollten natürlich assoziativ maße ausgeben können und dies dann auch bauwesenkonform.

vielleicht, nach dem ersten frust, setze ich mich doch mal daran.

grey
Stefan L_
Mentor
"Beister" wrote:
TEXT2 0,0, STR("%.0cm", ...
Ja, genauso sieht das bei uns aus. Und das kommt in feiner Varianz drülfzichmal vor:
breite = str ("%#.3m", BEAM_THICKNESS)
k = strlen (breite)
breite_cm = strsub (breite,1,k-1)
breite_mm = strsub (breite,k,1)
if breite_mm = "0" then breite_mm = ""
Die Millimeter werden einzeln rausgefummelt und nachher im paragraph hochgestellt oder eben weggelassen...


--
Stefan
--
Stefan
AC ...-27, WIN10