Wall Plugin for SketchUp

Started by Medeek, March 05, 2017, 12:03:48 AM

Previous topic - Next topic

0 Members and 4 Guests are viewing this topic.

Medeek

The CSV piece is now working (HTML and CSV output in Excel):



Rather than just a meaningless number I could use a CSI number for the various building elements.

To get your data involves only four mouse clicks:

1.)  Click the estimating icon (calculator in the Wall Plugin Toolbar).

2.)  Click the Select All button which will then automatically select all of the Medeek Wall Panels, or you can individually select desired wall panels by using the SHIFT key.

3.)  Click the Calculate button, review your data in the HTML preview table if desired.

4.)  Click the CSV/Excel (Green) icon and download the CSV file which can be opened up directly in Excel for further analysis and costing computations.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

Version 0.9.6 - 09.23.2018
- Created the initial framework of the Medeek Estimating Module.
- Added sheathing, cladding and gypsum to the Medeek Estimator.
- Corrected the group description for pressure treated bottom plates.
- Added the ability to export data from the Medeek Estimator in CSV format.

Currently only three items are added to the estimating module, many more items to add.

The saving grace is that I think I've set it up quite cleanly and organized so that adding in new elements should be relatively easy and really not a whole lot of coding.

I'm releasing it now in its prototype stage so that everyone will have a chance to test it out and put it through its paces.  Once I return from the upcoming Basecamp I will hit it hard again and add in a multitude of building elements.

I also need to nail down the proper CSI numbers for the various elements, I'm sure I'll make a few mistakes along the way.

I haven't had much of chance to test it (Estimator) out in a metric template so I apologize if anyone encounters any bugs while using a metric template.  Further testing in a metric template will be the first thing on my list when I return.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer


Medeek

Interesting question today on using presets in the Draw Wall Menu.  In response to this question and to help people further understand the order of operations when using presets see answer below:

ANSWER:

I may need to change up the logic a bit to make it a bit more intuitive when utilizing presets within the Draw Wall Menu. 

First, when you hit the save button it will prompt you for a name to save the preset as, then you enter in a preset name and hit "Save Wall Preset".  You should then see the new preset added in the drop down box, if you do not then there was some type of an error.  Please enable the ruby console and duplicate the error and send me the ruby console output if you encounter this behavior.

Second, when you are loading a preset it is a two step process.  First you select your preset in the drop down box, then you click "Load", this loads the values into the HTML menu, it does not make them live just yet.  To accept these parameters and draw the wall with them click on the "Update" button, and then begin drawing your wall(s). 

I think it may be useful to just eliminate one of these steps and when a user click "Load" it automatically brings the presets parameters into the HTML form and also makes them the active parameters, thereby eliminating the step where you need to click the "Update" button.  Thoughts?

Also note that you do not need to close out the Draw Wall Menu before drawing walls, nor should you, however the option to do that does exist.  The idea is to keep the menu open so you can change up the wall parameters and keep drawing walls without having to continue to click on the draw wall icon.  To quit the Draw Wall tool completely you simply click on the space bar.  To start a new polyline of wall segments or just a single wall panel, click the ESC key.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

QUESTION:

The Medeek Estimator gives a net and total area for the sheathing, cladding and gypsum.  Why the two values, what is the difference?

ANSWER:

The total area is the area of the cladding with all openings removed.  The net area subtracts the openings (doors, windows, garage doors etc...) from the total area.

Technically the net area is the actual area of cladding, sheathing or gypsum but in some cases contractors or other bidding a job might want to know the total area so I thought it might be useful to have both values and let the user decide what number is best for their analysis or estimate.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

Version 0.9.6b - 09.25.2018
- Fixed a bug in the exterior wainscoting module for metric templates.

If you are using metric units you will want to update to this latest version.  This bug seems to have been generated when I switched to the HTML Draw Wall Menu with version 0.9.1 (8/15/2018).  What I find strange though is that I did not detect it until recently.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer


Medeek

Version 0.9.6c - 10.05.2018
- Improved the auto-corner config and tee intersection algorithms to better handle large models (100+ wall panels).

If you are creating large models with the plugin with lots of walls you should see a significant improvement in performance with this latest upgrade.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

