abbrechen
Suchergebnisse werden angezeigt für 
Stattdessen suchen nach 
Meintest du: 
abbrechen
Suchergebnisse werden angezeigt für 
Stattdessen suchen nach 
Meintest du: 
Programmierung
Alles über Programmierung in GDL und Python

Symbol-Etiketten

andreaszeike
Newcomer
den ersten Beitrag habe ich gelöscht...

az

[ 09. Januar 2004, 18:42: Beitrag editiert von: Andreas Zeike ]
42 ANTWORTEN 42
Anonymous
Nicht anwendbar
Im Prinzip können die Objekte nicht miteinander kommunizieren (= Daten austauschen).

Etwas anderes ist es schon bei den Etiketten, denn diese können ja, wie man an obigem Beispiel sieht zumindest ein paar globale Statuswerte vom 'Mutter'element übernehmen. Aber AFAIK keine benutzerdefinierten Werte. Ich kann mir das auch nicht so recht vorstellen. Ich wüßte keine Syntax, wie darauf zugegriffen könnte. Denn diese Parameter sind ja individuell benannt (z.B. 'Tuertyp'). Wie soll das Etikett dann 'anfragen', welchen Wert es wissen will. Dann würde das Etikett ja nur mit einem bestimmten Objekt Daten austauschen können.

Ebenso ist wohl bei den Markern. (Fenster- / Tür- /Detailmarker), da kann ich Dir aber nicht sagen, ob da benutzerdefinierte Werte ausgetauscht werden können. Das gibt es ohnehin erst ab Version 8. Dort kann ich es mir schon eher vorstellen, da diese ja in dem Einstellungsdialog des 'Mutter'objektes selbst definiert werden.
andreaszeike
Newcomer
ich dachte an:

</font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">Zitat:</font><hr /><font size="2" face="Verdana, Helvetica, sans-serif"> REQUEST ("ASSOCLP_PARVALUE", expr, name_or_index,
type, flags, dim1, dim2, values)

Stellt die Information in den gegebenen Variablen über den Bibliothekselementparameter, mit dem das Bibliothekselement mit dieser Frage verbunden ist, wieder her. Es kann bei Eigenschaftenobjekten, Etiketten und Markerobjekten verwendet werden...
Nur leider geht es dann weiter mit: </font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">Zitat:</font><hr /><font size="2" face="Verdana, Helvetica, sans-serif"> Der Funktionswiedergabewert ist die Anzahlt der erfolgreich wiedergewonnenen Werte, es ist Null, wenn der genau angegebene Paramater nicht vorhanden ist oder ein Fehler auftauchte... Ich will ja den Wert der Variablen haben und nicht die Anzahll der wiedergewonnenen Werte. Bin ich vielleicht doch auf dem richtigen Dampfer???

Blöderweise verstehe ich die Erklärungen im Handbuch mal wieder "nicht so ganz" :verwirrt: ...

[ 08. Januar 2004, 14:41: Beitrag editiert von: Andreas Zeike ]
Anonymous
Nicht anwendbar
Das klingt ja wirklich sehr vielversprechend. Und kompliziert. Vielleicht sollte ich mich doch intensiver mit AC8 beschäftigen, Ist aber mehr ein Büroproblem.

Das Verständnis des Handbuchs hatten wir ja schon häufiger diskutiert. 😞 Und in 8 scheint es nicht viiiel besser geworden zu sein.
</font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">Zitat:</font><hr /><font size="2" face="Verdana, Helvetica, sans-serif"> There should be more examples on these darn manuals. war heute morgen mal wieder im GDL-Talk. 🙄

