License Delivery maintenance is expected to occur on Saturday, November 30, between 8 AM and 11 AM CET. This may cause a short 3-hours outage in which license-related tasks: license key upload, download, update, SSA validation, access to the license pool and Graphisoft ID authentication may not function properly. We apologize for any inconvenience.
GDL
About building parametric objects with GDL.

WALL_FLIPPED doesn't work in 3D

Bruce
Advisor
I'm experiencing an issue where the WALL_FLIPPED global parameter doesn't work in 3D (window sub type). It will work fine in 2D, and when I open the parameters dialog in 3D preview. But in the 3D window, or in a section view, it won't work.

This is a problem, as the order of the WALL_SKINS_PARAMS (which I get lining thickness from) is dependent on the wall direction.

I've had a look at the GS window, but can't figure out how they deal with this issue.

Is this a know bug? What's the workaround?
Bruce Walker
Barking Dog BIM YouTube
Mindmeister Mindmap
-- since v8.1 --
AC27 5060 INT Full | Windows 11 64 Pro | 12th Gen Intel i7-12700H 2.30 GHz | 64 Gb RAM | NVIDIA GeForce RTX 3060 32 Gb
6 REPLIES 6
Lingwisyer
Guru
You can use WIDO_REVEAL_SIDE to tell you which side you are on, then count from there.

Something along the lines of

IF WIDO_REVEAL_SIDE = 0 then
	ROTy 180
	MULx -1
endIF

...

IF WIDO_REVEAL_SIDE = 0 then
		...WALL_SKINS_PARAMS[WALL_SKINS_NUMBER][2]
	ELSE
		...WALL_SKINS_PARAMS[1][2]
endIF

For me, using the toggles mentioned in the GDL Reference Guide always resulted in my window sitting outside the wall in half of the cases... So I came up with the above which seems to work for me.



Ling.

Note: Just realised that in the pictured object, while the inside / outside is static, the left / right is following the opening direction which it should not be.

AC22-23 AUS 7000Help Those Help You - Add a Signature
Self-taught, bend it till it breaksCreating a Thread
Win11 | i9 10850K | 64GB | RX6600 Win10 | R5 2600 | 16GB | GTX1660
Barry Kelly
Moderator
I have never really looked at this until now.
I would consider it a bug - for 2 reasons.
Using WALL_SKINS_PARAMS [1] [1] which is the fill for the first skin.

One.
Walls drawn from right to left.
If a wall is drawn with ref line on the outside face and is not flipped, the first wall skin is actually the one furthest from the reference line - that doesn't make sense to me.

However if a wall is drawn with ref line on the outside face and is flipped, the first wall skin is the one on the reference line - that to me is correct.


Two.
Same as above but with the walls drawn from left to right.
If a wall is drawn with ref line on the outside face and is flipped so it looks the same as the one drawn right to left, the first wall skin is the one on the reference line - that to me is correct.

Drawn with ref line on the outside face and is not flipped so it looks like the right to left that is flipped, the first wall skin is the one furthest from the reference line - that to me is not correct.



To me the first skin is the one on the outside face - as nominated in the composite setting dialogue.
So regardless if the wall is drawn left to right or right to left, is flipped or not flipped - they should all be the same.



The GDL manual also says that the WALL_FLIPPED global should work in the 3D script.
If it doesn't, the trick (I think) would be to get the wall skin info from the master script and then use the results in the 3D script.
But you would have to allow for the flipped / not flipped situation - which I don't think you should have to.

I hope this image may help to illustrate the problem.

Barry.
One of the forum moderators.
Versions 6.5 to 27
i7-10700 @ 2.9Ghz, 32GB ram, GeForce RTX 2060 (6GB), Windows 10
Lenovo Thinkpad - i7-1270P 2.20 GHz, 32GB RAM, Nvidia T550, Windows 11
Peter Baksa
Graphisoft
Graphisoft
Barry wrote:
The GDL manual also says that ... global should work in the 3D script.
If it doesn't, the trick (I think) would be to get the wall skin info from the master script and then use the results in the 3D script.
That trick wouldn't work, a master script executed before xy script sees the same globals/requests/commands as xy script.
Péter Baksa
Software Engineer, Library as a Platform
Graphisoft SE, Budapest
Bruce
Advisor
An easy test is to enter the code:
print WALL_FLIPPED
into the Master Script of a dummy window / door object (make sure "Interrupt with error messages" is turned on in your Work Environment > Model Rebuild Options).

Place this dummy window into a wall, and test in:
Plan
3D
Section
Parameters Dialog Preview (Plan, and then 3D).

The results are correct in Plan & Parameters Dialog.
The results are incorrect in 3D & section (always 0)
Bruce Walker
Barking Dog BIM YouTube
Mindmeister Mindmap
-- since v8.1 --
AC27 5060 INT Full | Windows 11 64 Pro | 12th Gen Intel i7-12700H 2.30 GHz | 64 Gb RAM | NVIDIA GeForce RTX 3060 32 Gb
Peter Baksa
Graphisoft
Graphisoft
Regardless of WALL_FLIPPED, WALL_SKINS_PARAMS is ordered differently when the wall is flipped. The way to deal with it is to not care about it.

The orientation of windows can be confusing, three globals are affected, here is an explanation with drawings.
Péter Baksa
Software Engineer, Library as a Platform
Graphisoft SE, Budapest
Bruce
Advisor
Thanks Peter (and Lingwisyer) - I will use the SYMB_ROTANGLE and WIDO_REVEAL_SIDE to work out what I need. Regardless, the WALL_FLIPPED should still work in 3D. Can you please report as a bug (if indeed it is)? Ta.
Bruce Walker
Barking Dog BIM YouTube
Mindmeister Mindmap
-- since v8.1 --
AC27 5060 INT Full | Windows 11 64 Pro | 12th Gen Intel i7-12700H 2.30 GHz | 64 Gb RAM | NVIDIA GeForce RTX 3060 32 Gb