Version 0.9.7 - 10.06.2018
- Wall labels option added to the General tab of the Global Settings.
- Wall labels can be drawn/shown in all framing modes.
- Added two additional layers to the Layers tab of the Global Settings for dimensioning and annotations.



Note that wall labels are drawn on Dim Layer 3, Dim Layer 2 will be reserved for framing annotations (headers, cripples, trimmers, kings etc...), Dim Layer (1) is for standard callouts for windows and doors and their symbols.  The idea being that even if you decide to enable all of the callouts you can easily toggle them by turning on and off the various dim layers.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

The wall label prefix can now be defined in the global settings:





If left blank the wall name/label will be just a numeric value as shown.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

#258
Version 0.9.7b - 10.07.2018
- Wall label prefix can be customized in the General tab of the Global Settings.
- Licensee name now appears in the License tab of the Global Settings when plugin is registered.

This weekend I've managed to quickly knockout 1,2 and 6 of the list I gave previously after I got back from basecamp.  There is so much more to do its staggering and a bit overwhelming at times.

In addition to the work that needs to be done with the wall plugin there is also the rewrites of the truss and foundation plugins that need to happen, primarily to make them fully parametric and also include all of the estimating and engineering features.

I've easily got another two years of full time programming before I get everything where it needs to be.  However, if I can snowball this thing and get a little more momentum going it would be nice to bring on some additional hired help with some of the programming and accelerate the development even further.

Just the debugging alone manages to consume quite a bit of time.  The complexity of all the moving parts in this thing make for some interesting possibilities and the chance for many states that may not have been foreseen.  Luckily I have managed to cut my teeth on the truss plugin and so this time around my programming skills and organization have dramatically improved and matured.  Keeping everything nice and tidy (modular) has made all the difference and kept this rather large programming project manageable for one person.

Admittedly there is still a lot of checking and debugging to do, especially with the metric side of the house.  I initially test everything in the imperial templates since that is what I'm used to but I also have to keep an eye on the metric side as well. 

I have held off on the final implementation of the gable walls since I wanted to fully wrap up the standard rectangular wall before I started in a new direction.  Part of my reasoning with this was also to work out all of the bugs and problems with the standard walls first that way I would be well positioned to attack the more complex gable and shed walls.

A good example of this is the way I am currently handling holdowns.  I would rather treat shear panels and their holdowns similar to how I handle windows, doors and SSW's.  In other words multiple shear walls/panels can be added to any given wall panel rather than an entire wall panel being made into a shear wall.  Segmented shear walls are typically broken up in a given wall line and may or may not involve an entire wall panel.  With this in mind I will probably augment the current SSW toolbar with regular shear walls or add a completely new toolbar for them.

I am also working with some component and wall panel manufacturers and I am in the process of providing some feature that will work well with their workflow but optionally can be enable/disabled by the user who has no need for those features.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer


Medeek

At SketchUp Basecamp I was excited to see that both PlusSpec and Framer for SketchUp were in attendance.  These two softwares seem to be the primary competitors to my own SketchUp Extension Suite. 

PlusSpec seems to be a bit further along than I am and I think they began putting together their product about the same time I began working on the Truss Plugin (2015).  Framer by John Brock is a much newer offering and was only just released this last month or so.  Both plugins appear to be legitimate competitors and offer similar features to my plugins.

Price wise PlusSpec is the more expensive of the two, $773 if billed annually.  Framer is currently $79 per year but it appears the price is scheduled to jump to $99 per year.  Both plugins are subscription licensing which personally I find not to my liking but I can fully understand the reason for going this direction. 

If you purchase all three of my plugins at full price you are into it for $250, however this is a one time purchase.  Upgrades are free for two years after the purchase.  After that you pay a reduced upgrade fee to renew the license for further upgrades (new releases).

As I mentioned in my panel talk it would be nice if I could just make these plugins available to everyone at no charge and I really do believe that deep down, but other revenue models such as Patreon did not garner any interest from the SketchUp community so I am forced to a more conventional business model.  In order to really pursue the development of these plugins like I would like to I need to commit full time and I need to somehow make a living while doing it.  Whether this is realistic or not is yet to be determined.

Even though the competition may keep me up at nights it is still for the better.  Competition helps keep us all on our toes and drives progress.  In my opinion, part of the reason Revit is such a horrible product is due to its real lack of competition in the 3D modeling world.

