The Global Archicad Community

Stay informed. Get help. Share your knowledge.

Topics specific to the scripting and development of Library Parts and Libraries using Param-O or the Geometric Description Language – GDL. (Example: How do you use “REQUEST” GDL commands?)

Moderators: ejrolon, Barry Kelly, Karl Ottenstein, LaszloNagy, Gordana Radonic, nbalogh, gkmethy, mnguyen, rmasaki, Akos Somorjai, Peter Baksa, Csilla Mai

User avatar
By LaszloNagy
#319065
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?
User avatar
By Peter Baksa
#319116
LaszloNagy wrote: Tue Nov 17, 2020 3:00 pm 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.
User avatar
By Moonlight
#319148
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
User avatar
By LaszloNagy
#319246
Peter Baksa wrote: Wed Nov 18, 2020 8:52 pm
LaszloNagy wrote: Tue Nov 17, 2020 3:00 pm 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.
User avatar
By Moonlight
#319275
LaszloNagy wrote:
Peter Baksa wrote: Wed Nov 18, 2020 8:52 pm
LaszloNagy wrote: Tue Nov 17, 2020 3:00 pm 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.
User avatar
By Peter Baksa
#319601
LaszloNagy wrote: Sun Nov 22, 2020 2:18 pm 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.
User avatar
By LaszloNagy
#319657
Thanks, Péter,

I think one or more illustrations in the GDL Reference Guide showing all these intricacies would be very helpful.
User avatar
By Moonlight
#319672
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
User avatar
By Moonlight
#325514
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
  • 1
  • 4
  • 5
  • 6
  • 7
  • 8