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

probleme mit fensteranschlägen

Anonymous
Nicht anwendbar
ich bin dabei fenster aus der bibliothek 8.1 (2.1 Rechteckfenster) an meine bedürfnisse anzupassen. natürlich werden vorher die betreffenden dateien dupliziert und umbenannt.

ich benötige eine "durchgehende serie". aus diesem grund verwende ich die gegenständlichen fenstermakros auch als außentürenmakros. bei den türenmakros ist es erforderlich, daß auch die aufgehrichtung im grundriß dargestellt wird. bei meiner vor sehr vielen jahren programmierten durchgehenden fenster- und außentürenserie war es kein problem die aufgehrichtung so zu programmieren, daß das 2d-symbol einwandfrei funktioniert. zu dieser zeit war es noch nicht möglich aus der zeichnungsebene heraus anschläge zu wählen. fensteranschläge mußten mitprogrammiert werden.

nunmehr habe ich schwierigkeiten die aufgehrichtung so zu programmieren, daß diese einwandfrei funktioniert. früher war der parameter "A" in 2d automatisch der rohbaulichte (ohne anschläge) zugeordnet. soweit ich dies "empirisch" ermitteln konnte, ist nunmehr dieser parameter der architekturlichte (lichte zwischen den maueranschlägen) zugewiesen. dies ist kein problem - wenn man dies weiß (im gdl-handbuch habe ich keinen hinweis darauf gefunden !). ein problem für mich ist jedoch, daß ich mit den anschlägen nicht zurechtkomme. wenn ich beide anschläge gleich breit wähle, dann funktioniert die 2d-darstellung einwandfrei (auch dann, wenn ich an beiden seiten keine anschläge wähle). sobald ich jedoch unterschiedliche anschlagbreiten wähle funktioniert diese nicht mehr korrekt.

die zu dieser thematik relevanten parameter des makros "bs-anschl-1-flügelt.gsm" (einflügeltüre mit beidseitigem anschlag), das als kopie des makros "1-Flügelfenster" der serie "2.1 Rechteckfenster" überarbeitet werden soll:

gs_stb_r = rahmenstockbreite rechts
gs_stb_l = rahmenstockbreite links
gs_frame_thk = dicke des stockrahmens
gs_vb = versatz des flügels zum rahmenstock in richtung "A" (versatz durch die fälze)
WIDO_RIGHT_JAMB = globale variable = breite des anschlages rechts
WIDO_LEFT_JAMB = globale variable = breite des anschlages links

die 2d-zusatzprogrammierung:

!**********************aufgehrichtung*************
!****************************************************
pen gs_pen_2D
line_type 1

line2 -a/2+gs_stb_r-gs_vb-0.01-WIDO_RIGHT_JAMB,-gs_frame_thk-0.01,-a/2+gs_stb_r-gs_vb-0.01-WIDO_RIGHT_JAMB,-(a-gs_stb_r-gs_stb_l+2*(gs_vb)+0.01+gs_frame_thk+0.01+WIDO_RIGHT_JAMB+WIDO_LEF T_JAMB)

arc2 -a/2+gs_stb_r-gs_vb-0.01-WIDO_RIGHT_JAMB,-gs_frame_thk-0.01,a-gs_stb_r-gs_stb_l+2*(gs_vb)+0.01+WIDO_RIGHT_JAMB+WIDO_LEFT_JAMB,270,360

