Medeek

Members
  • Posts

    125
  • Joined

  • Last visited

Everything posted by Medeek

  1. Here is a simple schematic of a slightly more convoluted roof to try and understand the methodology a bit better: The two girders in the center of the structure could probably be combined into one larger girder, but maybe it is better to distribute the loads across to trusses instead of one. The shaded areas are the valley sets or overframing required to fill in the voids. This design requires 10 main girders and 5 cross girders. Notice how there is a hip truss at each outside corner and a half valley set at each inside corner. When to inside corners are symmetric we end up with a full valley set. Based on these patterns that are emerging I might be able to auto place the girders or at least provide an initial placement which then can be further refined by the user.
  2. I’ve been pondering how to control the truss layout of these complex roofs and after much thought and sleeping on the problem for a night I’ve come to the conclusion that for all but the simplest roof types (gable or half hip both ends on a rectangular footprint) there needs to be user specified girder trusses. Even the simplest hip roof (rectangular, hip both ends) needs two girder trusses. The algorithm should be smart enough to detect the layout in such a simple case but even so the setback of those girder trusses will have to be user controlled. With my existing hip set tools this is provided as a simple numeric value since the location and orientation of the hip girders is already determined. When you move to complex roofs the location of the girders becomes completely open ended. In other words we have too many degrees of freedom to confidently compute the solution. You can’t solve a multi-variable math problem if you have more variables than you have constraints or equations. That is the nature of this beast. My thinking is this: 1.) The user creates the perimeter or outline of the complex truss roof just as one currently does with the complex rafter module. The general roof shape and secondary features are generated (ie. sub-fascia, sheathing, cladding, gutter, soffit and fascia etc…), however the actual truss framing is not generated with this initial creation step. 2.) Next, the user clicks the girder truss creation tool which allows one to add in specific girder trusses between any two points within the roof outline (layer). The algorithm will require that the two endpoints of the new girder either terminate on the perimeter or along the length of an existing girder. Obviously the new girder cannot have both of its points on a perimeter edge or another girder, so that check will be built in. An HTML dialog box will allow the user to set a number of properties of the girder (ie. 2-ply, top chord depth, bottom chord depth, truss configuration, panel number for hip girders etc…) 3.) Once the girders are set then a context menu option will allow the user to attempt to generate the actual truss framing. If the girder layout is inconsistent, or illogical it will fail and display the applicable warning to the user. I’m still feeling this one out a bit so there may be an additional step where the user determines the rotation of the trusses in each zone created by the girder trusses. I think I can make this work but only time and some extensively testing will tell. I think the concept is fundamentally sound but as I’ve learned in the past with other programming problems, the devil is in the details
  3. **Tutorial 86**: Stair Railing https://youtu.be/TqZTTJ2kkYE
  4. 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. Now I just need to do a few more checks and throw the kitchen sink at this thing:
  5. 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.
  6. 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.
  7. I will also be including a new series of hand rail fittings that is compatible with the LJ6000 handrail profile within the new railing tool.
  8. After some more fiddling with the code and some additional logic, here is an OTP rail with various fittings and various corner conditions:
  9. Version 4.5.1 - 04.22.2026 - Enabled custom components as baluster shoes for vertical and OTP handrails. - Added the following (L.J. Smith) baluster shoes into the baluster shoe component library: LI_ALFSH01, LI_ALR010, LI_ALRD201, LI_ALSQ301, LI_ALSQPL1, LI_PROCOL. I took the time today to carefully model a few of these baluster shoes since they are fairly simple geometry and it is always fun to get my hands dirty with some actual modeling and take a small break from the code.
  10. Version 4.5.0 - 04.20.2026 - Enabled custom components as posts for OTP handrails. - Enabled "profile cutting" of posts for OTP handrails. - Modified the bottom trimming algorithm for balusters to better accommodate complex baluster components. - Added one additional ornamental iron baluster into the baluster component library. - Added one OTP newel post into the newel post component library: LJ4270_43 I will readily admit configuring OTP handrails with their associated posts and fittings is a bit tricky, adjusting the various offsets takes a few iterations to really hone things in.
  11. Version 4.4.9 - 04.19.2026 - Enabled a secondary custom profile/component parameter for balusters. - Added additional ornamental iron balusters into the baluster component library. I think I've beat this horse to death. Hopefully with this added option we can configure most of the common baluster layouts, however there will always be a few that will be beyond the scope of the plugin (ie. three or more baluster types in various repeating patterns).
  12. Version 4.4.8c - 04.19.2026 - Fixed a minor typo in the stair module. - Added a ornamental iron baluster into the baluster component library. The limitations of profile cutting balusters can be overcome by using a predefined component instead, which allows for much more intricate baluster geometries. However as I have been researching various baluster layouts I've noticed that with iron balusters usually more than one baluster style is utilized. The typical scenario is two or three different baluster geometries are alternated along the run of stairs. I will need to give this some more thought. Stairs can be a "rabbit hole".
  13. Version 4.4.8 - 04.18.2026 - Enabled custom components as posts for vertical handrails
  14. I’m not sure if I want a basement or a second story but this is already bigger than I initially wanted. The water heater (and possibly furnace) will have to live in the basement or second floor (attic). The cut out for the stairs isn’t final yet since I don’t know what the basement depth might be. The rectangular outside dimensions is 28’x40’, which already puts me at 1,120 sqft for the main level. The bedrooms are quite large, but I prefer larger bedrooms than smaller ones. Its good for me to use my own plugins once in a while, it helps me find the weak spots or should I say the annoying things about it. One of those things is the placement of doors along a wall when there are other walls that tee into the wall you are trying to place the door into. I need to have some mechanism for snapping or measuring from these other walls. Once can always go back in and adjust or move the doors to fine tune the placement (which is what I had to do) but it does burn too much time. I guess I learn something new everyday. Most of my time was actually spent trying to space plan and figure out what made sense, its kind of like playing Tetris. For this sort of thing a rough layout tool might be useful, but just the native tools at this stage is adequate for most of it. The biggest aid was using the grid to help me find my way. Once my initial layout was more or less final, I popped in the walls in less than two minutes. Fussing over the windows and doors probably took another hour, and then another hour grabbing fixtures from another model and placing them and then mocking up the kitchen cabinet layout (counters, sink, range, dishwasher and fridge). At this stage I’m not too worried about rendering or making my fixtures all that amazing, so mostly they were added just to make sure my space planning was still logical. I don’t design houses professionally (I’ve only ever really designed three actual residences and a few detached garages) so if this design is a bit of a cludge please forgive my lack of experience and designer feng shui. Most of my professional work was as an engineer and to be honest that type of work is less about creativity and more about the numbers. I find this type of work far more challenging and invigorating.
  15. I find this fascinating, that he is able to connect Claude to SketchUp. This AI thing is moving fast.
  16. I think with all the rapid developments in AI there will begin to be an increase in AI assisted workflows. We are only seeing the beginning of this. Tutorial 82 - Medeek Wall API (18:43 min.)
  17. Version 0.8.5 - 12.05.2025 - Updated the licensing system with an improved algorithm (bug fix for SU 2022 and greater). - Added a "Deflection Analysis" tool to the main toolbar. - Added deflection analysis as an option within the beam context menu. - Updated the "Beams" tab of the Global Settings with various options.
  18. You can exaggerate the deflection to better understand what is happening with the beam.
  19. Similar to RISA 2D and RISA 3D I think it would be nice to show the actual deflected shape of the beam superimposed on the real beam, as well as a simple tool to exaggerate this deflection. Here is an example of the “passed” shaded deflected beam (deflection scale 10X) .