afaria wrote:
so the user can manually set
ouch!
So there is another option if you are willing to modify the object:
You will find the setting of the ac_egress_width parameter in the "GS Door Functions" macro.
So for anyone who is new to doing this the process is:
1. Extract the Archicad library so you can modify the objects - File > Libraries and Objects > Extract a Container. then locate the "ARCHICAD Library 23.lcf" in the "Graphisoft > Archicad 23" local folder. I put it on my desktop otherwise it will extract to the same location as the LCF and you will end up loading the library twice.
2. select the object in Archicad you want to modify and open: ctrl+shft+o
3. there will be very little GDL code in this object. go to the master script and do a search for "call", you may see it right there in the first couple of lines. This is calling a macro that contains most of the functions.
4. select the name of this macro with your cursor and again click ctrl+shft+o and the macro will open. its pretty cool you can open macros straight from the code they are called in.
5. this macro is probably the "gs_general_lt_door", so now go to the parameter script of this object and once again search for "call" to find the "GS Door Functions" macro.
6. once again select this name with your cursor and press ctrl+shft+o to open this macro.
7. now go to the parameter script where you will see the equations controlling the "Egress Width" (ac_egress_width) value. search for "ac_egress_width" and then also determine where the variables used in it are set, such as "leafDLeft" set on line 14 of the Parameter script of the "GS Door Functions" macro.
Just as a warning: there are several other values that are determined by the ac_egress_width including the door panel width in this piece of code at line 1215
if not(gs_pocket) then
ac_leaf_width = ac_egress_width + leafDLeft + leafDRight
else
if ac_leaf_width - ac_egress_width < 0 then
ac_leaf_width = ac_egress_width
else
if ac_leaf_width - 2 * ac_egress_width > 0 then
ac_leaf_width = 2 * ac_egress_width
else
ac_leaf_width = ac_leaf_width
endif
endif
endif
So that's it, easy to access to set your own rules as to what affects the egress value, but beware of what else is affected by your changes; you can cuase big problems if you don't know the full ramifications of your actions (that's a life lesson given by GDL).
or an easy method is to subscribe to my door tool, Infinite Openings:
https://cadswift.com.au/products/Infnite-Openings.html
where the actual egress with consideration for the opening panels interference is given (for all opening types, hinged and sliding). We have even considered the precise affect for a door that open beyond 90 degrees, calculating the actual cosine of the door thickness at the given angle which is often closer to 120 than 90 (don't actually know many that stop at 90).
If you are relying of manual input you are leaving yourself open to user error and also forcing users to waste time performing and cross checking their work.
Creator of Cadswift's parametric GDL libraries
Creator of Infinite Openings and Component Catalogues
Push the envelope & watch it bend
website:
https://cadswift.com.au/
YouTube:
https://www.youtube.com/user/CADSwift/playlists