BIM Coordinator Program (INT) April 22, 2024
Find the next step in your career as a Graphisoft Certified BIM Coordinator!
GDL
About building parametric objects with GDL.
SOLVED!

Questioning about manuals ?

Nader Belal
Mentor
Where is the place that I can propose the editing for manuals ?

For instance, right now, when revising COOR, COOR{2}, COOR{3} GDL commands, there was no mentioning that the these take effect after defining a specific body.
A good friend of mine have once told me that I´m so brute that I´m capable of creating a GDL script capable of creating GDLs.
80 REPLIES 80
Laszlo Nagy
Community Admin
Community Admin
Peter,

So if I understand correctly, we take the plane to which the V axis is the normal vector and which goes through the origin point of the V axis (any line in that plane is perpendicular to V). Then we take the vertical plane that goes through the V axis, and the W axis will lie in the intersection line of these two planes, and the W axis always points upwards. Is that correct?
Loving Archicad since 1995 - Find Archicad Tips at x.com/laszlonagy
AMD Ryzen9 5900X CPU, 64 GB RAM 3600 MHz, Nvidia GTX 1060 6GB, 500 GB NVMe SSD
2x28" (2560x1440), Windows 10 PRO ENG, Ac20-Ac27
Peter Baksa
Graphisoft
Graphisoft
LaszloNagy wrote:
Peter,

