Medeek Wall Plugin


First look at the Custom Header Library (Manager):

The look and feel is somewhat similar to the material manager, but it may evolve further as we go.

I’ve set it up so that metric and imperial libraries are stored in completely separate files. Each library is loaded based on the currents units of the model. This allows one to maintain two distinct header libraries, one for imperial sizes and one for metric sizes.

Metric header sizes (dimensions) will be displayed in millimetres, imperial in inches.

Names or the description may include spaces as shown.

There are five basic parameters for a given header: name, depth, thickness, ply and material.

The ply is limited currently to 1,2 or 3.

Materials are limited to: Lumber, Timber, LSL, PSL, LVL

There are other more exotic header configurations (ie. foam sandwiches etc…) however this update will at least allow the user to create their own custom sized headers.

P.S. This is a fairly major change in the plugin which affects a lot of elements (doors, windows, garage doors) and a lot of menus (global settings, draw and edit). As such it will probably take me another day or two to make sure that I’ve updated everything affected by this change and it all works well together.

Another thing worth noting is that if you create a wall with a given header name (eg. 4X4) and then delete that header from your library, on purpose or even accidentally then the plugin will no longer be able to complete a lookup on that particular header name. If the plugin cannot find the header name in the library it will simply default to a 6x6 timber header by default. The purpose behind this behavior is that you can then go into the global settings update/edit a particular header and then regen your walls and they will update with the new parameters for the updated header.

Also these two words are reserved words and should not be used in naming your headers: GLULAM, NONE


I will be creating a new toolbar within the Wall plugin that will be called Medeek Documents. This will be the start of the Scenes/Layout piece of the mdkBIM package. Eventually I will pull this out of the Wall plugin since it will be similar to the Medeek Estimator in that it will eventually work with roofs, floors and foundations and not just wall panels.

The toolbar and its icons will be the following:

The first icon will allow the user to select various assemblies and generate corresponding scenes that can then be utilized within Layout. For example a framer or contractor may want framing details with dimensions for each wall panel.

The second icon will allow one to export DXF documents for floor plans, roof framing plans, wall framing plans etc… This one is going to be a big project.

The third icon will essentially do the same thing as the DXF export function however it will automatically push it out to a PDF document using the built in Ruby Gem (Prawn). Again this will be a big project as well.

The DXF and PDF function are rather low on the todo list for now, but I would like to enable the scene generator as soon as possible and after reviewing the applicable sections of the SketchUp API it shouldn’t require more than a few lines of code to pull it off.


The three new header types being added are:

LVL, PSL and Timber

The thing I really like about having the Custom Library is that I no longer have to worry about trying to figure out what header sizes and combinations everyone wants. Now you can create your own sizes with a choice of 1 thru 3 plies and five different materials to choose from. The possibilities are limitless.

I had a pretty good handle on standard imperial sizes but the metric world was well beyond the scope of my limited knowledge of other countries building practices and standards.

The other upside is that you can narrow down the library to specific sizes you actually use so your drop downs are no longer cluttered with sizes that mean nothing to you.

Glulam headers are not handled by the custom library and remain a separate module but the offering there is vast so I do not think users will find it limiting in any way.


The scene generator will take advantage of layers and styles?


Yet to be determined how this module/plugin will evolve.


Version 1.0.5 - 03.05.2019

  • Added toolbar icons for “Documents” module.
  • Added a Custom Header Library/Manager in the Headers tab of the Global Settings.
  • Enabled custom headers for doors, windows and garage doors.
  • Enabled three new header materials: LVL, PSL, and Timber.

Just a word of warning for those users on MacOS. The headers tab of the global settings (Page 2) will probably exhibit the same issue with the HTML menus as the Material Library. I am still trying to come up with a proper work around in the code that fixes the modal behavior on MacOS and so far it has confounded my best efforts.

What this means is that you will probably not be able to add or edit headers in the library currently if you are a Mac user. I sincerely apologize for the inconvenience and I am just as frustrated with this issue as you are right now.

In the meantime if you need to (manually) edit the header libraries they are stored in the “library_headers” sub-folder of the plugin. There are two files, one is for imperial headers and one is for metric headers. Either file is a simple text filed deliminated by vertical bars.

The text files can be edited in any text editor (eg. notepad, wordpad, TextEdit etc…)

Each row or line of the library file contains seven columns or entries.

The first the row is the header name with “mdkheader_” prefix attached.

The second row is the header name.

The third row is the header depth (in./mm)

The fourth row is the header thickness (in./mm)

The fifth row is the header ply (1,2 or 3)

The sixth row is the header material (LUMBER, TIMBER, LSL, PSL, or LVL)

The seventh row is the header status (ACTIVE or INACTIVE)

Note that the material library can also be modified manually however if textures are involved it becomes slightly more complicated as you would also need to place a copy of the image file in the “library_mats” sub-folder along with editing the MATERIAL_LIBRARY.txt file.


I had an interesting suggestion on my other board that I thought might be useful sharing here:

Within the “Draw Rectangular Wall Assembly” dialog (for that matter any dialog with an “Update” button), consider changing text to a red color when a parameter has been changed but before the “Update” button has been pressed. In this way you can see all the changes you have made before hitting “Update”. Red text also indicates that if you start to draw a wall, then you are not using the “red” updated parameter.

