abbrechen
Suchergebnisse werden angezeigt für 
Stattdessen suchen nach 
Meintest du: 
abbrechen
Suchergebnisse werden angezeigt für 
Stattdessen suchen nach 
Meintest du: 
Dokumentation
Archicads Dokumentationswerkzeuge, Ansichten, Modellfilterung, Layouts, Veröffentlichung, etc.

Was sind Symbol-Etiketten und wie legt man sie an?

andreaszeike
Newcomer

den ersten Beitrag habe ich gelöscht...

az

[ 09. Januar 2004, 18:42: Beitrag editiert von: Andreas Zeike ]

35 ANTWORTEN 35
Holger Kreienbrink
Graphisoft
Graphisoft
Nein dazu gibt es noch keinen Architipp. Habe die Diskussion aber auch nicht so genau verfolgt.

Wenn du einen Tipp schreibst, werde ich ihn im architipp veröffentlichen. Schick ihn einfach zu mir
Holger Kreienbrink
Director Product Intelligence
Munich, Germany
Archicad since Version 5....
If I sound too harsh, please forgive me: I am German.
andreaszeike
Newcomer
Hallo Holger,

...mach ich doch gern 🙂

Erst muss ich aber noch das Problem mit den Strings lösen!!
Anonymous
Nicht anwendbar
</font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">Zitat:</font><hr /><font size="2" face="Verdana, Helvetica, sans-serif"> Das Problem tritt nur bei strings auf. val_fr zum Beispiel ist der Wert eines String-Parameters (type=4). Deshalb kann ich nicht sagen: if var_fr=0 then...

Wie kann man diese Hürde umgehen? Das gleiche Problem tritt beim importieren aus Dateien auf. AC ist es im allgemeinen egal, wenn ein Ausdruck mit abweichenden Typen im Skript steht. Nur: AC darf sie nicht abarbeiten. 😉 Klingt etwas doof, aber zeigt sich gleich:

Mit der Funktion vartype() läßt sich der Typ einer Variablen prüfen und dann entsprechend verfahren. Aber dieser Umweg ist vielleicht nicht nötig, denn die rrr=REQUEST ("ASSOCLP_PARVALUE"... - Funktion liefert ja den Typ schon mit zurück, oder? Und dann kann man in je ein 'if - then' verpackt einmal numerisch, einmal als string weiterverarbeiten. Aber Vorsicht! Schon in einer Konditionsprüfung </font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">Code:</font><hr /><pre style="font-size:x-small; font-family: monospace;">if rrr=0 or val_res="" then gibt es einen Fehler. Denn auch die Zweite Konditionsprüfung wird berechnet. Zumindest versucht. Fehlerfrei geht es so:
</font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">Code:</font><hr /><pre style="font-size:x-small; font-family: monospace;"> if rrr=0 then
if val_res="" then
...
endif
endif</font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">Zitat:</font><hr /><font size="2" face="Verdana, Helvetica, sans-serif"> Da kein Parameter gs_resol im Fenster-Objekt vorhanden ist, wird der Wert als val_resol=0 übergeben und resol wird im Etikett nicht angezeigt.

Sobald jedoch ein Parameter für resol im Objekt vorhanden ist, der aber keinen Wert enthält, funzt das Objekt so nicht mehr! Dazu kann der allseits geschmähte Parameter 'rrr' aus dem Statement rrr=REQUEST(...) verwendet werden, der 0 ist, wenn kein Ergebnis erzielt wurde. So ließen sich auch gängige Parameternamen abklappern.
Anonymous
Nicht anwendbar
Nochmal im Allgemeinen zu den Etiketten. Ich finde das ganze etwas unübersichtlich. Auch von den Begrifflichkeiten.

Warum gibt es nicht Marker, die zwingend aus einem Objekt heraus definiert werden müssen (ich brauche nicht Marker und Etikett in einem Fenster) und Etiketten, die ausschließlich extern gesetzt werden. Daß aber ein Etikett nur funktioniert, wenn es im Objekt deklariert wird und sich dann aber im Wesentlichen wie ein freies Objekt verhält ist verwirrend. Und es taucht ja auch noch in der Liste bei den frei platzierbaren Etiketten auf und funktioniert dann erstmal nicht, weil man dem Etikett nicht ansieht, bei welchem Objekt es nun korrekt funktioniert.

Ein Tutorial hilft zwar, aber ist nicht der Königsweg. Da verliert AC an Klarheit in diesem Punkt. 😞
andreaszeike
Newcomer
...ich auch!

Andererseits finde ich es gar nicht so schlecht, das dem user zwei Werkzeuge für ein Element gegeben wurden, zumal ich es immernoch nicht geschafft habe, das Rätsel des VARTYPE zu lösen...
:sauer:

Deine Erklärung hat mir da ehrlich gesagt nicht weiterhelfen können. Vielleicht frage ich noch einmal anders herum:

Wenn ich in einem Etikett die Frage 'frage=REQUEST ("ASSOCLP_NAME", "", name)' stelle, bekomme ich nach Prüfung mit 'xxx=vartype (name) : print xxx' eine Variable vom Typ 2 (String).

Mit 'TEXT2 0,0, name' wird mir der Wert der Variablen auch korrekt angezeigt, und ausgegeben wird mir auch richtig der Name des Objektes.


Die Prüfung der Frage 'frage=REQUEST ("Sill_height_dimension", "", brh)' ergibt im Etikett auch einen Typ2 (String), aber kein brauchbares Ergebnis (0).

Ein Ergebnis bekomme ich bei dieser Frage nur im Fenstermarker. Dort wird auch ein Typ2 (String) zurückgegeben, jedoch ergibt dieser mit 'TEXT2 0,0, brh' einen fehlerhaften Ausdruck nämlich: %*1,2m

Im Original-Fenstermarker wurde das mit </font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">Code:</font><hr /><pre style="font-size:x-small; font-family: monospace;"> extra=""
AC_SillPrefix= "Brüstungshöhe "
AC_MarkerText_= AC_SillPrefix + str{2} (brh, AC_Glob_Elevation, extra)
text2 0,0, AC_MarkerText_
gelöst. So wird es korrekt angezeigt, das ist aber nicht auf das Etikett übertragbar - dort habe ich wie gesagt keinen String...

Was muss ich schreiben, um im Etikett einen korrekten Wert ausgegeben zu bekomen?

[ 10. Januar 2004, 20:29: Beitrag editiert von: Andreas Zeike ]
andreaszeike
Newcomer
Hallo Ove,

...ich das Problem auf eine etwas weniger elegante Art gelöst:

Man muss zwar nicht unbedingt die Variablen des Objektes im Etikett wiederholen, aber man kann. Und wer hindert mich, diese als boolean anzulegen? Gesagt, getan...

Alle Variablen erscheinen jetzt im Etiketten-Dialog in der Spalte "Symboletikett"(vorrausgesetzt, das Etikett hat einen Zeiger), und können an-und aus geschaltet werden.

Nicht gerade genial, aber es funzt. Und für die Dimensionen und Brüstungshöhe benutze ich meinen modifizierten Marker.

Gruß, az