abbrechen
Suchergebnisse werden angezeigt für 
Stattdessen suchen nach 
Meintest du: 
abbrechen
Suchergebnisse werden angezeigt für 
Stattdessen suchen nach 
Meintest du: 

Wir schätzen Ihren Input!
Bitte nehmen Sie an der Umfrage zu Archicad 28 Startbildschirm und Lerninhalte/Schnell-Tutorials teil

Programmierung
Alles über Programmierung in GDL und Python

GDL Objekt für Wegeleitsystemplanung

georgweber
Participant
Wir sind seid vielen Jahren verantwortlich für eine Wegeleitsystem eines großen Klinikums. Jetzt steht eine komplexe Naubauerweiterung an und wir wollen für die Planung die Richtungsschilder auf den Grundrissplänen platzieren und dort auch grafisch editieren. So ungefähr nach diesem Muster ...



Dazu will ich ein intelligentes GDL Objekt erstellen. Im Vorfeld würde ich gerne checken, ob folgende Funktionalitäten möglich sind:

Wie ist die Generierung der Zeilen mit je einem Ziel am besten zu organisieren? Anforderung:
Bei den Objekteinstellungen muss aus einer Liste von rund 80 Zielen per Auswahl die Ziele ausgewählt werden, aus denen das Schild erzeugt wird. Nach der getroffenen Auswahl muss in einem UI die Auswahlliste mit den beispielsweisen acht ausgewählten Zielen übersichtlich zu sehen sein um dann die Reihenfolge der Zeilen und die Hintergrundfarbe der Zeilen bestimmen zu können. Es wäre gut, wenn die Reihenfolge der Zeilen auch mit grafischen Hotspots zu regeln wäre. Ist so eine zweistufige Auswahl im UI machbar?

Auf jeden Fall muss nach Platzierung der Schilderobjekte im Grundriss in der Listenauswertung eine Auswertung nach dem Parameter "Ziel" möglich sein. In der Auswertung sollen dann auf Knopfdruck z.B. nur alle Schlider, die z.B. das Ziel Notaufnahme beinhalten einschließlich einer grfischen Darstellung(wie bei der Fensterliste) angezeigt werden können. Ist das machbar?

Das jede Zeile einen Pfeil hat, den ich mit grafischen Hotspots drehen kann ist wohl die einfachste Übung dabei.

Falls jemand mich (der nur mittelmäßiges Wissen bei der GDL Programmierung hat) bei der Programmierung profesionell (=bezahlt) unterstützen möchte, bitte mir eine Nachricht schicken, ich würde dann den kompletten gewünschten Funktionalitäten zuschicken.

Ansonsten bin ich für auch für jeden weiterführenden Tipp dankbar ... Insbesondere GDL Objekte mit schon fünktionierenen Funktionsbausteinen wie z.B. Auslesen der xy Koordinaten oder Tabellenerzeugung nach Auswahlliste würde mich interessienen.

Schönes Wochenende wünscht Georg

[ 23. Oktober 2009, 16:31: Beitrag editiert von: georg ]
ArchiCAD 4.5 bis 27 GER FULL | Worksation: Win10 | BIM Server: Win Server 2019 | Mönchengladbach
3 ANTWORTEN 3
zzyzx
Newcomer
... ich würde da zuerst mal ein ganz einfaches objekt machen. einfach in der funktionalität und einfach in der bedienung.

kann man bestimmt mit arrays oder so schöner machen, aber egal...
! wegleitsystem 2d by zzxyzx
! parameter anlegen:
! t01, t02, t03 für texte
! r01, r02, r03 für richtungspfeile
! n = 3 ! anzahl textfelder
! sh = 3 ! schrifthöhe
! sa = "Arial" ! schriftart
! zh = 0.25 ! zeilenhöhe
! zd = 0.35 ! abstand schrift

define style standard sa,sh,4,0
set style standard
fill "massiv"

r = r01
gosub 100
poly2_b 5,3,p01,0,
0,-zh/2,1,
a,-zh/2,1,
a,zh/2,1,
0,zh/2,1,
0,-zh/2,-1
text2 zd,0,t01
if n = 1 then end

add2 0,-zh
r = r02
gosub 100
poly2_b 5,3,p02,0,
0,-zh/2,1,
a,-zh/2,1,
a,zh/2,1,
0,zh/2,1,
0,-zh/2,-1
text2 zd,0,t02
if n = 2 then end

add2 0,-zh
r = r03
gosub 100
poly2_b 5,3,p03,0,
0,-zh/2,1,
a,-zh/2,1,
a,zh/2,1,
0,zh/2,1,
0,-zh/2,-1
text2 zd,0,t03
if n = 3 then end

end
100:

if r = "gradeaus" then
line2 zd/2, -zh/3, zd/2, zh/3
line2 zd/2-zh/6, 0, zd/2, zh/3
line2 zd/2+zh/6, 0, zd/2, zh/3
endif
if r = "links" then
line2 zd/2-zh/3, 0, zd/2+zh/3, 0
line2 zd/2-zh/3,0, zd/2, +zh/6
line2 zd/2-zh/3,0, zd/2, -zh/6
endif
if r = "rechts" then
line2 zd/2-zh/3, 0, zd/2+zh/3, 0
line2 zd/2+zh/3,0, zd/2, +zh/6
line2 zd/2+zh/3,0, zd/2, -zh/6
endif
if r = "links diagonal" then
line2 zd/2-zh/3, zh/3, zd/2+zh/3,-zh/3
line2 zd/2-zh/4,0,zd/2-zh/3, zh/3
line2 zd/2-zh/3,zh/3,zd/2,zh/4
endif
if r = "rechts diagonal" then
line2 zd/2+zh/3, zh/3, zd/2-zh/3,-zh/3
line2 zd/2+zh/4,0,zd/2+zh/3, zh/3
line2 zd/2+zh/3,zh/3,zd/2,zh/4
endif

return

! parameterskript
values "t01" "Gebäude 1","Gebäude 2","Gebäude3","---","Warteraum","WC Herren","WC Damen","Behandlungsraum",custom
values "t02" "Gebäude 1","Gebäude 2","Gebäude3","---","Warteraum","WC Herren","WC Damen","Behandlungsraum",custom
values "t03" "Gebäude 1","Gebäude 2","Gebäude3","---","Warteraum","WC Herren","WC Damen","Behandlungsraum",custom

values "r01" "links","links diagonal","gradeaus","rechts diagonal","rechts"
values "r02" "links","links diagonal","gradeaus","rechts diagonal","rechts"
values "r03" "links","links diagonal","gradeaus","rechts diagonal","rechts"


values "n" range[1,3]
georgweber
Participant
hallo zzyzx ...

ich habe geraden keine Zugriff auf ein AC, um deinen code zu testen, aber ich wollte mitteilen, dass gerade mit promineter proffesioneller Unterstützung ein aus Planersicht mächtiges GDL Objekt erstellt wird. Demnächst startet die beta Phase ... Es wird vielleicht aber noch Punkte geben, wo das gesammlte Forums-Know-How gefragt ist, um die eine oder andere Funktionalität noch umsetzen zu können ... ich berichten, bis bald ...

Georg
ArchiCAD 4.5 bis 27 GER FULL | Worksation: Win10 | BIM Server: Win Server 2019 | Mönchengladbach
zzyzx
Newcomer
die ganze auswertung, die du ja auch benötigst, geht mit meinem vorschlag nicht so einfach.
insofern macht da ein aufwändigeres objekt sicher sinn.

kannst ja mal berichten, was es so alles kann...