Medeek Floor Plugin

Started by Medeek, December 06, 2019, 11:43:25 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Medeek

I am starting this new discussion thread as a fork from the Medeek Truss Plugin thread since the Medeek Floor extension will now become a stand alone extension/plugin.

Its icon(s) will be:



This new plugin will ultimately replace the floor joist/truss module currently found in the truss plugin. 

Similar to the complex roof module the designer will be able to create any polygon shaped floor outline, and edit the shape by moving/adjusting the edges.

There will be a tool for creating and editing holes within the floor.

There will also be a tool for creating polygon shaped floor coverings (ie. carpet, tile, wood, pergo etc...) with an associated label and optional sqft callout.  These floor coverings will be situated on top of the sub-floor and can be individually edited.

Eventually the floor assemblies will also be integrated with the estimating module currently found in the wall plugin (this will be moved to the Medeek Project extension in the near future).

There will also be an option for gypsum on the underside of the floor with a user editable offset (ie. 5.5 inches).

I have a few more ideas for this new extension but I would be interested in hearing what ideas you might have that would make this extension have even more utility for you and your workflow.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

Per discussion and input this morning from a valued mentor/adviser I've added a few more items to the list:

1.)  A tool for adding in mid-span blocking where the user can specify a location, extant and type of blocking.

2.)  A blocking tool (also need this for the wall plugin) which will allow the user to create special blocking for point load conditions etc...

3.)  An in-floor beam tool similar to the in-column wall tool of the wall plugin.  The wall plugin already has a beam tool but this is for stand alone beams.

4.)  Option for cavity insulation within the floor assembly, however an additional parameter which allows the control of the batt thickness since it may not be the same depth as the floor cavity.

5.)  With the floor covering tool provide a vertical offset parameter.  I may also set it up so that multiple layers are possible.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer


Medeek

I've been thinking about this plugin some more as I've been occupied with upgrading the javascript/ruby interactions within the wall plugin.

Some floor framing plans are very simple, while others are considerably more complex. 

I need to make the plugin as flexible as possible so it can accommodate the more complex floor variants.

One issue I'm trying to address is how to best handle floor plans that have floor joists running in different directions within a single floor plan/assembly.

My proposed solution is to limit the direction of the floor joists in any given assembly to one direction.  Then to allow for a complex floor assemblies I will need a tool to suppress the rimboard along any given edge of the floor assembly.  This will then allow for the butting up of floor assemblies next to each other to get the desired floor framing layout.

This particular edge tool will have three options for any given edge of the floor assembly:  rimboard, no rimboard, or ledger.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

First look at the main toolbar for the plugin:



1.) Draw Floor
2.) Edit Floor
3.) Move Floor Edge
4.) Edit Rim Joist
5.) Engineering
6.) Global Settings

Most of these tools are fairly self explanatory, number 4 is probably the most interesting.  I will allow the user to customize each rim joist per floor edge (if desired), or remove it entirely.  This will come in useful where there are multiple floor assemblies abutted next to each other.

There will also be additional context menu tools (ie. regen floor assembly).  One context menu tool I am thinking about adding in is a way to select a given edge as the starting point for the floor joists/trusses.  This will allow the direction and spacing of the floor joists to be aligned to any edge along the floor outline.

There will need to be another completely separate toolbar and tools that deals specifically with holes cut into the floor.

Lots of little details to still work out and even though much of the code base can be recycled from the other plugins there is still a lot of work involved to produce a completely new plugin with the capabilities that I envision for this new architectural tool.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

First look at the floor opening toolbar:



1.)  Draw Floor Opening
2.)  Move Floor Opening
3.)  Edit Floor Opening
4.)  Delete Floor Opening
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer


Medeek

First look at the floor covering toolbar:



1.)  Draw Floor Covering
2.)  Move Floor Covering
3.)  Edit Floor Covering
4.)  Delete Floor Covering

The colors are a little bright for me, I may have to subdue them a bit to get the right look.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

First look at the floor beam toolbar:



1.)  Draw Floor Beam
2.)  Move Floor Beam
3.)  Edit Floor Beam
4.)  Delete Floor Beam

If the floor beams align with the joists/trusses things are fairly straightforward, however if the in-floor beams are perpendicular or oblique to the joists this becomes a bit more interesting. 

I will have to give some serious thought to this module in order to make it as flexible as possible.

Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

For the floor covering module I think an option for 2 or 3 layers should be sufficient for most cases:



In this case I am modeling/representing the carpet and its pad.

Tile floors usually require some time of cement board underlayment.

Pergo and hardwood floors may also have an underlayment of some type or another.

Openings cut in the floor assembly will also cut through the floor coverings if they intersect.  This will allow for interior holes within a floor covering.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

