Development and Updates for the Medeek Wall Plugin

Started by Medeek, March 04, 2017, 08:59:31 PM

Previous topic - Next topic

0 Members and 106 Guests are viewing this topic.


The default layers for the plugin will be the following:


wall_hardware  (straps and holdowns)

If one want more granular control over the wall framing layers then the option will exist in the global settings to enable "advanced wall framing layers":


I'm sure there will be other layers that will need to be added but these are the ones I've come up with for now.
Nathaniel P. Wilkerson, P.E.


Global settings:: Layer Tab:

The Kickstarter campaign has met its goal of $2,500.00.  I will be working on the wall plugin full time for the next month or two, until I have released the first public release of this new plugin. 

I would like to thank all who have pledged and supported the campaign and also those who may yet support the campaign. 

I am making solid progress on the Wall Plugin.  All of the framework is now in place and the backend progamming (shopping cart, database, icons, images etc...) is now also complete.

My ETA for the plugin is mid June but I think I will probably beat that self imposed deadline if I can keep at it full time like I have the last few days.
Nathaniel P. Wilkerson, P.E.


The first menu for the rectangular wall tool:

I've modifed the wall type parameter to include the following (3) options:


I am still thinking about how best to accommodate custom stud sizes.  I may make it possible to enter in custom sizes in the global settings so they can be permanently stored.  I prefer that the wall dialogues simply show a stud size rather than breaking it down into depth and width, but ultimately those two dimensions are what is being controlled here.

Working on the positioning tool portion, I will borrow from the timber truss module of the truss plugin to accelerate this coding task.  Also working on the advanced wall options and its menus etc...

Please let me know if you see something important that I am missing or if something can be made better.  I am always open to suggestion.
Nathaniel P. Wilkerson, P.E.


In the global settings you can enable a 3D preview:

The 2D preview is default, which just shows the footprint of the wall.
Nathaniel P. Wilkerson, P.E.


Within the global settings and also when you edit a wall you will be able to modify the corner treatment at the start and end of each wall segment, the parameters being:

Corner Stud Qty: 1,2,3,4
Corner Stud Thk. (in.):  1.5 (default), can be user defined to any value
Corner Treatment:  California, None, etc...
Corner Angle (deg.):  90, can be user defined, 0 < x < 180
Corner Configuration:  End, Outside Corner etc...
Corner Offset (in.):  Stud Depth or numeric value (ie. 3.5, 5.5 7.25 etc...)

This will allow the user to utilize any combination of studs or timbers at each corner (ie. a 6x6 post) for a wall segment needing some serious shearwall action.

When you create a wall these three parameters will not be shown and will pass through from the global settings.  If a wall needs to be modified then a simple right click and "edit wall assembly" will allow for changing up these settings for either end of the wall segment independently.

If holdowns are enabled then the placement of the holdowns (ie. HDU series) will be modified appropriately to rest against the innermost corner stud surface.

In addition to framed openings (ie. windows and doors) there may also be other misc. items associated with a wall segment:

- Wall Columns
- Beam Pockets
- Additional holdowns/straps for shearwall segments within a given wall
- Additional framing where a wall meets another wall mid-length (T intersection).

I will give these items some more thought as the development progresses and determine the best way to add these items into the UI. 

As I imagined the complexity that can occur when framing a structure only gets more interesting the farther down the rabbit hole I go.

P.S. The numbers of parameters just grew from four to six, this now addresses non-orthogonal walls.
Nathaniel P. Wilkerson, P.E.


Global Settings:: Wall Corners:

Within this tab the user can set the defaults for the wall corners.

These same settings can also be set for each wall segment with the "edit wall" tool.
Nathaniel P. Wilkerson, P.E.


I am now testing the stud placement and top and bottom plates:

So far only the line tool is available but seems to work fairly robustly now.

Please download and comment on the model below:

There are a few minor issues that need further attention:

1.)  How to position studs with non-orthogonal walls, I could use some direction on this.
2.)  I have California Corners enabled for outside corner and inside corners, what do you do when there is a clash between the nailer and the regular stud layout, see model for examples.
3.)  When there is more than one top plate (2,3 etc...) I have them setup to lap each other.  However multiple bottom plates do not lap, they are currently setup just to stack.

The items for tomorrow's programming todo list are:

- Setup the HTML form and backend for the wall edit feature.
- Finish cleaning up the global settings, HTML and backend.
- Further debugging and refinement of the stud placement module.

Future items:

- Addition of window and door modules (framed openings)
- Advanced wall options (sheathing, cladding, gypsum, insulation, trim, holdowns etc...)
- Window and Door Plugin
- Gable Wall Tool
- Polyline tool for Rectangular Wall Tool

I'm sure there are plenty of other items that don't come to mind right this minute, please feel free to pass along any thoughts, comments or suggestions.
Nathaniel P. Wilkerson, P.E.


Working on the advanced options this morning, I've added in sheathing, cladding and gypsum:

As windows and doors are added to the wall they will automatically cut holes into the framing and these three other building layers.  The code to cut holes in solids is actually not to difficult, I developed it with the foundation plugin when I needed to add foundation vents into stemwalls.

I will probably put the cavity insulation and the holdowns on the backburner for a a while as I focus on the wall edit function and the window and door (framed opening) module.

I've also added one additional (Tee Corner) corner configuration for each end of the wall.

I will also be adding in two additional parameters so when you edit a given wall panel you can offset the sheathing and cladding above or below the actual wall panel to tie into a rim joist above or below.  Some contractors also like to lap the sheathing and cladding over the foundation rather than having it flush with the sill/bottom plate. 

On a similar note it might also be useful to allow the user to set the bottom plate as pressure treated (ie. garages where the wall is directly in contact with the foundation).  I'm not sure yet where I want to put this parameter.
Nathaniel P. Wilkerson, P.E.


PT bottom plate option added into the first menu.

The little structure below is not much to look at (no windows or doors yet) but it is the first time I've been able to create an entire building envelope with absolutely no manual editing of the SketchUp model.  This in itself is a major break through for me.  I used all three plugins to create the model: Foundation, Truss and Wall.

All principal architectural elements are there: sheathing, cladding, gypsum, anchor bolts, rebar, concrete, roof cladding, gutters etc...

The only items missing are exterior and interior trim/molding and of course the windows and doors.

My next push will be the windows and door module.

The time required to create the walls was under a minute however once I have the polyline tool enabled this will cut down the initial wall creation time to literally seconds.

Insertion of doors and windows will always take a bit longer primarily because the designer actually needs to determine where they want to place their openings.  There is not much one can do about that other than to make the actual placement/insertion process as intuitive and automated as possible.
Nathaniel P. Wilkerson, P.E.


The wall edit feature is now functional and seems to be fairly robust:

The wall edit menu shown above.

Originally I was going to have all the windows and doors load up within this same menu but given how big it has grown already I think a separate edit menu for door and windows would be more practical.

I will also need to add in some additional code so that when certain parameters are modified in the wall edit menu those changes are then propagated to other wall panels that are assigned to the same wall group letter.
Nathaniel P. Wilkerson, P.E.


I've added mid-span blocking into the advanced options:

View model here:

This option will probably need additional parameters (mid-span, 8' on center, 4' on center) to make it really useful but at least it is a placeholder for now.
Nathaniel P. Wilkerson, P.E.


Quote from: Medeek on April 09, 2018, 08:06:35 PM

- Window and Door Plugin

After a bunch of searching this door dynamic component was the best most flexible I found.  I wonder if the api can manipulate dynamic component settings in which case your wall plugin makes the rough opening into which this (or similar) component gets placed and its settings set to match the rough opening.  DRY wise this one could be the basis for a door plugin although once placed I like the idea that is a dynamic component so you can change (show/hide) swing etc.  This one is now old 2014 but works fine in 2018.


The cavity insulation option in the advanced options will fill in the wall cavities with insulation:

This feature will only get more interesting as windows and doors are added.

I supposed there will be some utility to this option for some since it will allow the designer/contractor to calculate the volume of insulation needed with fairly decent accuracy.

I could use some better textures for my insulation, the ones shown are pink and yellow fiberglass, rockwool and cellulose.  I also have a blown fiberglass (white) not shown.

View model here:

I've now started wading into the window and door module, this may take me a 2-3 days to sort out since it is fairly complicated.
Nathaniel P. Wilkerson, P.E.


Quote from: dkebler on April 12, 2018, 06:41:36 PM
Quote from: Medeek on April 09, 2018, 08:06:35 PM

- Window and Door Plugin

more thoughts

As to windows I ended up using the window dynamic components from Milgard as it made it easy to pic standard window dimensions that one might find as stock.  Here is their slider I used but they have just about any window type as dynamic component one might want.

Just seems that your wall plugin should only make a rough opening (through wall).  If you want to then have an advanced option that automatically inserts say "Milgard" or other dynamic window/door components that you support then the user can choose those.  Otherwise it's up to them to manually place the doors and windows using either your recommended/supplied dynamic components or their own.   A generated window or door that is ends up being a "dumb" group may not ultimately be that useful to users.

Also something to consider is your how you group/create entities and assign layers.   As I enabled the layers option in the truss plugin the grouped entities you made/assigned might not fit well with layout.  Not that big a deal with roof assembly but walls would be more important.   I watched this video and then the playlist to better understand how to group entities and make/set layers for best use with layout.   Since you "generate" your entities/layers if someone reorganizes them for layout and then discovers that they must regenerate a wall then they would have to repeat that manual reorganization (which is what I discovered using the truss plugin).  So maybe best to have the plugin be a bit layout aware since I gather that ultimately most professional/serious users want to generate layout plans that can then be stamped/shared.


The layers and how best handle them is a bit of an issue.  I been talking to another large design firm about this and they handle their layers different than I do.  The problem is that everyone does them a little bit differently so the question is how do I make the plugin flexible enough to suit everyone.  I need to give this some more thought, serious thought.
Nathaniel P. Wilkerson, P.E.