I think this might be something that would make the menu systems a bit more intuitive.

Any feedback on this would be helpful.


I’m testing out the concept in one of the electrical plugin menus since there is considerably less parameters and much faster to set it up so I can prototype the concept:

It’s actually really easy to implement with two very small javascript functions.

I think a slightly different shade of red though, its a bit red for me, thoughts?

When you change any of the parameters it toggles the input to red. When you click the Update button they all become white again.


I’ve rolled out an update to the Electrical plugin (Version 0.9.5) with what I call parameter change highlighting.

If it is well received then I will make this same feature available with the draw menus of the wall plugin.


How about orange or yellow (for caution)?


I think the thing to do here is provide a color parameter in the global settings where the user can set the highlighting color to any custom RGB value.


Version 1.0.6 - 03.06.2019

  • Added the option for no trimmers for windows and doors (Advanced Framing).
  • Fixed a bug with the HTML window edit menu.

You also have the option to turn on/off sill trimmers (shown as off in the image). This should allow designers/framers more flexibility and better enable advanced framing or Value Engineering.


Version 1.0.6b - 03.07.2019

  • Parameter change highlighting enabled for wall draw menu.
  • Parameter hightlight (input) color added to General tab of global settings.

To disable this feature just set the input color to #ffffff (white). This update is per user request.

This feature is still quite new and once I am satisfied with it and receive enough feedback I will roll the same behavior out to the other HTML menus within the plugin. This is relevant to all HTML edit, draw and global settings menus.


Just had a nice chat with my Australian point of contact and covered some new items as well as existing ones. Below is a summary of items that need further attention:

1.) Customize the naming of groups within a wall. Currently the names assigned to each group within a wall panel is hard coded into the plugin. Naming of groups can be toggled on or off currently but one cannot customize the naming scheme.

2.) The estimating module is a good start but we need totals not just per wall quantities.

3.) When upgrading the plugin the user needs to retain wall presets, custom header library, custom material library. I will probably need to move these sub-folders outside of the plugin folder so the information is not blown away when a user upgrades the plugin.

4.) In Australia the top plates are not typically lapped as they are in the United States and Canada. I will need to make an option to toggle this behavior on an off.

5.) Ability to reset or change the wall and beam count/enumeration. (Version 1.0.7b)

6.) Ability to toggle the wall labels from on top of the wall to in front of the wall as well as customize the size of the text.

7.) Toggle the numbering/enumeration of studs, blocks etc… this is related to item #1 above.

8.) Tee intersection blocking. There are many permutations but maybe we just start with one method and see how it goes.

9.) Need to have the gable/rake and shed wall.


Version 1.0.7 - 03.09.2019

  • Added the ability to generate wall (framing) elevations with the Create Scenes tool of the Medeek Documents module.

You can select the wall panels you want scenes for or click the “Select All” button to automatically grab all of the Medeek wall panels in the model.

This tool is quite basic at the moment but I’ve set it up so a myriad of options can be added as needed per customer request.

Note that when you create the scenes you first want to toggle the appropriate layers first in your model (or Scene 1) then create the scenes. I haven’t added any specific logic in for making specific layers visible or invisible yet, but I probably will once I receive a bit more feedback on this feature.

The elevations are obviously shown in parallel projection with the view or “eye” always looking at the exterior side of the wall, so that the start of the wall is always on the left side.

Items for future work include but are not limited to: floor plans, floor framing plans, roof framing plans, foundation plans, electrical plans etc…

Along with the framing elevations I have requests by a number of users to add in some form of auto-dimensioning of the wall panels. I will give this further consideration.


Tutorials and webinars at your earliest convenience, sir.


Version 1.0.7b - 03.10.2019

  • Added the indexing parameter for walls and beams to the General tab of the global settings.

The indexing parameter is the auto-increment variable that determines the enumeration of the wall panels and beams (eg. Wall1, Wall2, Wall3 etc…)

Now you can set this value to any number you choose (must be an integer) or reset it at anytime.

Also note that any wall or beam label can be modified at anytime in the edit menus.

Exposing the indexing parameters to the user just makes it more convenient if for whatever reason you want to start your count over or set it to a specific value.


I was planning on a webinar this last week but then everyone came down with a flu/cold bug. I thought I was safe since I did get my flu shot but this weekend has been a little rough. We will see how this next week looks. I may do an introductory webinar just to test out the system so I don’t expect a high attendance and it will be short notice (48 hrs). I will post on the board as soon as I have a date and time.


First look at a framing elevation created with the Scene generator and framing dimensions turned on:

In wall columns and shearwalls will also be auto-dimensioned when the framing dimensions are enabled.

The API does not allow for the setting of fonts, text height and dimension size however one can easily setup their preferred dimension and unit options under the Model Info tab and then the dimensions created by the plugin automatically inherit these settings.

In this example I used the Flux Architect font with the dimension aligned to the dimension line and above it, font size 12 PT.

I will be setting up an additional layer just for framing dimensions so that they can be toggled on/off independent of other callouts and labels.

Also the offset or spacing between dimensions will be able to be set in the global settings.

I will probably need to add a few more dimensions that are not shown in this image (eg. header height, initial stud offset).


Garage doors and top plate offsets: