Medeek Wall Plugin
-
Now that I've found a natural break in the Truss plugin development I want to address the wall preset issue that has been dogging me for way too long.
My idea has always been to make the storage system for the presets manually editable by the user (if required) so I have simply stored the data as long strings of text in a simple text file (.txt)
Here is an example of a bunch of wall presets:
Medeek Wall Preset File 2|Stucco Rockwool|20210510115553|Int-Ext|Front|97.125|80.0|5.5|1.5|16.0|Left|0.0|2|1.5|1|1.5|NO|YES|Outside Corner|90.0|1.5|1|California|Stud Depth|YES|Outside Corner|90.0|1.5|1|California|Stud Depth|YES|YES|0.4375|FLUSH|YES|0.25|0.0|MITER|YES|5.0|NO|YES|0.0|0.0|0.0|0.0|0.0|ZIP_12|STUCCO_LIGHT_TAN|WALLGYPSUM|RKW|YES|NO|NO|NO|NO|0.5|WALLGYPSUM|NO|0.4375|FLUSH|ZIP_12|Center|YES|1|48.0|ON SHEATHING|0.75|YES|3.5|YES|3.5|YES|#ffffff|YES|3.5|0.75|NO|48.0|YES|5.5|0.75|NO|YES|7.25|0.75|YES|YES|0.75|1.25|36.0|4.0|1.0|MITER|BRICK_RED|YES|4.0|1.0|YES|0.0|0.0|MODE1|BRICK_RED|A|16.0|12.0|12.0|2.0|1.0|QUOIN 3|Stucco Pink|20210510124401|Int-Ext|Front|97.125|80.0|5.5|1.5|16.0|Left|0.0|2|1.5|1|1.5|NO|YES|Outside Corner|90.0|1.5|1|California|Stud Depth|YES|Outside Corner|90.0|1.5|1|California|Stud Depth|YES|YES|0.4375|FLUSH|YES|0.25|0.0|MITER|YES|0.5|YES|NO|0.0|0.0|0.0|0.0|0.0|OSB_FELT|STUCCO_LIGHT_TAN|WALLGYPSUM|PFG|NO|NO|NO|NO|NO|0.5|WALLGYPSUM|NO|0.4375|FLUSH|OSB_FELT|HDU8|0.0|SB78-24|24.0|BOTH|FRAMING|Center|YES|1|48.0|ON SHEATHING|0.75|YES|3.5|YES|3.5|YES|#ffffff|YES|3.5|0.75|NO|48.0|YES|5.5|0.75|NO|YES|7.25|0.75|YES|YES|0.75|1.25|36.0|4.0|1.0|MITER|BRICK_RED|YES|4.0|1.0|YES|0.0|0.0|MODE1|BRICK_RED|A|16.0|12.0|12.0|2.0|1.0|QUOIN 4|test2|20210510145752|Int-Ext|Front|97.125|80.0|5.5|1.5|16.0|Left|0.0|2|1.5|1|1.5|NO|YES|Outside Corner|90.0|1.5|1|California|Stud Depth|YES|Outside Corner|90.0|1.5|1|California|Stud Depth|YES|YES|0.4375|FLUSH|YES|0.25|0.0|MITER|YES|0.5|NO|NO|0.0|0.0|0.0|0.0|0.0|OSB|HARDI_CM_HM|WALLGYPSUM|PFG|NO|NO|NO|NO|NO|0.5|WALLGYPSUM|NO|0.4375|FLUSH|OSB|HDU8|0.0|SB78-24|24.0|BOTH|FRAMING|Center|YES|1|48.0|ON SHEATHING|0.75|YES|3.5|YES|3.5|YES|#ffffff|YES|3.5|0.75|NO|48.0|YES|5.5|0.75|NO|YES|7.25|0.75|YES|YES|0.75|1.25|36.0|4.0|1.0|MITER|BRICK_RED|YES|4.0|1.0|YES|0.0|0.0|MODE1|BRICK_RED|A|16.0|12.0|12.0|2.0|1.0|QUOIN 5|4/2 Wall|20210510145837|Int-Ext|Front|97.125|80.0|5.5|1.5|16.0|Left|0.0|2|1.5|1|1.5|NO|YES|Outside Corner|90.0|1.5|1|California|Stud Depth|YES|Outside Corner|90.0|1.5|1|California|Stud Depth|YES|YES|0.4375|FLUSH|YES|0.25|0.0|MITER|YES|0.5|NO|NO|0.0|0.0|0.0|0.0|0.0|OSB|HARDI_CM_HM|WALLGYPSUM|PFG|NO|NO|NO|NO|NO|0.5|WALLGYPSUM|NO|0.4375|FLUSH|OSB|HDU8|0.0|SB78-24|24.0|BOTH|FRAMING|Center|YES|1|48.0|ON SHEATHING|0.75|YES|3.5|YES|3.5|YES|#ffffff|YES|3.5|0.75|NO|48.0|YES|5.5|0.75|NO|YES|7.25|0.75|YES|YES|0.75|1.25|36.0|4.0|1.0|MITER|BRICK_RED|YES|4.0|1.0|YES|0.0|0.0|MODE1|BRICK_RED|A|16.0|12.0|12.0|2.0|1.0|QUOIN 6|120wall|20210606121902|Int-Ext|Front|120.0|80.0|5.5|1.5|16.0|Left|0.0|2|1.5|1|1.5|NO|YES|Outside Corner|90.0|1.5|1|California|Stud Depth|YES|Outside Corner|90.0|1.5|1|California|Stud Depth|YES|YES|0.4375|FLUSH|YES|0.25|0.0|MITER|YES|0.5|NO|NO|0.0|0.0|0.0|0.0|0.0|OSB|HARDI_CM_HM|WALLGYPSUM|PFG|NO|NO|NO|NO|NO|0.5|WALLGYPSUM|NO|0.4375|FLUSH|OSB|HDU8|0.0|SB78-24|24.0|BOTH|FRAMING|Center|YES|1|48.0|ON SHEATHING|0.75|YES|3.5|YES|3.5|YES|#ffffff|YES|3.5|0.75|NO|48.0|YES|5.5|0.75|NO|YES|7.25|0.75|YES|YES|0.75|1.25|36.0|4.0|1.0|MITER|BRICK_RED|YES|4.0|1.0|YES|0.0|0.0|MODE1|BRICK_RED|A|16.0|12.0|12.0|2.0|1.0|QUOIN 7|150HD|20210606122002|Int-Ext|Front|150.0|80.0|5.5|1.5|16.0|Left|0.0|2|1.5|1|1.5|NO|YES|Outside Corner|90.0|1.5|1|California|Stud Depth|YES|Outside Corner|90.0|1.5|1|California|Stud Depth|YES|YES|0.4375|FLUSH|YES|0.25|0.0|MITER|YES|0.5|NO|YES|0.0|0.0|0.0|0.0|0.0|OSB|HARDI_CM_HM|WALLGYPSUM|PFG|NO|NO|NO|NO|NO|0.5|WALLGYPSUM|NO|0.4375|FLUSH|OSB|HDU8|0.0|SB78-24|24.0|BOTH|FRAMING|Center|YES|1|48.0|ON SHEATHING|0.75|YES|3.5|YES|3.5|YES|#ffffff|YES|3.5|0.75|NO|48.0|YES|5.5|0.75|NO|YES|7.25|0.75|YES|YES|0.75|1.25|36.0|4.0|1.0|MITER|BRICK_RED|YES|4.0|1.0|YES|0.0|0.0|MODE1|BRICK_RED|A|16.0|12.0|12.0|2.0|1.0|QUOIN 8|150BLKHD|20210606122102|Int-Ext|Front|150.0|80.0|5.5|1.5|16.0|Left|0.0|2|1.5|1|1.5|NO|YES|Outside Corner|90.0|1.5|1|California|Stud Depth|YES|Outside Corner|90.0|1.5|1|California|Stud Depth|YES|YES|0.4375|FLUSH|YES|0.25|0.0|MITER|YES|0.5|NO|YES|0.0|0.0|0.0|0.0|0.0|OSB|HARDI_CM_HM|WALLGYPSUM|PFG|YES|NO|NO|NO|NO|0.5|WALLGYPSUM|NO|0.4375|FLUSH|OSB|HDU8|0.0|SB78-24|24.0|BOTH|FRAMING|Center|YES|1|48.0|ON SHEATHING|0.75|YES|3.5|YES|3.5|YES|#ffffff|YES|3.5|0.75|NO|48.0|YES|5.5|0.75|NO|YES|7.25|0.75|YES|YES|0.75|1.25|36.0|4.0|1.0|MITER|BRICK_RED|YES|4.0|1.0|YES|0.0|0.0|MODE1|BRICK_RED|A|16.0|12.0|12.0|2.0|1.0|QUOIN
Notice how I've used the vertical bar to separate the values/parameters, any deliminator could be used but the vertical bar is not something one would use typically in any of the fields as values so it makes for a convenient choice.
This system works well enough for storing and retrieving the data however the huge downside is that it is an ordered array of values and if I add in a new parameter (somewhere in the middle) then it throws off previous versions of preset files (ie. no backward compatibility).
I need a better way or method of storing this data. It can't be binary since it needs to be visible to the user but it needs to be either some sort of structure, hash or XML so that I can easily add additional parameters to the system when required.
Any suggestions?
-
@medeek said:
Any suggestions?
my 10c (excl. taxes)
The external user editable file is a great idea, but looking at the TXT file example I don't think someone will want to play with it, it's not clear what the various parameters each do (it might be to some though).
Perhaps consider writing a multi-platform app that interpret all of it (read and write) with a friendly user interface. I guess this brings you back to the extension really then? Keeping the external file with the saved settings would still be handy and can be readily backed up.
If you really want to have the parameters manually editable, perhaps a comprehensive guide would be sufficient? You don't need to teach construction or regulations, just explain (with examples perhaps) what the various parameters do.
-
I’m thinking I could probably preserve my overall system as is and just use a custom text method rather than JSON or some other more cumbersome system.
I agree the current text file only includes the value and not the key so it is hard to interpret even for myself.
Essentially the first two parameters would remain the same (ie. preset number and preset name).
However all of the other entries (that are deliminated by the vertical bars) would change from a simple value to a key/value pair.
For example instead of
|Int-Ext|
I would change it to
|walltype=Int-Ext|
The equal sign would become the secondary deliminator. I can still store the entire string as a single line in my text files however it will become approximately double in length (no big deal).
I can then split the string into an array and then run a foreach on the array and turn it into a hash, from there it is just a matter of pulling data from the the hash.
Any thoughts on this plan and possible flaws I may have overlooked?
-
Stacked windows and doors have been a topic a few times on this thread and I have incrementally improved the algorithms so that the plugin can deal with them.
However there still exists the situation where you have openings stacked that are not aligned or possibly the same size:
My feeling is one should avoid this type of situation in ones design but apparently it comes up often enough that I find myself fielding questions on how best to deal with this type of configuration. Currently the easiest way to deal with it is to use the Trim and Split tool available in Truss plugin so that you end up with something like this:
The problem with this is that we are now back to manual edits and we lose the parametrics of the plugin, so the solution is not really acceptable for many, myself included.
1.) My first question is how common is this sort of thing and is it something I should worry about? No point in spending a lot of time on a specific framing situation that is only the concern of less that 5% of the user base.
2.) The next question assuming that question #1 is the affirmative is how best to frame out this sort of situation. Is what I have in the second screenshot the correct way to handle this?
-
Tutorial 22 - Wall Copy Tool (6:21 min.)
-
Version 2.2.6 - 08.01.2021
- Fixed a minor bug with tee intersections for all wall types.
-
Version 2.2.7 - 08.03.2021
- Added insulation to the Medeek Estimator for rectangular walls.
-
Version 2.2.8 - 08.04.2021
- Fixed a bug with blocking and insulation for portal frame garage doors within rectangular walls.
Portal frames add a good deal of complexity to the framing, blocking and insulation. Some of the details were not completely worked out previously. I think I now have most if not all of these issues addressed.
I also may need to spend some additional time on the holdown placement when multiple portal frames are adjacent to each other like in the example shown.
-
mdkBIM Tutorial 1: Modeling a Two Car Detached Garage (41:14 min.)
A few issues popped out during the making of this tutorial:
1.) Portal frame holdown placement, custom deletion and redundancy, feedback required.
2.) Wall copy tool did not copy the insulation option setting.
3.) The insulation algorithm seems inconsistent when dealing with tee intersections.View garage model here:
https://3dwarehouse.sketchup.com/model/58091575-f451-4c3e-af1c-934b28cecefe/Garage-4
-
Version 2.2.9 - 08.06.2021
- Fixed a bug with framing, blocking and insulation for tee intersections for all wall types.
- Fixed a minor bug with six panel doors when the door vertical offset is a non-zero value.
This resolves the issue #3 noted in the recent mdkBIM tutorial. I would highly recommend installing this latest update.
-
Version 2.3.0 - 08.08.2021
- Fixed a bug with wall presets for rectangular walls.
!!!! CRITICAL BUG FIX !!!!
If you are using wall presets with rectangular walls and have upgraded to Version 2.2.4 or later then you will want to upgrade to this latest version which rectifies a bug introduced in Version 2.2.4. -
Version 2.3.1 - 08.09.2021
- Added a vertical offset parameter for cladding material for gable walls.
- Added a vertical offset parameter for "Log" and "Shiplap" cladding materials for gable walls.
- Added a horizontal offset parameter for cladding material for gable walls.
- Added a horizontal offset parameter for "Board and Batten" and "Metal" 3D cladding materials for gable walls.
-
Version 2.3.2 - 08.12.2021
- Added a vertical offset parameter for cladding material for shed and hip walls.
- Added a vertical offset parameter for "Log" and "Shiplap" cladding materials for shed and hip walls.
- Added a horizontal offset parameter for cladding material for shed and hip walls.
- Added a horizontal offset parameter for "Board and Batten" and "Metal" 3D cladding materials for shed and hip walls.
Some rather tedious code updates but important that these wall types have all the options of the rectangular wall type.
-
Version 2.3.3 - 08.17.2021
- Fixed a minor bug with sliding glass doors when the door vertical offset is a non-zero value.
-
Version 2.3.4 - 08.18.2021
- Added logic into the add and edit menus to prevent users from using single and double quotes in beam and header names.
- Added logic into all HTML menus to prevent users from using vertical bars in beam and header names and within preset names.
-
Version 2.3.5 - 08.21.2021
- Fixed a bug with Simpson Strong Walls when "Terminal" wall end conditions are used in a wall assembly.
- Modified the "Edit Wall Assembly" context menu tool so that it behaves similar to the "Edit Wall" tool.
- Fixed a bug with the wall stretch tool so it now allows for wall stretch or shrinks that are less than 3".
- Enabled spaced headers (2 ply or 3 ply) for windows, doors and garages by using the key word "FILL" in the header description.
*Note, that the header must by a 2 ply or 3 ply header to use a spacer as shown. Also the header description must include a string in this format "FILL_OSB_0.375" or "FILL_PLY_0.4375". The second term is either OSB or PLY which will determine the material to use as the spacer. The third term is the thickness of the spacer (ie. 0.25, 0.375, 0.4375, 0.5 etc...). In a metric template you can specify the spacer thickness in millimeters instead of inches.
-
Version 2.3.6 - 08.23.2021
- Enabled a trim option for wrapped free standing columns.
The trim combined with the cap or astragal can give even more variations.
-
Version 2.3.7 - 08.28.2021
- Added gable walls to the Medeek Estimator.
- Fixed a MacOS/Windows bug with the wall justification hotkey for all wall types.
I still need to add in Shed and Hip walls but it will go much quicker now that I have the gable walls as a template.
-
Version 2.3.8 - 08.29.2021
- Added shed and hip walls to the Medeek Estimator.
- Adjusted the auto-corner configuration algorithm to better predict terminal wall configurations when three walls come together at an inside or outside corner.
When multiple walls come together at a corner or junction it is arguably quite hard to predict the intent and desired configuration of the builder/designer/user.
I think what I have now addresses the immediate issue where a tee intersection was being created instead of a terminal connection, per the previous discussion.
I will need to continue to test this new algorithm further (put it through its paces) and also receive additional feedback from users. If you notice anything that appears unpredictable or counter-intuitive please feel free to email me so we can discuss.
-
Version 2.3.9 - 08.31.2021
- Added a window clearance (shim space) parameter within the Windows tab of the Globals Settings.
Previously the shim space or window clearance was hard coded in as 1/4" or 6.35mm. Now the user can customize this clearance between the rough opening framing and the window frame. If you do adjust this parameter you will probably also want to adjust the Window Trim Inset parameter so it matches, this way the window trim will butt up against the window frame tight.
This was a user requested update from New Zealand.
Advertisement