Wall Plugin for SketchUp

Started by Medeek, March 04, 2017, 08:03:48 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Medeek

Version 0.8.9c - 07.26.2018
- Added double, triple and quad casement windows to the window draw and edit modules.
- Resolved a bug in the window and door attribute library modules.



I'm not sure if the callouts are really visible with this image but they are formatted like so:

(3) 2040CSMT  (for the 3 lite 6040 window)

This update is per customer request.

View model here:

https://3dwarehouse.sketchup.com/model/05ae80f6-3945-43a7-8c59-a773380f1ce1/Window-Test-7

I've also been thinking quite a bit about integration with other plugins and how I can best facilitate that plugin-to-plugin communication.

My first thought is that the under the hood structure of the wall is actually fully exposed already and can be modified with any other third party plugin.  Everything required to build the wall is contained within the attribute library of the wall panel group (outermost container).  I will be publishing a specification which delineates each value and position within the attribute library so other plugin authors can easily obtain or set this information as required and have an exact understanding of what each parameter is.

I will also be assembling an API so that another plugin author can cut holes in the walls for openings (windows and doors) and also rebuild the wall panels etc...  I'm not exactly sure on all of the details yet but hopefully this will make the plugin more accessible to other plugin authors and allow for better integration.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

A couple of segmental arches and a quinto acuto and equilateral gothic arch:



Selecting either an arch or gothic arch geometry will enable the "Window Arch Radius" parameter as shown in the edit window menu above.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer


Medeek

#202
Arched window openings now have exterior trim and wainscoting enabled:



For those interested this is the underlying equations that I'm using to calculate a gothic arch:



Notice that the center of the arch is at the same height as the springline but the lateral placement of the center of the arch is driven by the radius since the arch is tangent to the vertical .  A classic quinto acuto gothic arch has a radius that is 4/5 of the width of the opening, whereas an equilateral arch will be radius = width.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

These arched windows and their grilles (Prairie Style shown) were a bit more than I was wanting to bite off when I started into them this morning but perseverance won over in the end and I finally got them sorted out:





The half round springline window is created by setting the radius to half the window opening.

Also note that only the picture or fixed window type is available for the arch and gothic arch geometry.

I still need to work on shutters for these window types but that is a job for another day.

View model here:

https://3dwarehouse.sketchup.com/model/03ca029f-e028-4171-85cd-a336eba4ac10/Window-Test-8
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

Version 0.9.0 - 08.03.2018
- Added gothic and segmental arched windows to the window draw and edit modules.
- Added shutters: Solid, Flat Panel, Raised Panel, Louver, Board & Batten to arched and gothic arch windows.



View model here:

https://3dwarehouse.sketchup.com/model/717611a9-f02a-477b-863f-4c0fa04e9247/Window-Test-9
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer


Medeek

The arch/gothic arch window rabbit hole was very deep:


Ext. Trim and Shutter (Left)


Interior Casing


Interior Casing Options

Adding a new window type now entails the following additional features that must all be considered:

1.) Exterior Trim (Style A, Style B)
2.) Interior Casing/Trim (Style A, Style B, Style C)
3.) Window frame, casing and glass (window geometry will dictate if additional styles can be created for that geometry in addition to the standard fixed window).
4.) Window Grille (ten different grille configurations currently)
5.) Shutters (five different shutter types currently in three different configurations)

Some window types will also involve additional parameters due to asymmetry or other special features.

The trapezoid or triangular window may also involve a pitched header will further complicate matters with wall framing.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

Version 0.9.0b - 08.03.2018
- Enabled all interior casing styles (Style A, Style B, and Style C) for gothic and arch windows.

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

Medeek

Just an FYI there is a known issue with stacking walls right now (multi-level structures), funny that this did not show up previously.  I am currently working on it and should have a new revision in a few hours that hopefully addresses it fully. 

The issue is with the auto-corner configuration, apparently the algorithm is detecting walls on different levels when it should only be detecting the walls within a specified vertical range (on the same level).

I think I've got my head back in the game now after a short hiatus from the code.

Currently the three hot development items are:

1.)  New HTML menu/draw tool
2.)  Gable Walls
3.)  Garage Door Module

I'm also excited to report that the new reseller system is live and ready to go.  I am currently recruiting resellers so please contact me directly if you are interested.  I haven't determined the number of resellers or if there will be a specific limit however I am looking for people with diverse backgrounds and people who are passionate about promoting SketchUp as a primary architectural design tool for residential and commercial design.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

Version 0.9.0c - 08.08.2018
- Critical fix to the auto-corner configuration module which addresses a bug with multi-story construction.