I've finally wrapped up my recent move (Utah -> Missouri) and the dust is beginning to settle some.  The next few weeks I will be working in earnest on the Floor plugin and try to get it put together and released before the end of the summer and prior to the upcoming SketchUp Basecamp. 
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer


Medeek

I realize that people are chomping at the bit for this new plugin and I have been working on it diligently for the last two to three weeks.  The biggest holdup has been going back through all of the code and bringing it up to speed with the other plugins.  There have been quite a few incremental changes to the other plugins with regards to licensing, materials, layers etc...

For instance the plugin material library back end  was originally coded based off of the 2022 version of the Wall plugin.  I just updated all of the code now so that it is keeping in line with the most current version of the Wall plugins material library code base.



So right now I'm spending a few more days making sure everything is modern and up to speed with the other plugins. 
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

I've been pushing the plugin all afternoon trying to find ways to break it and a few things eventually did jump out at me. One of which is the rim board algorithm and the sill plate algorithm (essentially the same algorithm but utilized differently). Other than that the basic joist (framing) algorithm seems very robust at this point no matter what strange configurations I try to attack it with:



My initial framing method for the rim joists was to simply bevel/miter the joints, which makes sense if things are non-orthogonal but in practice when things are orthogonal the joints are usually lapped, at least that is what I've always seen in the field. If they are lapped then the question becomes do you lap the long or short parallel to the joists themselves. What I've always seen is the long rim joists are perpendicular to the joists however the user may want some control over this, so it is probably best to make this user definable (yet another option).

I will put my thinking cap on and start a new day tomorrow...
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

How soon should I release the BETA version?  I'm currently checking the floor preset functionality and I will also look at the addition of insulation (bat or fill) tomorrow.  The gypsum (ceiling) seems to be working great, but eventually I will add in battens because I know someone will request it, but it is not top priority right now.

I'm thinking I will push out the opening and beam modules after I release the BETA, they will complicate things and may take a few weeks of tweaking and testing before they are ready for prime time.  The opening module will be the higher priority of the two.

I've created the template for the integration with the estimating module, but this will also require further fleshing out.  In addition there will need to be updates to the cost database and weight database modules that integrate materials for the floor assemblies.

I'm honestly not sure how useful the connection function is as compared to the Truss plugin, but it will be a feature since most of the heavy lifting is already done.

The CUSTOM and SUBTRACT feature will be similar to the Truss plugin, it is in place and appears to be working as it should, further testing would be prudent.

The I-Joist libraries (sizes and types) is much more organized than the previous system and should be easier to maintain and if required more manufacturers can be easily added.  I may also add in a "custom I-Joist" option which would allow one to specify the full set of dimensions for a custom sized I-Joist (depth, flange depth, flange width, web width, web material etc...)

Similar to the Truss and Wall plugins, one can specify a comma deliminated remove list to remove specific joists from an assembly. 

Still lots to do but it is almost close enough to the finish line to think about putting it out there and start garnering feedback and suggestions.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

In the Materials tab of the Global Settings you can switch between the more realistic textures/materials for lumber and pressure treated lumber:



Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

The Move Floor Edge tool is working as it should:
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer


Medeek

Version 0.9.0 - 09.08.2024

Created the Medeek Floor Plugin, utilizing SketchUp's Ruby API.
Added the draw floor tool with the ability to create I-Joist and solid sawn (lumber) polygon shaped floors.
The Floor extension can be downloaded directly here:

http://design.medeek.com/calculator/sketchup/medeek_floor_ext.rbz

Note that this is a BETA release and does not include all of the future planned functionality (ie. openings, beams etc...) I am only posting this release in a few select locations to allow power users to test it out first and help me further debug and refine it. After approximately a week I will send out a notification to all users letting them know that the release is now publicly available. Hopefully in that time I can catch the most glaring bugs and issues so that my inbox does not become swamped.

Also all those who have been issued licenses in the last year or so will have their expiration update date of their license automatically renewed so that it will be active for one year starting from tomorrow's date (09/09/2024 - 09/09/2025).
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

Version 0.9.1 - 09.10.2024
- Enabled doubling of individual joists.
- Enabled offsetting of individual joists.
- Enabled global offsetting of joists.
- Added a duplicate floor check to the regen module for all floor types.
- Updated the javascript logic within the License tab of the Global Settings.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

**Tutorial 1** - Extension Overview (19:43 min.)

https://youtu.be/ZCUr08o-M24
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

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.

Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

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.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

**Version 0.9.3b** - 09.12.2024
- Fixed a HTML/Javascript bug in the Draw Floor menu.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer


Medeek

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.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

Tutorial 2 - Joist Hangers (19:57 min.)

Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

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.

Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

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.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

Version 0.9.6 - 09.19.2024
- Fixed a bug with metric floor presets.
- Fixed a bug with the insulation module.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer