Medeek Stair Plugin

Started by Medeek Engineering, May 03, 2026, 10:14:07 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Medeek Engineering

After some more updating of the new railing tool code and some additional logic, here is an OTP rail with various fittings and various corner conditions:



Nathaniel P. Wilkerson

Medeek Engineering

I think I have the post algorithm mostly worked out now.  The PTP posts use boolean subtraction against the hand rail since we can't be certain of their contact angle or if they are square, round or some other non-standard geometry (custom components). 

The problem with boolean subtraction is that if you are a dealing with a lot of rail segments and posts it can slow things up a bit.  I may have to rethink this or have a way to disable the boolean subtraction for those who prefer performance over cosmetics.





Nathaniel P. Wilkerson


Medeek Engineering

I've added in an an auto-clearance calculation for the balusters that are adjacent to posts so I think I have that mostly under control now but some additional logic may need to be added depending on feedback from everyone.

Here is a first look at these various railings with shoerail added.








The offset option for each post position allows one to have the shoerail cut by the posts or rest underneath the posts.  I'm trying to make this as flexible as possible.  Also I created the four standard LJ Smith profiles beyond the very basic rectangular profile.

Due to the fact that there is quite a bit of boolean subtraction that can happen with the interaction between the posts and the handrail/shoerail combo, regenerating a railing can take a while, especially if it is much more than about five or six segments.  I guess its a tradeoff between simplicity and ornate details.

The only way to squeeze more performance out of the boolean subtraction is to convert it to a more low level C++ routine, I may consider that.
Nathaniel P. Wilkerson

Medeek Engineering

I spent the better part of today trying to figure out ways to make the boolean subtraction more efficient.  In the end my best solution was to create a square "cutter" in place of the actual (ornate) post which does significantly help.

However if the face count of the "cutting" post is under 100 then I just use the original post geometry.  I've noticed that some of these ornate posts can have over 400 faces or polycounts.

Now I just need to do a few more checks and throw the kitchen sink at this thing:

Nathaniel P. Wilkerson

Medeek Engineering

Tutorial 86: Stair Railing

Nathaniel P. Wilkerson


Medeek Engineering

Version 4.5.2b - 05.09.2026

- Added the following (L.J. Smith) rosettes: LJ7037, LJ7027, LJ7026, LJ7033.
- Fixed a floating point rounding error in the "Move Segment" tool.
- Enabled handrailing fittings (ie. rosettes) for the start and end of a handrail when no post at these locations is selected.
- Added a left and right half-post component into the newel post library.







I tested out a half post because I've seen stair railings that terminate like the image below:

Nathaniel P. Wilkerson