Ich habe mal eben im (beta)manual nachgelesen (habe es leider nur als print und im Moment nicht als PDF im Zugriff. (Oft ist es ja besser zurück ins Englische zu übersetzen und dann wieder ins Deutsche. Dann erklären sich z.B. die Säulen des Arrays)

Mir ist es jetzt zu müßig es abzutippen. Aber ich lese es so, daß values als Plural zu lesen ist. Der erste Wert gibt den Status zurück, der / die folgenden den Inhalt. Vielleicht hat sich ja was von der beta zur Vollversion geändert, aber ich würde den Befehl so verwenden:

rrr=REQUEST ("ASSOCLP_PARVALUE", expr, name_or_index,type, flags, dim1, dim2, par_sts, par_1, par_2, par_3)

Mehrdimensionale Arrays werden als eindimensionale Zeile für Zeile zurückgegeben.

Wenn das so stimmt, dann muß ich meine Angaben von oben revidieren. Zumindest für 8.x. Gleich mal probiren....
andreaszeike
Newcomer
ich habe es zumindest schon mal mit:

dummy= REQUEST ("ASSOCLP_NAME", "", inhalt)

define style "testStyle" AC_TextFont_1, AC_TextSize_1, 7, 0
style testStyle
text2 0,0, inhalt


hinbekommen - das funzt jedenfalls beim Etikett, wenn auch beim Marker nur bedingt...
andreaszeike
Newcomer
das englische 8.0 Handbuch als pdf hab ich irgendwo für Dich, wenn Du es brauchst - muß mal suchen...
Anonymous
Nicht anwendbar
Laß mal, ich hab ja den englischen Text. Hast Du den Request denn nun schon mal verwendet? Und wenn ja, hast Du einen Parameter anpingen können? Gabs irgendwas zurück?
Anonymous
Nicht anwendbar
the following brought me on the track:
http://archicad-talk.graphisoft.com/viewtopic.php?t=648

Also folgendes funktioniert:
Neu erstellen eines Fenstermarkers. 2D-Skript hat folgenden Inhalt:

</font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">Code:</font><hr /><pre style="font-size:x-small; font-family: monospace;">
re_fire=REQUEST ("ASSOCLP_PARVALUE", "gs_frame_mat", nameind_fr, type_fr, flag_fr, dim1_fr, dim2_fr, val_fr)

text2 0,0.5,re_fire

text2 0,0,"expr" : text2 2.0,0,_expr
text2 0,-0.5,"nameind_fr" : text2 2.0,-0.50,nameind_fr
text2 0,-1,"type_fr" : text2 2.0,-1,type_fr
text2 0,-1.5,"flag_fr" : text2 2.0,-1.5,flag_fr
text2 0,-2,"dim1_fr" : text2 2.0,-2,dim1_fr

text2 0,-2.5,"dim2_fr" : text2 2.0,-2.5,dim2_fr
text2 0,-3,"val_fr" : text2 2.0,-3,val_fr

end
Wand zeichnen.
2-Flügelfenster einsetzen.
Dort den neu erstellten Marker auswählen und man hat den Zugriff auf den Indexwert des Stockmaterials "gs_frame_mat".

Gleiches Vorgehen mit einem Etikett habe ich auch probiert. Dazu habe ich im Plan den Standardhocker eingesetzt und ihn mit folgendem selbst definierten Etikett behaftet:

</font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">Code:</font><hr /><pre style="font-size:x-small; font-family: monospace;">
re_fire=REQUEST ("ASSOCLP_PARVALUE", "gs_resol", nameind_fr, type_fr, flag_fr, dim1_fr, dim2_fr, val_fr)

text2 0,0.5,re_fire

text2 0,0,"expr" : text2 2.0,0,_expr
text2 0,-0.5,"nameind_fr" : text2 2.0,-0.50,nameind_fr
text2 0,-1,"type_fr" : text2 2.0,-1,type_fr
text2 0,-1.5,"flag_fr" : text2 2.0,-1.5,flag_fr
text2 0,-2,"dim1_fr" : text2 2.0,-2,dim1_fr

text2 0,-2.5,"dim2_fr" : text2 2.0,-2.5,dim2_fr
text2 0,-3,"val_fr" : text2 2.0,-3,val_fr

end Ergebnis: Nüscht.

😞 😞 😞

Klingt eher nach meiner Vermutung von oben. Marker ja, Etikett, nein.

Joooooochen! Hast Du das schon mal probiert?
andreaszeike
Newcomer
wie gesagt:

probier mal

</font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">Code:</font><hr /><pre style="font-size:x-small; font-family: monospace;">dummy= REQUEST ("ASSOCLP_NAME", "", inhalt)
define style "testStyle" AC_TextFont_1, AC_TextSize_1, 7, 0
style testStyle
text2 0,0, inhalt...damit bekommst Du beim Etikett schon mal den Dateinamen zurück!
Anonymous
Nicht anwendbar
OK. Ich habe es. So ist es eigentlich wie ein Marker.

Ettiketten können frei platziert werden. Einfach mit dem Etikettenwerkzeug. Dann funbktioniert eine Kommunikation mit den evt. angehefteten Bauteilen nur auf globaler Einstellungsebene. GLOB_ID etc. Siehe erstes Beispiel oben.

Allerdings kann man schon beim Platzieren des Objektes (oder auch noch später) dem Objekt ein Etikett zuweisen (Letze Eingabemaske). Dann hat das Etikett auch den Zugriff auf die Parameter.
andreaszeike
Newcomer
...dazu fällt mir noch ein:

Ein Etikett lässt sich über den Werkzeuginfo-Dialog nicht mehr ändern, wenn es bereits eingesetzt wurde!

Habe ich einem Bauteil vor dem Einsetzen ein Sonder-Etikett zugewiesen, darf ich "Elemente etikettieren" nicht vorübergehend inaktiv setzen. AC würde mir das Sonder-Etikett durch ein Standard-Etikett ersetzten. Ein Zurück gibt es dann nicht mehr!!

Allerdings ist das die Lösung für o.g. Problem:

Wenn ich einem vorhandenen Element ein neues Etikett zuweisen will, muss ich das neue Etikett nur zuerst als Standard-Etikett für die bauteilgruppe definieren - dann kann ich mit "Elemente etikettieren" aus/ein das Etikett auswechseln!


Komfortabler verhält es sich mit den Markern: Über die Schaltfläche im Info-Dialog kann ich einem vorhandenem Element jederzeit verscheidene Marker zuweisen.

Allerdings sind Marker AFAIK nur für Fenster und Türen verfügbar.

Frage:
Gibt es evtl. eine Möglichkeit, anderen Objekten Marker zuzuweisen?

[ 08. Januar 2004, 19:13: Beitrag editiert von: Andreas Zeike ]