3D scale and level of Detail, a Trick

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2011-03-16
05:13 PM
- last edited on
2023-05-24
11:51 AM
by
Rubia Torres
I fall in the same dilemma every time a building project reaches "maturity":
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 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.
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.
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
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

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2011-03-22 11:37 PM
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
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2011-03-23 01:12 AM
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2011-03-23 02:37 AM
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!

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2011-03-23 08:55 AM
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 -1Placed 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.


- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2011-03-23 12:49 PM
F. wrote:Frank:
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.
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
www.davidmaudlin.com
Digital Architecture
AC28 USA • Mac mini M4 Pro OSX15 | 64 gb ram • MacBook Pro M3 Pro | 36 gb ram OSX14
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2011-03-23 04:55 PM
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.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2011-03-23 10:03 PM
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.
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

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2011-03-23 10:04 PM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2011-03-23 10:26 PM
Try these scripts:
! 3D Scale : 2D Script Text2 0, 0, Glob_Scale
! 3D Scale : 3D Script Text 1", 0, Glob_ScaleThen 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
www.davidmaudlin.com
Digital Architecture
AC28 USA • Mac mini M4 Pro OSX15 | 64 gb ram • MacBook Pro M3 Pro | 36 gb ram OSX14