Home › Forums › Problems and solutions in GDL › Informations from the environment › Railing Panel info
Tagged: RAILINGPANEL, panel
- This topic has 7 replies, 2 voices, and was last updated 5 years, 10 months ago by
Péter Baksa.
-
AuthorPosts
-
-
May 7, 2019 at 19:32 #4730
James Murray
ParticipantI’m trying to make a railing panel consisting of horizontal wires. All I need is the height of the railing, the length of the segment, and the slope if the railing is not level. It looks like the length and delta Z info should be in RAIL_POLYLINE_GEOMETRY, but that array contains nothing but ten zeroes (when inspected via PRINT). Or am I looking in the right place? Any help appreciated.
James M
-
May 8, 2019 at 08:03 #4731
Péter Baksa
KeymasterHi, the stair and railing globals don’t contain useful data in the libpart editor, you have to place the element.
Péter Baksa
Library Platform, Software Engineer
GRAPHISOFT SE -
May 8, 2019 at 13:21 #4732
James Murray
ParticipantI’m getting an array of all zeroes in the report via PRINT for a placed railing.
Can you tell me if RAIL_POLYLINE_GEOMETRY is the correct way to go?
James M
-
May 8, 2019 at 13:40 #4733
James Murray
ParticipantThis:
railNodeQ = VARDIM1 (RAIL_POLYLINE_GEOMETRY) PRINT 'railNodeQ=', railNodeQ panelLen = RAIL_POLYLINE_GEOMETRY[2][1] - RAIL_POLYLINE_GEOMETRY[1][1] PRINT 'panelLen=', panelLen
…gives this report for a placed railing with a zig zag geometry, where I count 5 nodes in the polyline:
railNodeQ= 2 () panelLen= 0 () railNodeQ= 2 () panelLen= 0 ()
Attachments:
James M
-
May 8, 2019 at 15:59 #4735
Péter Baksa
KeymasterSorry, I didn’t notice the name of the global. It’s the set of global variables starting with RAILINGPANEL_ that you need.
With somewhat custom settings, it is possible that a panel has more than four sides (panels connecting with different heights at a landing, or columns offset from the end of the landing: the corners might be cut off with horizontal planes). To handle these cases too, there is RAILINGPANEL_GEOMETRY that is the contour polygon, and RAILINGPANEL_UNCUT_GEOMETRY that is a four-sided polygon before the cuts.
RAILINGPANEL_FLAGS[i][2] tells which side of the panel is the i-th edge (1 – bottom, 2 – end, 3 – top, 4 – start) You can derive the height from RAILINGPANEL_UNCUT_GEOMETRY start/end edge.
The slope can vary on a winding stair. RAILINGPANEL_GEOMETRY can have multiple segments on the top/bottom sides. For wires, the average slope can be computed from the first point of the bottom side and the first point of the end side of RAILINGPANEL_UNCUT_GEOMETRY.
Slanted/skewed railings (RAILINGPANEL_SLANT_ANGLE, RAILINGPANEL_SKEW_ANGLE) need to be handled carefully.
Curved panels are also special: RAILINGPANEL_TYPE tells the overall shape of the railing. You might not want to handle curved panels at all.
Curves are given in a format similar to PolyOperations: start x, y, central angle.Péter Baksa
Library Platform, Software Engineer
GRAPHISOFT SE -
May 8, 2019 at 19:24 #4736
James Murray
ParticipantThanks Peter, with the right globals it wasn’t too hard. Since wires don’t curve I thankfully can stay out of that area for now.
James M
-
May 9, 2019 at 16:28 #4737
James Murray
ParticipantIt seems that the RAILINGPANEL_GEOMETRY polygon goes to the top of the segment (assuming the offset is zero). This makes the panel coincide with the top of the top rail. Is there a global or parameter that represents the top rail thickness, so I can lower the panel top automatically?
James M
-
May 9, 2019 at 16:51 #4738
Péter Baksa
KeymasterNo, there isn’t. Use the offset settings of the panel, and it will be automatically smaller.
Péter Baksa
Library Platform, Software Engineer
GRAPHISOFT SE
-
-
AuthorPosts
- The forum ‘Informations from the environment’ is closed to new topics and replies.