hotspot2 -a/2+gs_stb_r-gs_vb-0.01-WIDO_RIGHT_JAMB, -(a-gs_stb_r-gs_stb_l+2*(gs_vb)+0.01+gs_frame_thk+0.01+WIDO_RIGHT_JAMB+WIDO_LEFT_JAMB

"komischer weise" funktioniert in 3d "A" - im gegensatz zu 2d - automatisch als rohbaulichte (ohne seitliche anschlgäge). irgendwo hab ich diesebezüglich einen "knopf in meiner leitung". die jalousienblende reicht nach der folgenden programmierung bis zu den rohbaukanten, weil ich probleme mit den anschlägen habe (dies ist jedoch nicht weiter schlimm):

die parameter:

jal = jalousienblende an/aus
jal_mat = material jalousienblende
jal_h = höhe jalousienblende
jal_d = dicke jalousienblende
jal_a = abstand = höhe jalousienblende zum stockrahmen

die 3d-zusatzprogrammierung:

!***************************jalousienblende******************************
!***************************************************************************
if jal=1 then
material jal_mat
addx -a/2
addy b-jal_h
addz -jal_a
brick a,jal_h,jal_d
del 3
endif

vielleicht kann mir irgendjemand weiterhelfen. besser wäre es vielleicht, wenn ich jemandem, "der da durch ist" das gegenständliche makro per email senden könnte.
19 ANTWORTEN 19
Anonymous
Nicht anwendbar
hat niemand einen rat ?
zzyzx
Newcomer
na diese türen und fenster aus der bibliothek sind nicht grad' einfach.
die müssen ja unter allen möglichen situationen, bei allen kombinationen von parametern, auch in gekrümmten wänden usw. funktionieren. deshalb diese extrem unübersichtlichen skripte, die fast nur die leute kapieren können, die es programmiert haben. zudem sind die bibliotheken offenbar von verschiedenen programmierern erstellt worden, was an einer unterschiedlichen methodik erkennbar ist. das macht dein projekt nicht leichter...
was ist das eigentlich genau, was du zusätzlich benötigst? veilleicht ist es ja viel einfacher lösbar, als die komplette bibliothek umzubauen.
:winken:
Anonymous
Nicht anwendbar
ich baue nicht die gesamte bibliothek um, sondern nur einige wenige fenster. diese fenster möchte ich für meine bedürfnisse um einige funktionen erweitern. allfällig genügt es sogar, das gegenständliche "fenster" zu adaptieren um ein "multifunktionsfenster" - das dieses weitgehend bereits ohne zusatzprogrammierung ist - zu erhalten. außentüren werden oft im zusammenhang mit fenstern eingesetzt. es ist deshalb nicht zielführend und in der anwendung unpraktisch wenn außentüren (terrassentüren, eingangstüren etc.) im türenmodus und nicht im fenstermodus programmiert werden.

mit dem gegenständlichen "fenster" kann ich fenster, terrassen- und balkontüren, eingangstüren, einzelfenster- und türen, endteile, mittelteile (reihenfenster, reihen-terrassentüren etc.), mit fenster- und fenstertürflügeln, rahmen mit fixverglasung, mit und ohne jalousienblende etc. erstellen. das heißt, ich kann umbenannte kopien dieses makros so voreinstellen, daß ich eine durchgehende serie an fenster- und außentürenmakros erhalte mit der ich - fast - alle anforderungen abdecken kann. (für sonderfenster wie rundfenster etc. werde ich die von mir "im jahre schnee" programmierten und nun mehr als "uraltmakros" zu bezeichnenden makros umprogrammieren.) voraussetzung ist jedoch, daß ich die programmierungen in den griff bekomme , bei denen ich - mangels wissen - probleme habe. ich würde vielleicht durch langes probieren ebenfalls "auf einen grünen zweig kommen". dies wäre jedoch sehr mühevoll. deshalb meine obenstehend angeführte anfrage.

sobald diese durchgehende serie einwandfrei funktioniert sende ich sie jedem, der diese wünscht, per email zu.
Anonymous
Nicht anwendbar
Wie zzyzx schon schrieb handelt es sich bei den Bibelementen um gewachsenen Code. Also nicht gerade übersichtlich. Durchaus auch noch mit bugs. Aber er ist verstehbar. Man muß sich durchgraben.
Du solltest die Objekte aber nicht unterschätzen. Sie reagieren doch auf eine ganze Reihe von Einbausituationen, was sich in der Fülle des Programmtextes niederschlägt. Ganz hilfreich ist da ein Listing, das nebeneinandergelegt einen besserenb Überblick verschafft.

Wenn du es neu programmieren willst, das wichtigste: An den Parametern SYMB_MIRRORED, SYMB_ROTANGLE und WIDO_REVEALSIDE kannst du die Einbausituation des Fensters ablesen. Du solltest dir ein Dummyobjekt machen, das dir in den allen gedrehten und gespiegelt eingesetzten Positionen den Wert der Parameter ausgibt. Nur so bekommst du ein Gefühl dafür, wenn du Fehler im Skript suchst.

Ich habe mal das 2 Flügelfenster Optionen verallgemeinert (1-4 flügelig, Faschen, Absturzsicherung, Aufschlaglinien, Fensterläden 1-3 flügelig und und und). Dabei ist NICHTS mehr von dem ursprünglichen Code übrig geblieben. Überlege dir also vorher wohin du mit dem Objekt willst. Die komplexen GS-Fenster eignen sich nicht für 'mal eben schnell' was ranprogrammieren.

[ 06. Dezember 2004, 08:51: Beitrag editiert von: Lars ]
Anonymous
Nicht anwendbar
hallo lars,

ich bin für die ratschläge zu meiner anfrage vom 27.11.2004 sehr dankbar. nur, diese "zielen" an dieser völlig vorbei.

ich habe nicht vor, das gegenständliche makro mit wesentlichen funktionen zu ergänzen. in 3d habe ich dieses nur mit einer jalousienblende versehen und in 2d mit der aufgehrichtung. meine primäre frage betrifft die programmierung der aufgehrichtung in 2d (probleme mit den fensteranschlägen).

soweit ich deinen anführungen entnehmen kann, hast du viel erfahrung mit gdl-programmierungen. meine bitte deshalb an dich: lies bitte meine anfragen vom 27.11.2004 und meine ergänzung vom 05.12.2004 genau durch. ich bin sicher, daß du mir weiterhelfen kannst, wenn du diese genau durchgelesen hast.

danke im voraus für deine bemühungen.
Anonymous
Nicht anwendbar
Ich glaube, daß ich dich schon richtig verstanden habe, doch ist deine Fragestellung auch nicht eindeutig.

Du willst an einem sehr komplexen Objekt 'nur eine Kleinigkeit' ändern und wunderst dich, daß es nicht klappt. Meine Antwort war: Das Objekt ist komplex und auch eine augenscheinlich kleine Änderung ist ein Eingriff in ein sehr komplexes System und vielleicht (!) doch nicht so einfach.

Beispiel:
Der Fensterflügel wird in einem Makro erzeugt. Programmiertechnisch kann ich auf die Position des Flügels (kann ja ausmittig sein -> unterschiedliche Stockbreiten) vor dem Makroaufruf oder im Makro selbst reagieren. Das ist aber ganz entscheidend zu wiseen, wenn ich eine Aufschlaglinie ranprogrammieren will. Und das ist nur ein Aspekt.

Dein Codeausschnitt ist ja auch ganz schön da oben, doch ohne Kenntnis des Restes und dessen Position darin läßt sich da kaum ein Fehler finden. Am besten erstellst du mal eine PLA, die Alt, Ziel und fehlerbehaftetes Neu darstellt und schickst sie mir oder einem anderen Freiwilligen, der sich das mal kurz angucken mag. Bitte markiere aber auch eindeutig, wo du in dem neuen Objekt was verändert hast, sonst muß ich noch 'Compare It' auspacken. 😉

P.S. Aber keine Garantie für Reaktionszeiten. Habe gerade den Kanal doch recht voll. (Weihnachtszeit)
Anonymous
Nicht anwendbar
hallo lars,

danke für dein angebot. ich werde dir das gegenständige makro per email senden.

bezüglich "reaktionszeit" habe ich volles verständnis. ich habe auch "die hucke voll".

es eilt nicht.

mit dem markieren jener stellen, bei denen ich etwas ergänzt habe, habe ich "leichte schwierigkeiten". ich habe keine möglichkeit gefunden diese stellen farbig zu markieren oder nur die schrift dieser programmierteile zu verändern.

die zusatzprogrammierungen (2d und 3d) sind jeweils ziemlich am anfang der textseiten plaziert (alte rechtschreibung).


den anfang habe ich jeweils wie folgt gekennzeichnet:

!!! *********ANFANG ERGÄNZUNG*************
!!! **************************************************

das ende habe ich jeweils wie folgt gekennzeichnet:

!!! *********ENDE ERGÄNZUNG*************
!!! **************************************************

bei den parametern habe ich keine markierungsmöglichkeit gefunden. die einzige ergänzung in der parameterliste findest du unterhalb "Lamellen" >> _sp10 jalousienblende.
Anonymous
Nicht anwendbar
soweit ich dies den einzelnen beiträgen entnehmen kann, sind in diesem forum einige sehr kompetente gdl-anwender vertreten. vielleicht kann mir doch einer davon helfen das vorstehend angeführte problem zu lösen.
Anonymous
Nicht anwendbar
ich denke, daß ich mit meiner anfrage irgendwie "schief" liege, weil überhaupt keine reaktion erfolgt. was mache ich falsch ?