Medeek Floor
-
-
Version 0.9.2 - 09.11.2024
- Enabled a overhang for deck boards.
- Enabled a global offset for deck boards.
- Fixed a bug with floor presets.
-
Version 0.9.3 - 09.12.2024
- Fixed a critical bug in the Draw Floor menu.
- Added a status icon (Draw Mode: Polyline or Face) in upper right corner of the Draw Floor menu.
- Added the Draw Mode parameter to Floors tab of the Global Settings.
-
I was thinking about hanger hardware for the joists but then I realized that things are quite a bit more complicated with these polygon floors. For example look at this floor:
The situation gets interesting for the first six joists in the array, they would require four hangers each rather than just the normal two. I'm going to have to really put on my thinking cap for this one.
And then you have the additional complication of non-orthogonal edges which may require special skewed hangers... Fortunately those are probably not as common so I can probably ignore that case for now.
P.S.
At first glance I think I can examine each joist individually once they've been trimmed/cut and count the number of edges that run parallel to the joist (x-axis or y-axis). For a regular lumber joist the total number of pieces will be the number of horizontal (long edges) divided by four. That will tell me how many hangers I actually need.
I can then cycle through this collection of edges finding all of the terminal vertices/locations and assign to each one a direction (left facing or right facing). From there it is simply a matter of running a for loop and placing the hangers. I think this will work but it may not be optimized yet.
P.P.S
I also just realized that there is the possibility for some joists to be doubled, which will naturally require a different hanger, so the hanger selection will require two parameters, one for single ply an one for two ply. However, there may be a situation where you want there to be hangers only on one side of the floor (ie. a deck with a ledger and beam supported on the other end) so four parameters for hanger selection:
1.) Start Hanger (1X Ply)
2.) Start Hanger (2X Ply)
3.) End Hanger (1X Ply)
4.) End Hanger (2X Ply) -
Version 0.9.3b - 09.12.2024
- Fixed a HTML/Javascript bug in the Draw Floor menu.
-
Version 0.9.4 - 09.16.2024
- Added joist hangers to the Draw and Edit menus.
- Added a built-in library of face mount and and top flange hangers.
-
-
Version 0.9.5 - 09.18.2024
- Added a joist direction arrow to the draw floor tool.
- Added a "debug mode" parameter to the General tab of the Global Settings.
- Fixed a bug with deck board placement.
- Fixed a bug with the deck board offset parameter.
-
I have had two requests now for metal bridging or bracing so I took about an hour and modeled up a Simpson TB27 between 2X10 joists @ 16" on center. It actually looks really nice:
However some things immediately jumped out at me:
1.) I based my TB27 off of the ICF file on Simpson's website so it is dimensionally accurate, however to do that takes quite a bit of time. Modeling like this is fun but very time consuming and one thing I never have enough of is time.
2.) This is the TB27 configured for 2X10's on 16" centers, now think of all the other permutations (including I-Joists). To make this look right would require a preconfigured component for each case. The number of permutations is at least 130 or more.
3.) If you also consider custom offsets of specific joists then it gets even more crazy.
My thinking is that if I do want to enable something like this it will need to be less detailed geometrically (just a basic representation) and drawn on the fly using an algorithm that checks joist depth and spacing. Rather than specify the exact part number (ie. TB20, TB27, TB30 etc...), just specify that it is metal bridging.
-
agreed - i'd say less detail on the components to improve speed and rendering, and just good descriptive text / names instead. one option might be in a "library" view showing a detailed version of a single component so selection purposes, but the generated structure uses the simpliest possible geometry.
-
Version 0.9.6 - 09.19.2024
- Fixed a bug with metric floor presets.
- Fixed a bug with the insulation module.
-
I am changing up the way in which I do subtractive geometry from the way I've done it with the other plugins in the past.
If you enable Subtractive Geometry in the global settings you can use the SUBTRACT keyword to cut holes through everything as per normal. However you will now also have two other options:
SUBTRACT_SHEATH: This keyword will only subtract through sheathing, flooring and deck boards.
SUBTRACT_GYPSUM: This keyword will only subtract through gypsum
I may add others as the need arises or additional requests are made.
-
Adding in the advanced floor options into the Global Settings:
I am working on adding in metal bridging with some associated parameters:
P.S.
I was going to combine the metal bridging with the solid blocking however after some thought I realized there might be cases where you might combine both forms of bracing in one floor (solid blocking and metal bridging). Hence I need a separate module for blocking. Unlike the wall blocking floor blocking may be regular lumber or I-Joist blocking so that further complicates the matter slightly.The parameters for the blocking module will probably be:
1.) Blocking Type: Lumber/I-Joist
If blocking type is Lumber:
Blocking Width: 1.5 in (default)
Blocking Material: Lumber / PT Lumber / LSL / PSL / LVL etc...
If blocking type is I-Joist
Blocking I-Joist Family:
Blocking I-Joist Type:
other general parameters are:
Row Spacing: 96 in. (default)
Stagger Blocking: Yes/No
Remove Row: empty by default
Quite a few more parameters (8) to add into a number of files, this will keep me busy for a couple of days at least.
-
First look at metal bridging (I-joist and Lumber):
Geometrically a lot simpler and more lightweight than the preconfigured component that I made based off of the Simpson IFC model. I'm using my galvanized texture/material but I may change it slightly. There are quite a few parameters that one can adjust to customize the look and feel of these metal bridging straps, hopefully that should make things configurable enough for most power users.
As noted per the Simpson literature the crossing straps should not be in direct contact to avoid screeching noises when they move under load. Hence the default 1/8" gap, but this can be modified as can be seen in the menu.
I've also included a thickness parameter for the straps. The correct thickness for a 20 gauge strap is probably around 0.035" however I've rounded the default value to an even 0.04".
-
Version 0.9.7 - 09.23.2024
- Updated the SUBTRACT feature with three other options.
- Added seven advanced options in the Floor tab of the Global Settings.
- Added metal bridging to the Draw and Edit menus.
- Added solid blocking (Lumber and I-Joist) to the Draw and Edit menus.
- Fixed minor bugs in the HTML menus and preset system.
-
-
Version 0.9.8 - 09.27.2024
- Made the polyline/face icon (draw mode) in the draw menu clickable.
- Added a joist direction toggle button/icon to the draw and edit menus.
- Added a stagger joist option to the Draw and Edit menus.
- Updated the insulation, blocking, metal bridging and hanger modules to accommodate staggered joists.
-
So yes, staggered joist present a few issues. For example if the blocking doesn't land in the lapped region of the joist layout you end up with this:
Right at the moment I'm not sure how to address this or actually determine when the blocking lands in the non-lapped sections of the layout. The easy way out would be to do a boolean subtraction using the joists themselves, but then I would need to separate the resulting (multi-body) group into a bunch of groups/solids, this one is a bit of headache.
-
With staggered joists I am tracking how many rows of joists I need, the joist length and lapped length, so given that information (three variables) I can then run a quick check on each blocking row to see how it pencils out. This little block of code does the trick:
if @Spanno < 2 stoffset = 'NEG' else lapcount = 1 for lapi in @Stjarray if (distx > lapi[0]) && (distx < lapi[1]) stoffset = 'LAP' break elsif distx < lapi[0] if lapcount.odd? stoffset = 'NEG' else stoffset = 'POS' end break elsif (distx > lapi[1]) && (lapcount == (@Spanno - 1)) if lapcount.odd? stoffset = 'POS' else stoffset = 'NEG' end break end lapcount = lapcount + 1 end end
As one can see there are really only three possibilities for the blocking: Lapped, Positive or Negative.
The end result is this:
Problem solved. Now I just need to apply this same logic to the metal bracing and implement it. Insulation is somewhat different so I still don’t have a good solution for that one just yet. -
After another three hours of some productive thought and hacking away at some rather large blocks of code (and a few choice words) I managed to pull together a fairly efficient and robust algorithm for the cavity insulation between those irregular joists.
Ladies and Gentlemen, I give you “Batt Insulation with Staggered Joists”:
I’m exhausted, tomorrow I might take a small break.
Advertisement