If you are doing multi-story construction with the plugin you will want to download and install this fix immediately.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer


Medeek

Version 0.9.0d - 08.09.2018
- Added logic so that callouts for stacked windows are properly cascaded.



Note that there is still an issue with stacking windows in the full framing mode.  The plugin will not throw any errors (within the ruby console) but I will need to add some additional logic to properly frame up the cripple studs between windows, if any are required.  Also the algorithm for the trimmer studs will require some modifications.

Initially I did not foresee stacked windows but they do seem to be quite common so they have become a high priority.

View model here:

https://3dwarehouse.sketchup.com/model/33f30348-1e8d-4e6b-9c4a-1a313103ef30/Window-Test-12
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

Looking at this screenshot one would think I am attempting to edit a wall panel however if you look a little closer you will notice that I am actually drawing a wall panel:



The HTML draw menu (Graphical UI Option) is almost ready to release.  I have a bit more testing to do and some additional javascript logic to add to the HTML itself and then I think it will ready for prime time. 

I think everyone will find this is a much quicker and easier way to create wall panels than the legacy (non-GUI) method.  However, for those who prefer the old menu system that will still be available by setting the graphical UI option in the global settings (General tab) to "NO".

The other upside will be the ability to select from your presets rather than having to edit the wall panel after the fact.

Pressing the spacebar will exit out of the draw wall menu and tool, as is usual for SketchUp tools.

Pressing the ESC key on Windows will exit the current wall panel polyline and allow the user to start a new series of wall panel(s).

Clicking the Update button will update the draw tool with the parameters shown in the menu and allow the user to change things up mid-stream during the creation of wall panel(s).

I am hoping that this will be a big usability improvement for the plugin and make it quite a bit more efficient.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

Version 0.9.1 - 08.15.2018
- Added an HTML "Draw Wall" menu option. This is toggled in the global settings with the Graphical UI parameter.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

I've got a lot of things on my plate right now (plugin development and other unrelated items) but as I've been communicating with various parties today regarding the current functionality of the plugin it would appear that a common theme is the ability to better manage and apply materials.

With that being said I've decided to develop my own material manager (within the global settings of the plugin).  The user will be able to easily add, edit and delete materials.  A material can be either a color or image based material.  For an image based material the user will be able to specify the image (upload to library) and then specify the scaling (horz and vert).  For a color based material the color can be set with a palette picker or RGB code. Additional customization (ie. transparency) can be accomplished via the standard SU material dialogs/tools.

This will allow the user to setup commonly used materials and have those populate the various drop downs in the draw and edit menus of the plugin.

Initially I wanted to go the SKM route but this has some serious backward compatibility problems so I've since abandoned that idea.

Currently the wall cladding drop down allows for the selection of any material currently defined within the model however this methodology is flawed in that it becomes too cluttered with materials that the user probably does not care to utilize for the wall geometry.

I may also incorporate some sort of flag system so that the user can specify which custom material will appear in which drop down field (ie. sheathing or cladding or both).  I will need to give this some additional thought.

There will still exist some standard materials that are hard coded into the plugin and cannot be removed (ie. OSB, Plywood etc...)  The idea being that some users may not want to spend the time defining a custom library and just want some standard materials right out of the box.

I think I've nailed down most of the details on how this will all go together but any suggestions or thoughts are always helpful.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

How would you call out a entrance door with sidelights?

https://www.homedepot.com/p/Feather-River-Doors-63-5-in-x-81-625-in-Rochester-Patina-1-2-Lite-Unfinished-Smooth-Right-Hand-Fiberglass-Prehung-Front-Door-w-Sidelites-873191-3A4/203126132

Along that same vein here is a schematic of how the single and double side lites for doors will be calculated:



Rather than provide doors with side lites as a new type of door I will probably just make side lites an additional option for existing doors.

Switching a door from RH to LH will move a single side lite to the same side as the door knob, this seems to be the most common configuraton.  Of course a door with a double side lite will be symmetrical and it doesn't matter on the door handedness.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer


Medeek

Version 0.9.1b - 08.16.2018
- Configured the HTML "Draw Wall" menu to remember the previous settings.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

Version 0.9.1c - 08.17.2018
- Added an option in the Walls tab of the Global Settings to auto-load a wall preset within the HTML Draw Wall menu.



If the auto-load preset option is enabled then each time the draw tool is activated it will pull the parameters from the preset, otherwise the parameters will be per the previous wall drawn.

Note that the Auto-Load Wall Preset parameter only applies to the HTML draw menu.  If the graphical UI is not enabled then the legacy system is in place and there is no way to auto-load a preset.

Some may still find the HTML draw menu a bit overwhelming with all of its parameters.  I may add a +/- button at the top which will allow the user to shrink the menu so that only the presets are shown and possibly a few other options.  The menu configuration will then be memorized and will pop up the same as the previous configuration (large or small).  Along those same lines I should probably also provide a global settings which will allow the user to set the default behaviour of the menu configuration.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

Version 0.9.2 - 08.21.2018
- Added sidelites (double and single) for all door types.
- Enabled 5-lite (full glass) and 3-lite (half glass) grilles for door sidelites.



View model here:

https://3dwarehouse.sketchup.com/model/930bc1a3-1a33-4ad7-bd77-25b7d1218cbd/Door-Test-2

I will probably need to add a few more options for grilles for the sidelites and probably even a couple more parameters so that full glass sidelites can be mixed and matched with half glass doors, but I think I've got a decent start on this one for now.

Note, that sidelites can be moved to the right or left of the door (single sidelite) by changing the handedness of the door.

Both the door draw and door edit menus have been updated with this new feature.  The sidelite width can be set to any value and defaults to 12" (400mm) which seems to be the most common size.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

Featured on SketchUp Essentials (Justin Geis):

https://youtu.be/bhqMdXA77tM

Note that this video was made prior to the new HTML draw menu, so unfortunately it is already a bit dated.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

A few different grille and sidelite combinations:





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

Medeek

I'm often asked where did the name "Medeek" come from? So as an aside from the serious business of trusses and residential framing I should probably explain how this name sort of happened.

After I sold my web hosting business in 2006 I took up my native artwork for a spell and also spent a couple years researching the art form and many of the legends and stories behind these mythical creatures that we often draw.  The legend of Medeek is thought to have happened very near to my ancestral village and so I was naturally interested in it.

One of my prints I released in 2006 was a Medeek design (originally intended for a silver bracelet):



https://stoningtongallery.com/artwork/medeek-black-and-red/

The artwork I utilize in my logo and throughout my site is all my own work. 

The financial crash of 2008 pretty much put a hold on my art career but in a way it led me to my current projects within SketchUp.  Even though I enjoyed the artwork I also enjoy creating these plugins as much or perhaps even more.  What really drives me I guess is the ability to be able to create.  The SketchUp API allows me turn my ideas into reality, Thank-you SketchUp for having the vision and foresight to provide this important tool for developers like myself.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer


Medeek

Preview of the upcoming Material Manager in the Global Settings:



This will allow the defining of both color based and texture based materials that will then populate the various drop down menus of the plugin.

I am also including the ability to inactivate/activate a material so that it can be turned off without having to completely delete it.  Also the ability to fully edit a material or delete one will be included.

A 16x16 preview (thumbnail) of the material will be standard.  I will probably enable some sort of javascript element so that as you mouse over the thumbnail you are able to view a larger preview of the texture or color.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

MountainDon

Thanks for sharing the personal story
Just because something has been done and has not failed, doesn't mean it is good design.

Medeek

A preview of the "Add Material" sub-menu:



Fiddling around with HTML and Javascript is somewhat tedious and time consuming but I think the end result will be worth the effort.

I've never tried nesting modal HTML menus before so this has definitely been a learning experience.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

Version 0.9.3 - 08.26.2018
- Added a Custom Material Library/Manager in the Materials tab of the Global Settings.
- Enabled custom materials for sheathing, cladding and ext. wainscoting in the HTML wall draw and edit menus.

Being that this a completely new feature I may have missed something in my testing but overall I'm fairly happy with the way it has turned out.

Currently I am limiting image type (for textures) to .jpg or .png, but may extend it to other image types if the need arises.

As noted in the changelog notes above the custom materials are only able to be applied to sheathing, cladding, and wainscoting.  I will be extending this feature to other elements in the near future (ie. gypsum, trim, casing etc...)

Clicking on the status icon (red or green) will allow the toggling between inactive or active status.  If a material is listed as "inactive" it will not appear in the draw or edit menus and cannot be utilized in the model.  This feature has been included so that a user can define as many materials as they like but only activate a handful that they may need for a project, thereby keeping the drop down menus from becoming too cluttered.

One thing I have thought about doing is grouping materials within the material manager.  This would then allow the user to determine which materials get loaded into which drop down menu.  (ie. sheathing, cladding etc...)  I haven't implemented this yet since I haven't determined the best way to handle this yet within the interface but it is probably something for future releases.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

Version 0.9.3b - 08.29.2018
- Enabled the ability to group materials (in the Material Library) and control which drop down menu they will appear in.
- Added an SKM file import utility to the Material Library.

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