I am hoping that in the next couple of years we can develop these plugins to a level that they provide a viable alternative to Revit and begin to sway more of the mainstream design community over to SketchUp.  If SketchUp/Trimble continues to improve Layout and we mature our BIM offerings I think that we will surpass Revit and AutoDesk in functionality, ease of use and just a better product all around.  SketchUp is already a joy to use and with a few well crafted plugins it becomes  almost fun to use and work with, work is no longer work.  I really do believe that SketchUp has the potential to become the BIM standard in the design world, at least that is what I'm aiming for.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

Version 0.9.7c - 10.08.2018
- Fixed a bug in the door and garage door modules (affects both metric and imperial templates).

This is a critical update.  If you load a previously created model, and prior to inserting any new walls, you attempt to add a new door or garage door and select advanced options in order to install the actual door or garage door the plugin will throw an error since it does not have the previously utilized gypsum, sheathing and cladding thicknesses loaded, in order to properly calculate the offset of the door within the wall.

This fix is designed to address that issue. 

This is yet another situation where there are many states possible and the tree of all possibilities is rather vast so finding all of the holes and making sure they are patched is a lengthy process.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

Per requests from wall panel and component manufacturers I am adding in some additional framing callouts:



The first line is the standard window or door callout and is on dim layer #1.  This has not changed from previous versions of the plugin.

The second line gives the header information (I will also need to add a species and grade callout ie. DF No. 2) and is toggled on by the header callout parameter, this line is on dim layer #2.

The third lines give the header height from the base of the wall (bottom of sole plate) to the bottom of the header.  The value is in ft-inches or millimetres.  This line is toggled on by the framing callout parameter and is also on dim layer #2.

The 4th line is the most interesting.  For windows it gives six pieces of information for doors it gives four pieces of information:

Window:  top cripple length, header length, king stud qty. and length, trimmer stud qty. and length, sill length, bottom cripple length.

Door:  top cripple length, header length, king stud qty. and length, trimmer stud qty. and length

This line is also toggled on by the framing callout parameter and is on dim layer #2.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

Version 0.9.7d - 10.09.2018
- Added header and framing callouts for garage doors, windows and doors.

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

Don_P

Just looking for door #3. If it were somehow connected to a sort of sweets files in a warehouse, for everything. The manufacturers distribute and help develop the software and their entries into your library. win-win-win?

I met the architect on the current job this week. I'd sent her the as built sketchup of the building a week or so ago.
"You sent it in sketchup. I said I love this guy".
The tide is changing I think, my view is tiny.


Medeek

Version 0.9.7e - 10.10.2018
- Added labels and callouts for all beam types.
- Beam label prefix can be customized in the General tab of the Global Settings.
- Beam Z Floor parameter included in draw and edit menus (used to establish height of beam from sub-floor).
- "Regen Beam Assembly" action added to context menu for beams.



Labels and callouts for beams now up to par with the rest of the plugin (walls, windows and doors).

If the framing callouts are enabled then the beam length, beam height (bottom of beam to floor) and grade and species are displayed.  The Z floor parameter allows one to establish where the floor should be referenced from. 

The primary purpose of the regen action is if a beam is moved (with SU's native move tool) in the Z direction, this will recalculate the beam height.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

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

Medeek

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

Medeek

Intro Video - The Vision:

https://youtu.be/KRvDMqRjfCQ

The model for this video can be view here:

https://3dwarehouse.sketchup.com/model/10c4a4fe-f6e2-443d-ae2f-9552caa2bc78/mdkBIM-The-Vision

I am also renaming the Extension Suite/Library to "mdkBIM":

http://design.medeek.com/resources/resources.html#mdkbim

The target audience/disciplines are: 

1.) Designers/Architects
2.) Engineers
3.) Estimators
4.) Contractors
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

Version 0.9.7f - 10.11.2018
- Window sill qty. callout added to the framing callouts for windows.



Looks like I forgot to add the quantifier for the window sill plate.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

The framing algorithm for stacking windows and doors is going to get very messy, what if the trimmer and kings studs don't exactly lineup?  Then the framing gets really interesting. 

A larger or smaller opening above another will also call for different framing solutions.

This one is going to take some serious thought.

Why do you designers have to make things so difficult?  This one is not really that high on the todo list but it is giving me some serious headaches just contemplating it.

Does anyone have any examples (drawings or pictures) of this sort of situation(s)?
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer


Medeek

Necessity is the mother of invention as they say, and as I was creating a small two story model of a garage for local customer today it quickly became painfully obvious that I still do not have a good stair plugin or module.

The toolbar for the stairs module will start out with the following two icons, there will probably be additional ones added for concrete or steel stairs in the future:



The basic parameters for the Draw Stairs Menu will be:

0.) Stair Assembly Name:  Auto assigned by the plugin but user can edit this parameter.
1.) Stair Type:  Straight, L-Shape, U-Shape 
2.) Stair Width:  40 inches or 1000mm
3.) Stair Height: (This will be determined by the picking of points and the bottom floor plane) ft-in or mm
4.) Max. Riser Height:  7.75 inches or 200 mm
5.) Draw Risers:  YES/NO
6.) Riser Thickness:  3/4" or 19 mm
7.) Riser Material:  Lumber, Lumber PT, OSB, PLY
8.) Top Tread Flush:  Yes or No (this option will make the top tread flush with the upper level/deck
9.) Tread Depth:  10" or 255 mm
10.) Tread Thickness:  1.25" or 32 mm
11.) Tread Nosing:  1.25" or 32 mm
12.) Nosing Shape:  SQUARE or ROUND
13.) Tread Material:  Lumber, Lumber PT, OSB, PLY, Oak, Birch, Maple, Pine etc... (custom material from material manager in global settings.
14.)  Stringer Qty:  2, 3, 4, or 5
15.)  Stringer Depth:  11.25" or 285 mm
16.)  Stringer Thickness:  1.5" or 38 mm
17.)  Stringer Material:  Lumber, Lumber PT, LSL, LVL
18.)  Stair Framing:  YES, NO, 2D
19.)  Advanced Options YES or NO

The advanced options or parameters are tentatively:

1.)  Thrust Block:  None, 2x4, 2x6, 2x8 or metric sizes for metric templates
2.)  Hanger Board:  Yes or No, will default to 3/4" or 19 mm OSB
3.)  Landing Tread:  Yes or No  ( will default to a 3-1/2" landing tread with bull nose to match stair treads)

Eventually I will add other advanced options such as hand rails, skirt boards, gypsum spacers, blocking, brackets etc...

I'm not an expert on stairs but I do have a couple of details where I've considered the various elements of a typical stair case:

http://design.medeek.com/cad/autocad/STAIRHEADER_SECTION.pdf

http://design.medeek.com/cad/autocad/STAIR_SECTION.pdf



L-Shapes and U-Shapes get quite a bit more complicated with the inclusion of a landing.  I will start with just a straight run of stairs first.

Right of the bat I will start with HTML draw and edit menus, no point in messing around with the traditional UI, especially with such a long list of parameters already.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

Version 0.9.7g - 10.13.2018
- Created icons for the stair module.

Still putting together the HTML menus.  It may be a couple days before this module actually produces useful output.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

Version 0.9.8 - 10.14.2018
- Critical update with the global settings module.
- Critical update with the auto-corner configuration module.

I noticed an error that seemed to be common across a number of users and after digging down through the code I think I unearthed the bug that was causing this error.  This error was actually caused by a recent change in the code where I was attempting to improve the performance for larger models (0.9.6).

I believe this fix should address the bug and also augment the performance for large modules.  Sometimes when you try to fix things you break things but in the end it will all work out.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

Wall Presets often seem to be confusing many of our designers so I've put together a short video trying to clarify some of this functionality and possible quirks that users should be aware of:

https://youtu.be/cqGI83CW2Bc
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

Here is a first look at the gable wall matrix:



The rabbit hole is going to get really deep.  I am initially concentrating on the standard gable wall and then onto the shed wall.

Some of these wall types will also require a mirrored version (just another parameter in the wall menus).

Note, that a triangular wall is nothing more than a degenerate gable wall where the wall height is zero at the start and end of the wall.  A shed wall with the lower wall set to zero height is a right triangle.  The same sort of logic can be applied to all the other various wall heights shown.

Things get a little interesting when you start moving these type of walls or walls that are adjacent to these walls (attached at the corners).  Each wall type may require its own special auto-corner configuration algorithms.  As long as I keep things modular all of this complexity shouldn't be too big of a problem.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer