GDL
About building parametric objects with GDL.
SOLVED!

Railing - Diagonal Rails

Lingwisyer
Guru
Hi all,

How would you go about creating diagonal rails within your handrail? I am wanting to create some cross braces and thought I could use a custom panel, but it doesn't stretch to fit...
The distance between posts varies at different points around the building, so is there a way to make them stretch to fit?


Ling.

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
21 REPLIES 21
Lingwisyer
Guru
Yeah... the code BB seems to be removing the page returns... Reasonably easy to spot where it breaks using Sublime.

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
kajnorberg
Booster
Hi!

After struggling with the custom panel and failing, I checked the forum and found this, which is exactly what I need! However, the coding of the built-in panel seems to have changed from the time this was made until now. I tried to edit it myself, but I just don't have the knowledge to do that. Does anyone know how to update the code so it works for Archicad 23?

Thank you!
Archicad 24-26 SWE
Dell Precision 5560
Windows 11 Pro
Barry Kelly
Moderator
kajnorberg wrote:
Does anyone know how to update the code so it works for Archicad 23?

Please don't wait for me on this one.
I would love to help but I just don't have the time at the moment to go back through it all again and see what is different in 23.
The bits I wrote before are still working in 23 for me and I don't remember changing anything.

If I can look at it next week maybe I will try, but as i say, what ever i did before is still working for me now in 23.


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
kajnorberg
Booster
Hi Barry!

Thanks for your fast reply! I'll try to tinker with it myself, do you remember which version of Archicad you created the object in? Maybe I can open up an old version and make the changes there.

/Kaj
Archicad 24-26 SWE
Dell Precision 5560
Windows 11 Pro
Lingwisyer
Guru
kajnorberg wrote:
Hi Barry!

Thanks for your fast reply! I'll try to tinker with it myself, do you remember which version of Archicad you created the object in? Maybe I can open up an old version and make the changes there.

/Kaj

I believe it was in AC22 as we were figuring out what other things you could do with railings at the same time.



Ling.

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
kajnorberg
Booster
Great, thanks!

/Kaj
Archicad 24-26 SWE
Dell Precision 5560
Windows 11 Pro
Peter Baksa
Graphisoft
Graphisoft
Hi all,

Without trying to give a legal advice, the licensing of Graphisoft's library parts has changed to https://creativecommons.org/licenses/by/4.0/ from Archicad 23. I think that allows uploading modifications to this forum.
Péter Baksa
Software Engineer, Library as a Platform
Graphisoft SE, Budapest
Peter Baksa
Graphisoft
Graphisoft
I can share an excerpt from a documentation in progress, hope this helps:

A panel is meant to be an object bounded by neighboring axial objects, described by a 3D polygon. Some care needs to be taken to connect nicely to neighboring panels when the pattern is cut by a post. Information is given about offsets to neighbors to allow modeling fixings.

Fix-named parameters
Read by ArchiCAD for listing and MVO – simplified display.
  • ac_panelThickness
    The thickness of the panel section, assumed to be symmetrical to the surface defined by the 3D polygon.
    This parameter should be kept conclusive with the model size.
Global variables
  • RAILING_REFLINE_DISTANCE[2]
    [1] Horizontal offset of the Segment reference line from the Railing reference line.
    [2] Horizontal offset of the Panel from the Segment reference line.
    Distances are perpendicular to the reference line, + to the right side looking in the direction of the reference line, and without the effects of slanting.
  • RAILINGPANEL_TYPE
    The overall geometry of the panel surface. Depends on segment rise, skew and slant settings. This data could be mined from RAILINGPANEL_GEOMETRY, this offers an easier way to decide whether you want to model these cases.
    1: Plane
    2: Cylindrical (vertical axis)
    3: Conical (vertical axis)
    4: Screw surface (not foldable to plane)
  • RAILINGPANEL_SKEW_ANGLE
    The skew angle. For curved segments measured on the start tangential plane of the segment (before slanting). Range -90° + 90° exclusive, 0° is vertical.
  • RAILINGPANEL_SLANT_ANGLE
    The slant angle. For curved segments measured on plane perpendicular to the start tangential plane of the segment (before skewing). Range -90° + 90° exclusive, 0° is vertical.
  • RAILINGPANEL_UNCUT_GEOMETRY[4] n >= 4
    The 3D polygon of the boundary of the whole panel. Given as if the panel would end normally at a full pattern length, and not cut by posts and connections to other segments. This might be important for the layout of fixings, and the continuation of the panel’s inner pattern when the Continue Pattern option is set at a Node. The last point of the boundary is the same as the first, it is a closed polygon.
    [][1] Coordinate X
    [][2] Coordinate Y
    [][3] Coordinate Z
    [][4] For curved segments the polar coordinate rotation difference of the horizontal projection of the edge starting from this vertex. Degrees, + direction counterclockwise. 0 for straight segments.
    The origin and orientation of the coordinate system doesn’t have any meaning other than Z is always vertical. The order of the points in the polygon is the same as in RAILINGPANEL_SIDE_OFFSETS: bottom, end, top, start sides.
    It can have more than 4 corners when placed on a winding stair. In such cases the lower boundary’s horizontal projection is always a straight line or a continuous arc. The edges belonging to the lower boundary define sub-segments of the panel. Different sub-segments can have diferent rise angle.
  • RAILINGPANEL_GEOMETRY[5] n >= 4
    The 3D polygon of the boundary of the cut panel. Cuts can happen at railing segment boundaries (posts) and at connections to other segments that have different height or rise.
    [][1] Coordinate X
    [][2] Coordinate Y
    [][3] Coordinate Z
    [][4] For curved segments the polar coordinate rotation difference of the horizontal projection of the edge starting from this vertex. Degrees, + direction counterclockwise. 0 for straight segments.
    [][5] For cut edges the angle between the cutting plane and the plane perpendicular to the panel (for curved panels perpendicular to the tangential plane of the panel) at the edge. 0° means a perpendicular cut, + values tilt towards the inside of the panel (side at which a Right Side handrail is placed).
    When there are no cuts, the data is the same as in RAILINGPANEL_UNCUT_GEOMETRY.
  • RAILINGPANEL_FLAGS[3] n >= 4
    Information about the edges of the cut boundary. Indexed the same way as RAILINGPANEL_GEOMETRY.
    [][1] The sub-segment index of the edge starting from this point. Uncut panel sub-segment indexes start from 1, it is possible that one or more sub-segments are cut off.
    [][2] Which side of the panel is the edge starting from this point?
    1: bottom
    2: end
    3: top
    4: start
    [][3] Edge status bitfield: j1 + 2 * j2
    j1: Does the edge starting from this point connect to another panel? Edges having this flag should be modeled as if the panel continued through them.
    j2: Is the edge starting from this point a cut edge? Cut edges should use RAILINGPANEL_GEOMETRY[][5] to connect to other panels without overlap at corners.
  • RAILINGPANEL_SIDE_OFFSETS[4]
    The side offsets of the panel, distance to the neighboring sub-element’s axis.
    [1] bottom
    [2] end
    [3] top
    [4] start
    The distances are as set in the settings dialog for a vertical panel, without the effect of slanting and skewing.
Péter Baksa
Software Engineer, Library as a Platform
Graphisoft SE, Budapest
kajnorberg
Booster
Barry wrote:

Please don't wait for me on this one.
I would love to help but I just don't have the time at the moment to go back through it all again and see what is different in 23.
The bits I wrote before are still working in 23 for me and I don't remember changing anything.

If I can look at it next week maybe I will try, but as i say, what ever i did before is still working for me now in 23.


Barry.

Hey, since Péter mentioned it's now okay to upload modifications to the forum, can I ask you to upload your railing panel? I've been trying to fix it myself, but have yet to succeed. Thank you!

/Kaj
Archicad 24-26 SWE
Dell Precision 5560
Windows 11 Pro
Lingwisyer
Guru
Is the licencing change retroactive?

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