So if I understand correctly, we take the plane to which the V axis is the normal vector and which goes through the origin point of the V axis (any line in that plane is perpendicular to V). Then we take the vertical plane that goes through the V axis, and the W axis will lie in the intersection line of these two planes, and the W axis always points upwards. Is that correct?
Yes it is. But now reading your description again I realize it's more complicated.
V is the normal of the bisector plane, not the vector from the previous point. Let's call that vector T.
The bisector plane is important, rotation is defined using the UVW system.
The profile size and shape is only correct at the midpoint if there is no twist along T (W's are parallel at both ends). Otherwise it's just an approximation of that, as we don't have points in the middle.

I realize the most misleading thing in the documentation is using u, w for the profile coordinates, they are not along the UW axes. uw (perpendicular to T) is being projected to UW, using an orientation so that u' matches U. As a result of projecting a plane to a non-parallel plane, w' might not be parallel with W, the angle between u'w' might be non-perpendicular.
Péter Baksa
Software Engineer, Library as a Platform
Graphisoft SE, Budapest
Nader Belal
Mentor
Hi Graphisoft,

This comment is related to ArchiCAD Graphical Hotspot for rotational angle,

1. I believe that in the past there was a 3D diagram that explianed the positions of Flag Types 4, 5, 6 & 7 that was clearer than the one that is being used in the manual. Please bring it and put it.

2. There is a special case where rotation angle in the CCW rotation would not work, so I will explain it here.

The the flag type 7 may cause a problem for GDL scripters/programmers if not set correctly specially when you need it to rotate in the CCW motion, the reason for this is that flag 7 cartesian coordinate must be above of flag 6, so both would define the positive normal to rotation plane, giving that the GDL scripters/programmers will use the 512 attribute with flag type 6.

If the previous condition is not met, the hotsport will only rotate in CW
A good friend of mine have once told me that I´m so brute that I´m capable of creating a GDL script capable of creating GDLs.
Laszlo Nagy
Community Admin
Community Admin
Peter wrote:
LaszloNagy wrote:
Peter,

So if I understand correctly, we take the plane to which the V axis is the normal vector and which goes through the origin point of the V axis (any line in that plane is perpendicular to V). Then we take the vertical plane that goes through the V axis, and the W axis will lie in the intersection line of these two planes, and the W axis always points upwards. Is that correct?
Yes it is. But now reading your description again I realize it's more complicated.
V is the normal of the bisector plane, not the vector from the previous point. Let's call that vector T.
The bisector plane is important, rotation is defined using the UVW system.
The profile size and shape is only correct at the midpoint if there is no twist along T (W's are parallel at both ends). Otherwise it's just an approximation of that, as we don't have points in the middle.

I realize the most misleading thing in the documentation is using u, w for the profile coordinates, they are not along the UW axes. uw (perpendicular to T) is being projected to UW, using an orientation so that u' matches U. As a result of projecting a plane to a non-parallel plane, w' might not be parallel with W, the angle between u'w' might be non-perpendicular.

I have to be honest, I am now lost. You talk about UW, uw, u'w'. And you talk about uw being perpendicular to T, but in that case, shouldn't that axis be called t, not T? And where is the point in each segment where the section profile is the same size as the size of the profile defined in the script? Maybe an illustration would help, but now I don't think I fully understand how this works.
Loving Archicad since 1995 - Find Archicad Tips at x.com/laszlonagy
AMD Ryzen9 5900X CPU, 64 GB RAM 3600 MHz, Nvidia GTX 1060 6GB, 500 GB NVMe SSD
2x28" (2560x1440), Windows 10 PRO ENG, Ac20-Ac27
Nader Belal
Mentor
LaszloNagy wrote:
Peter wrote:
LaszloNagy wrote:
Peter,

So if I understand correctly, we take the plane to which the V axis is the normal vector and which goes through the origin point of the V axis (any line in that plane is perpendicular to V). Then we take the vertical plane that goes through the V axis, and the W axis will lie in the intersection line of these two planes, and the W axis always points upwards. Is that correct?
Yes it is. But now reading your description again I realize it's more complicated.
V is the normal of the bisector plane, not the vector from the previous point. Let's call that vector T.
The bisector plane is important, rotation is defined using the UVW system.
The profile size and shape is only correct at the midpoint if there is no twist along T (W's are parallel at both ends). Otherwise it's just an approximation of that, as we don't have points in the middle.

I realize the most misleading thing in the documentation is using u, w for the profile coordinates, they are not along the UW axes. uw (perpendicular to T) is being projected to UW, using an orientation so that u' matches U. As a result of projecting a plane to a non-parallel plane, w' might not be parallel with W, the angle between u'w' might be non-perpendicular.

I have to be honest, I am now lost. You talk about UW, uw, u'w'. And you talk about uw being perpendicular to T, but in that case, shouldn't that axis be called t, not T? And where is the point in each segment where the section profile is the same size as the size of the profile defined in the script? Maybe an illustration would help, but now I don't think I fully understand how this works.
@Lazlo
Be water my friend.
A good friend of mine have once told me that I´m so brute that I´m capable of creating a GDL script capable of creating GDLs.
Laszlo Nagy
Community Admin
Community Admin
I am now.
But I was not when I wrote that.
Loving Archicad since 1995 - Find Archicad Tips at x.com/laszlonagy
AMD Ryzen9 5900X CPU, 64 GB RAM 3600 MHz, Nvidia GTX 1060 6GB, 500 GB NVMe SSD
2x28" (2560x1440), Windows 10 PRO ENG, Ac20-Ac27
Peter Baksa
Graphisoft
Graphisoft
LaszloNagy wrote:
I have to be honest, I am now lost. You talk about UW, uw, u'w'. And you talk about uw being perpendicular to T, but in that case, shouldn't that axis be called t, not T? And where is the point in each segment where the section profile is the same size as the size of the profile defined in the script? Maybe an illustration would help, but now I don't think I fully understand how this works.
UW are axes defined by the path, T is the vector along the current path segment. Yes, it's better to call it small t or v, uwv is a cartesian coordinate system.
The coordinates given for the TUBE command as uw are projected to the UW plane as u'w'. The projection of u axis isn't perpendicular to the projection of w axis, this is a distortion of the profile. Moreover, the projection of u axis isn't the U axis, so the distorted u'w' is rotated around V.

This description was all about how the section at the bisector plane is shaped, as the vertices of the body are defined at the bisector plane. The whole calculation is done to approximate a body which has the original cross-section at the path segment midpoints, your description is correct about that. When the TUBE isn't used with dense path points (has sharp turns or sudden twists) this approximation isn't perfect. If we drew the profiles at the midpoints, it wouldn't match the generated body.
Péter Baksa
Software Engineer, Library as a Platform
Graphisoft SE, Budapest
Laszlo Nagy
Community Admin
Community Admin
Thanks, Péter,

I think one or more illustrations in the GDL Reference Guide showing all these intricacies would be very helpful.
Loving Archicad since 1995 - Find Archicad Tips at x.com/laszlonagy
AMD Ryzen9 5900X CPU, 64 GB RAM 3600 MHz, Nvidia GTX 1060 6GB, 500 GB NVMe SSD
2x28" (2560x1440), Windows 10 PRO ENG, Ac20-Ac27
Nader Belal
Mentor
LaszloNagy wrote:
Thanks, Péter,

I think one or more illustrations in the GDL Reference Guide showing all these intricacies would be very helpful.
I agree with @LaszloNagy
A good friend of mine have once told me that I´m so brute that I´m capable of creating a GDL script capable of creating GDLs.
Nader Belal
Mentor
Hello Graphisoft,

How're you ? Did you miss me, or did you miss my comments on your "GDL Reference Manual"

Well this time is about "ac_skylight_function" ....

I find it a little suprising (not that much really) that there was nothing written about that parameter in the "GDL Reference Manual" for versions 20, 21, 22, 23, 24 ...

But adding some info about it would be cool
A good friend of mine have once told me that I´m so brute that I´m capable of creating a GDL script capable of creating GDLs.
Learn and get certified!