We value your input!
Please participate in Archicad 28 Home Screen and Tooltips/Quick Tutorials survey

Libraries & objects
About Archicad and BIMcloud libraries, their management and migration, objects and other library parts, etc.

3D scale and level of Detail, a Trick

NandoMogollon
Expert
Hi All

I fall in the same dilemma every time a building project reaches "maturity": You want to model stuff in deeper and deeper levels of complexity, but you avoid "over-modeling" because it will be painful to navigate in 3D window.

The approach to this problem in Floor-plan Viewpoints is to manipulate the complexity of the elements in 2D; object's representation can be determined by the Scale in which the element is shown.(GLOB_SCALE)

The approach to this problem in 3D window is typically to modify manually the Level of detail or resolution of the object, one by one... making you losing time making the change and giving you a lot of (sometimes) unnecessary detail in 3D window.

The Trick:

The 3D window have a Scale too, if you script an object to make its RESOL level dependant of the GLOB_SCALE (3D Script), the object will change appearance in different scales in the 3D window... just like in Floor Plan.

Wait, What about Sections and Elevations?

I used this method for a while and it worked well. But a couple of times I wanted to have a deeper/different Level Of Detail shown specifically in Section/Elevations regardless of it's behaviour in the 3D window.
The trick here is to use GLOB_CONTEXT. This global variable will detect in which type of viewpoint the object is shown, and make the object sensitive not only to the scale but to the type of viewpoint as well.

Example:

The Aluminum Mullion/Transom Profile:
I use some typical aluminum profiles for my Curtain Walls, and I want them to be shown as blocks for scales above 1:100 in floor plan and sections, as hollow sections when in 1:50 and with all the bolts and details when below 1:20. And keep the 3D representation always as Blocks.
By using a combination of GLOB_SCALE and GLOB_CONTEXT it was easy and I was able to keep the Polygon count reasonably low in the 3D window.

P.S. It would be really Great If Graphisoft includes those options for Complex Profiles

Hope it helps

Regards
Nando Mogollon
Director @ BuilDigital
nando@buildigital.com.au
Using, Archicad Latest AU and INT. Revit Latest (have to keep comparing notes)
More and more... IFC.js, IFCOpenShell
All things Solibri and BIMCollab
17 REPLIES 17
NandoMogollon
Expert
Just for the fun...

Try this 3D script, or the object uploaded
IF GLOB_CONTEXT = 3 THEN
	palabra= "I'm in 3D"
ENDIF
IF GLOB_CONTEXT = 4 THEN
palabra= "I'm in Section"
	
ENDIF

ROTX 90	

text 1/100, 0, palabra
Try the object attached,
Look at it in Floor plan....
Section / Elevation
3D window.

It will tell which viewpoint are you using.

Enjoy!
Nando Mogollon
Director @ BuilDigital
nando@buildigital.com.au
Using, Archicad Latest AU and INT. Revit Latest (have to keep comparing notes)
More and more... IFC.js, IFCOpenShell
All things Solibri and BIMCollab
NandoMogollon
Expert
... and the result...
Screen shot 2011-03-23 at 5.21.31 PM.png
Nando Mogollon
Director @ BuilDigital
nando@buildigital.com.au
Using, Archicad Latest AU and INT. Revit Latest (have to keep comparing notes)
More and more... IFC.js, IFCOpenShell
All things Solibri and BIMCollab
Frank Beister
Moderator
Hello Nando,

the usage and tricks about GLOB_CONTEXT and GLOB_SCALE are well known for me. 😉 But that there is an explicit 3D scale setting is new for me. (Maybe I have only forgotten it.)

But the scale IS static. As I understood your first mail, one could use GLOB_SCALE to change LOD depending on distance to the viewpoint. And THIS would help very much in reducing model size. But can only decide between Detailed and raw, not between detailed foreground and raw background.

Thanks. I will add the point to selfGDL.
bim author since 1994 | bim manager since 2018 | author of selfGDL.de | openGDL | skewed archicad user hall of fame | author of bim-all-doors.gsm
Frank Beister
Moderator
I just read the 3D scale hint on selfGDL. So I had forgotten it. Oh boy to much work.
bim author since 1994 | bim manager since 2018 | author of selfGDL.de | openGDL | skewed archicad user hall of fame | author of bim-all-doors.gsm
NandoMogollon
Expert
Well, summarizing the Trick:

With a combination of GLOB_SCALE and GLOB_CONTEXT, there is a potential to:

1-control the level of detail in your drawings without drafting or placing additional objects. Detail will appear as the scale goes down.

2-Improve the 3D window navigation speed (poy-count) without compromising the Drawing's quality. This is particularly useful in today's increasingly complex the models.


The idea of a Distance-Sensitive script is very interesting, it is fair to clarify that I did'n mention it.
The only way I see that script possible would be by using a combination of GLOB_EYEPOS, GLOB_TARGPOS and SYMB_POS. It would only work for Perspectives and not in section/elevation.
Would that be possible?... I will live it to you, you are the GDL magicians.

P.S. The reason I called this post a Trick is because I haven't seen it implemented in any object I'm aware of.
Nando Mogollon
Director @ BuilDigital
nando@buildigital.com.au
Using, Archicad Latest AU and INT. Revit Latest (have to keep comparing notes)
More and more... IFC.js, IFCOpenShell
All things Solibri and BIMCollab
Anonymous
Not applicable
I understood this trick to be a clever way to have a global switch for 3D complexity that would get around having to reset the parts themselves. It does seem like it could be quite handy, but it is definitely a trick rather than a feature since it requires coding the parts accordingly and will not be obvious to anyone without special instruction.

Thanks again for the idea. I may even have a use for it soon.
owen
Newcomer
We use this LOD trick in most of our custom scripted objects now - both using the view scale to determine the object LOD to show, and also via a custom MVO setting for LOD which can be saved with different drawing types. Its actually a really powerful tool if the objects take advantage of it

Some examples of this applied to a couple of facade objects - 1:500, 1:100 and 1:20

Really helps regen times on a big project ... its actually not possible to generate an overall elevation of our 45 story tower at 1:100 or less - 'Out of Memory' error and crash : ( ... < Which is BTW why 64bit Mac is so important for all those wondering why some people think this is such a big deal
Facade LOD Tests.jpg
cheers,

Owen Sharp

Design Technology Manager
fjmt | francis-jones morehen thorp

iMac 27" i7 2.93Ghz | 32GB RAM | OS 10.10 | Since AC5
Anonymous
Not applicable
owen wrote:
We use this LOD trick in most of our custom scripted objects now...
Nice work. Definitely useful. Essential in your case it seems.