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
I Think I didn't provoked the excitement I expected. heheheh

Nevertheless, I believe it is very helpful if you want to keep the polygon account low in 3D windows while getting fine detailed Drawings.

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
Anonymous
Not applicable
I've used the GLOB_CONTEXT to set the detail level in sections (I started when it first came out in v6 and sadly didn't work well enough - that has since changed of course).

I hadn't thought to use GLOB_SCALE in 3D since I never though of it having a scale. I assume it shares the current scale of the plan view.

This is a good tip. I'm sure I'll put it to use once I get the chance. Thanks.

I understand your excitement. I know what it feels like to sort out a global solution that can save time and improve results. I'm sure I'll be excited too once I get the chance to use this trick.
Anonymous
Not applicable
Useful tricks Nando, thanks for posting!

Of course it would be even more powerful if an object could detect from which direction it was being viewed and whether it was being cut by the section/elevation. I don't believe GLOB_CONTEXT can give you his info yet.
P.S. It would be really Great If Graphisoft includes those options for Complex Profiles


Great idea!! I'd vote for it!
Frank Beister
Moderator
Helllo Nando.

As far as I have determined there is no helpful usage ofg GLOB_SCALE in 3D window, because it returns always the scale of the curerently visible floor plan window.

Can you post the script, which helped you in reducing poly number in 3d model?

I made the following test object.
BODY -1

MODEL WIRE
BLOCK a,b,zzyzx/2

BODY -1

IF GLOB_CONTEXT>2 THEN

	addz zzyzx/2

	MODEL SOLID
	BLOCK MAX(0.0001,A*100/GLOB_SCALE),b,zzyzx/2

	ENDIF

BODY -1
Placed 15 instances in 50m distance in between didn't show any changes in the scale dependent length of the upper block of the object.

For me a proof, that GLOB_SCALE keeps constantly.

I brought the wish for position analysis in 3D and s/e to GS a long time ago. But no remarkable evolution in GDL since so many versions.
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
David Maudlin
Rockstar
F. wrote:
As far as I have determined there is no helpful usage ofg GLOB_SCALE in 3D window, because it returns always the scale of the curerently visible floor plan window.
Frank:

This seems odd, as the View Settings for the 3D Window has a Scale setting. Did you try this with different Views with different scale settings?

David
View-Settings-3D.gif
David Maudlin / Architect
www.davidmaudlin.com
Digital Architecture
AC27 USA • iMac 27" 4.0GHz Quad-core i7 OSX11 | 24 gb ram • MacBook Pro M3 Pro | 36 gb ram OSX14
Frank Beister
Moderator
Hello David,

The section- and the elevation-windows have own scale settings as the floor plan window, but not the 3D window. It has not an own scale-value, but the GLOB_SCALE gets the value of the current 2D window.

S/E is another thing, but the scale isn't there distance sensitive either.

Of course, you can program objects scale sensitive, but this does not work for 3D windows or long distance objects in s/e windows.

My level of enlightning. 😉

But maybe I have misunderstood the trick.
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
Hi Frank,

The 3D window does have it's own scale, It was introduced in AC12 with 3D documents. (see image)

I also have uploaded a simple Sphere that will react to the Context and Scale:
-Very round when in 3D window if the scale is smaller or equal to 1:50 and rough when in scales larger than that (ie 1:100)
-Very round and nice for Sections/Elevations if the scale is smaller or equal to 1:25 and rough when in larger scales.

If this principle works, Then you can control not only the RESOL of an object, but can add additional shapes or even have a different model.
We could use the Scale as a driver of the LOD [Level Of Detail] of the model.

Please let me know if yo have any trouble with the object.
3d scale.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
NandoMogollon
Expert
The Object...
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
David Maudlin
Rockstar
Hello Frank:

Try these scripts:
! 3D Scale  :  2D Script
Text2 0, 0, Glob_Scale
! 3D Scale  :  3D Script
Text 1", 0, Glob_Scale
Then create two Views for the 3D Window, each with a different scale as shown in my earlier image. When changing views, the text will change to reflect the scale.

Or have I misunderstood the issue?

David
3D-Scale.gif
David Maudlin / Architect
www.davidmaudlin.com
Digital Architecture
AC27 USA • iMac 27" 4.0GHz Quad-core i7 OSX11 | 24 gb ram • MacBook Pro M3 Pro | 36 gb ram OSX14