Lighting fixture object - cutting ceiling hole with SEO
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2010-08-04 09:26 PM
I have created an object representing a recessed light -- see attachment (3D section). In order to cut the appropriate hole in the ceiling soffit, I need to use an additional cylinder to do SEO and later hide its layer.
Is it possible to include an "invisible" solid within the GDL object itself, so I could just use the object as the SEO operator? Or is it possible to automatically cut the hole without having to resort to SEO at all?
Thanks a lot!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2010-08-04 10:25 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2010-08-04 10:43 PM
I will try creating a simple revolved solid and try to turn off wall/edge visibility in GDL, so *in theory* this will create an invisible solid around the light fixture that I hope will be included in the SEO calculation. The question is, will this be still treated as a solid element. I will report.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2010-08-05 01:28 AM
matjashka wrote:This is possible but you must script the object to make it happen. Your code for the main object will remain just the same but then you will add an if/then statement invoking the GLOB_CONTEXT variable (for when GLOB_CONTEXT equals 43 or 44 most likely) in which you script for the elements to be present during the SEO operation.
...Is it possible to include an "invisible" solid within the GDL object itself, so I could just use the object as the SEO operator?...
IF GLOB_CONTEXT = 43 OR GLOB_CONTEXT = 44 THEN : do something here to occur during an SEO operation : ENDIFIf you have made your light from slabs, walls, etc and allowed ArchiCAD to create the GDL code, this can still be added (assuming you saved the part as editable GDL script) but there will be a scaling factor that must be dealt with as you script your part. You will also still need to know a little about GDL scripting.
HTH
AC 19 6006 & AC 20
Mac OS 10.11.5
15" Retina MacBook Pro 2.6
27" iMac Retina 5K
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2010-08-09 06:05 PM
The GLOB_CONTEXT worked like a charm (when it eventually occurred to me that it was
Thank you Erich, and Stuart as well!

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2010-08-09 06:36 PM
AC 19 6006 & AC 20
Mac OS 10.11.5
15" Retina MacBook Pro 2.6
27" iMac Retina 5K

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2010-08-09 07:07 PM
Thanks
massachusetts, usa
AC25 (1413), since AC6
Windows 10
Intel Core i7 -8700 @ 3.2 GHz~ 16 GB ram
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2010-08-09 07:29 PM
I don't know how you created your fixture but I assume like most people you built it in 3D and saved as editable GDL object.
Your objective is to add a "cutter" volume to the GDL code that will cut a hole, but remain invisible (this was my main question above). Now, you can either add this volume to the group of solids that make up your light and re-save, OR you can just add the code to your existing object.
For all who look for similar solution:
1) as a general rule, ID all your solids so it's easier to find the solid in GDL code;
2) the new solid must have the same space coordinates as your original;
3) you may save only what you need as a separate GDL object, and just open its code, copy and paste relevant fragments of code to your original object. It's much easier than typing the code from scratch.
4) as Erich pointed out above, wrap the "cutter" volume GDL code with GLOB_CONTEXT conditional statement (see Erich's post). It won't show up in 3D but will join the volumes calculated in SEO.
5) because you want to keep it parametric, the same size variables you use to resize your light fixture will also apply to the "cutter" volume. I'm lazy in this case -- if the volumes are more complicated, I just bulk save all manufacturer's sizes into the same library part and use some functions to display only the size I need. This is faster than scripting everything.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2010-08-09 08:03 PM
Now the next question, is there a way to make it cut the whole automatically, like doors do in a wall, without having to do SEO?
massachusetts, usa
AC25 (1413), since AC6
Windows 10
Intel Core i7 -8700 @ 3.2 GHz~ 16 GB ram
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2010-08-09 08:16 PM
I'd like to know by myself.