• Login
sketchucation logo sketchucation
  • Login
🤑 SketchPlus 1.3 | 44 Tools for $15 until June 20th Buy Now

3D Truss Models

Scheduled Pinned Locked Moved Plugins
1.5k Posts 31 Posters 869.7k Views 30 Watching
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Offline
    medeek
    last edited by 1 Oct 2019, 09:51

    After struggling with the code for almost 8 hours I give you a fully parametric, asymmetric complex roof (primitive):

    http://design.medeek.com/resources/trussplugin/images/truss_su542_800.jpg

    View model here:

    Link Preview Image
    3D Warehouse

    3D Warehouse is a website of searchable, pre-made 3D models that works seamlessly with SketchUp.

    favicon

    (3dwarehouse.sketchup.com)

    I will now need to spend a day or two just trying to break it and I also need to enable the gable end option.

    All of the menus and tools are working correctly now and seem to be quite robust. I will spend the next couple of days finishing up the roof primitive geometry (and testing). After that I would like to enable sheathing and cladding along with the roof labels and then I will probably release an update so everyone can test it out further and help me unearth any bugs I may have missed.

    Nathaniel P. Wilkerson PE
    Medeek Engineering Inc
    design.medeek.com

    1 Reply Last reply Reply Quote 0
    • M Offline
      medeek
      last edited by 1 Oct 2019, 22:15

      If you take a look at these two roofs you will notice that in the second case the lower ridge has degenerated into the steeper roof plane:

      http://design.medeek.com/resources/trussplugin/images/truss_su544_800.jpg

      http://design.medeek.com/resources/trussplugin/images/truss_su543_800.jpg

      I didn't think it was possible but there are certain configurations where a standard straight skeleton will not generate the expected roof. This is a good example of that.

      The complex roof module will not be able to automatically handle these types of situations.

      This is where the secondary roof module will need to come in.

      Nathaniel P. Wilkerson PE
      Medeek Engineering Inc
      design.medeek.com

      1 Reply Last reply Reply Quote 0
      • M Offline
        medeek
        last edited by 1 Oct 2019, 23:12

        Throwing all sorts of curve balls at this module to see if I can break it. Ultimately one can always break anything if you try hard enough, especially with something as complex as some of these roofs get.

        Overall I'm pretty happy with it, I've addressed the issue with inside corners and now all is working as expected. Here is a recent test example of a roof with planes and pitches all over the place:

        http://design.medeek.com/resources/trussplugin/images/truss_su545_800.jpg

        View model here:

        Link Preview Image
        3D Warehouse

        3D Warehouse is a website of searchable, pre-made 3D models that works seamlessly with SketchUp.

        favicon

        (3dwarehouse.sketchup.com)

        That being said there is always further testing that can be done. I'm sure there is some state I have not thought of that someone will get the plugin into that will break it.

        I think it is time to move on to the gable end option. Once I get that working I think the utility of this new module will start to become apparent.

        Nathaniel P. Wilkerson PE
        Medeek Engineering Inc
        design.medeek.com

        1 Reply Last reply Reply Quote 0
        • M Offline
          medeek
          last edited by 2 Oct 2019, 00:02

          I haven't quite started into the framing geometry just yet but I'm already one step ahead thinking about how certain junctions are going to need to be framed up.

          Two hip rafters meeting at a ridge is pretty standard and I think I have that one handled however the junction where a valley rafter meets a flying hip and ridge is a little more uncertain. Any information on how some of these framing junctions should be made would be very helpful.

          Nathaniel P. Wilkerson PE
          Medeek Engineering Inc
          design.medeek.com

          1 Reply Last reply Reply Quote 0
          • M Offline
            medeek
            last edited by 2 Oct 2019, 07:52

            Gable End option (within the edit roof panel menu) is now providing stable results:

            http://design.medeek.com/resources/trussplugin/images/truss_su546_800.jpg

            View model here:

            Link Preview Image
            3D Warehouse

            3D Warehouse is a website of searchable, pre-made 3D models that works seamlessly with SketchUp.

            favicon

            (3dwarehouse.sketchup.com)

            The roof primitive module for asymmetric complex roofs with gable and hip ends is now complete. Granted there is still room for additional options like dutch gable and half hips but I will leave those for another day.

            I will now turn my attention to sheathing and cladding as well as the roof plane labels (name and sqft).

            One thing I forgot to add into the overall roof parameters/options is anything for battens and cross battens. I can add it in if I receive some positive feedback on that feature, otherwise I will move on and start into the sheathing module first thing tomorrow.

            Nathaniel P. Wilkerson PE
            Medeek Engineering Inc
            design.medeek.com

            1 Reply Last reply Reply Quote 0
            • M Offline
              medeek
              last edited by 2 Oct 2019, 08:22

              Version 2.5.1 - 10.02.2019

              • Enabled the "Edit Roof Plane" tool, allowing for customized roof planes within complex roof assemblies.
              • Added the gable end option for complex roofs within the "Edit Roof Panel" tool/menu.

              Nathaniel P. Wilkerson PE
              Medeek Engineering Inc
              design.medeek.com

              1 Reply Last reply Reply Quote 0
              • M Offline
                medeek
                last edited by 3 Oct 2019, 09:24

                Version 2.5.1b - 10.03.2019

                • Added logic so that customized roof planes can co-exist with the "Move Roof Edge" and "Edit Roof Outline" tools of the complex roof module.

                Previously, moving roof edges would potentially shift the customized roof planes if certain roof edges were removed or consolidated. I think we have now achieved a fully parametric status with the various tools all working together.

                Nathaniel P. Wilkerson PE
                Medeek Engineering Inc
                design.medeek.com

                1 Reply Last reply Reply Quote 0
                • M Offline
                  medeek
                  last edited by 3 Oct 2019, 20:52

                  After giving it some further consideration I’ve decided to enable dutch gable and half hip options for custom roof planes rather than leave it for later. If I include these options now it will force me to keep my other more specific algorithms general enough to handle all cases. The geometry calcs required to generate the roof primitive for these two other configurations is really not that difficult and actually provides a rather intriguing challenge.

                  Nathaniel P. Wilkerson PE
                  Medeek Engineering Inc
                  design.medeek.com

                  1 Reply Last reply Reply Quote 0
                  • M Offline
                    medeek
                    last edited by 4 Oct 2019, 06:01

                    First look at half hip complex roofs:

                    http://design.medeek.com/resources/trussplugin/images/truss_su548_800.jpg

                    (textures added to roof primitive for effect)

                    Notice the additional "setback" parameter in the menu. Also a half hip roof plane has both hip and gable parameters with the non-applicable parameters grayed out, as shown.

                    Similar to a gable end, the half hip can only be applied to certain roof planes, the plugin automatically restricts this placement.

                    The overhang of the half hip is governed by the gable overhang parameter, hence the overhang under the hip options is grayed out.

                    Now, on to the dutch gable...

                    Nathaniel P. Wilkerson PE
                    Medeek Engineering Inc
                    design.medeek.com

                    1 Reply Last reply Reply Quote 0
                    • M Offline
                      medeek
                      last edited by 4 Oct 2019, 08:47

                      First look at dutch gable complex roofs:

                      http://design.medeek.com/resources/trussplugin/images/truss_su549_800.jpg

                      (textures added to roof primitive for effect)

                      After I setup the system for the half hip this one fell out without too much trouble.

                      View model here:

                      Link Preview Image
                      3D Warehouse

                      3D Warehouse is a website of searchable, pre-made 3D models that works seamlessly with SketchUp.

                      favicon

                      (3dwarehouse.sketchup.com)

                      Now it is time to move on to the sheathing and cladding, but first I need to add in some options for battens and cross battens.

                      Nathaniel P. Wilkerson PE
                      Medeek Engineering Inc
                      design.medeek.com

                      1 Reply Last reply Reply Quote 0
                      • M Offline
                        medeek
                        last edited by 4 Oct 2019, 09:25

                        Version 2.5.2 - 10.04.2019

                        • Added the half hip option for complex roofs within the "Edit Roof Plane" tool/menu.
                        • Added the dutch gable option for complex roofs within the "Edit Roof Plane" tool/menu.
                        • The "Edit Roof Plane" tool has been made non-persistent to further improve stability.

                        (Click on image for animation)

                        ROOF_PLANE_EDIT1.gif

                        Nathaniel P. Wilkerson PE
                        Medeek Engineering Inc
                        design.medeek.com

                        1 Reply Last reply Reply Quote 0
                        • M Offline
                          medeek
                          last edited by 5 Oct 2019, 07:41

                          First look at roof sheathing:

                          http://design.medeek.com/resources/trussplugin/images/truss_su550_800.jpg

                          Roof cladding is a little more involved because of the cladding extension parameter.

                          Nathaniel P. Wilkerson PE
                          Medeek Engineering Inc
                          design.medeek.com

                          1 Reply Last reply Reply Quote 0
                          • M Offline
                            medeek
                            last edited by 5 Oct 2019, 10:40

                            A few more kinks to work out in the sheathing module, but overall it is working better than expected and it wasn't nearly as hard to code as I initially thought it would be.

                            View model here:

                            Link Preview Image
                            3D Warehouse

                            3D Warehouse is a website of searchable, pre-made 3D models that works seamlessly with SketchUp.

                            favicon

                            (3dwarehouse.sketchup.com)

                            Still a bit more work to do with sheathing when the dutch gable option is utilized. As you can tell from the model the sheathing is not tucking under the gable end overhang just yet. I will be addressing this tomorrow.

                            Nathaniel P. Wilkerson PE
                            Medeek Engineering Inc
                            design.medeek.com

                            1 Reply Last reply Reply Quote 0
                            • M Offline
                              medeek
                              last edited by 5 Oct 2019, 23:59

                              The rebuild time on this model takes about 1.5 seconds. That is just with the roof primitive and sheathing.

                              http://design.medeek.com/resources/trussplugin/images/truss_su551_800.jpg

                              The question is what will the rebuild time be like for a model/roof this complex when all of the rafters and other accoutrements are included?

                              View model here:

                              Link Preview Image
                              3D Warehouse

                              3D Warehouse is a website of searchable, pre-made 3D models that works seamlessly with SketchUp.

                              favicon

                              (3dwarehouse.sketchup.com)

                              Nathaniel P. Wilkerson PE
                              Medeek Engineering Inc
                              design.medeek.com

                              1 Reply Last reply Reply Quote 0
                              • M Offline
                                medeek
                                last edited by 6 Oct 2019, 06:42

                                Version 2.5.3 - 10.05.2019

                                • Added sheathing for complex roofs.
                                • Fixed the sheathing at the gable overhang for dutch gable complex roofs.

                                http://design.medeek.com/resources/trussplugin/images/truss_su552_800.jpg

                                As shown in the image the sheathing with a dutch gable roof tucks up under the overhanging gable end.

                                View model here:

                                Link Preview Image
                                3D Warehouse

                                3D Warehouse is a website of searchable, pre-made 3D models that works seamlessly with SketchUp.

                                favicon

                                (3dwarehouse.sketchup.com)

                                With this fix I think we are now 100% with the sheathing. I will begin the cladding next.

                                Nathaniel P. Wilkerson PE
                                Medeek Engineering Inc
                                design.medeek.com

                                1 Reply Last reply Reply Quote 0
                                • M Offline
                                  medeek
                                  last edited by 6 Oct 2019, 07:41

                                  I've been thinking about connecting roofs together, for example a gable roof connecting to another building where the roof meets the wall. For this type of scenario it might be useful to have an option for a cutoff end (gable end with no overhang etc... I'm not sure exactly what to call this.

                                  P.S.

                                  It's funny where my thoughts take me when I take a breather from the code, I guess even when I'm on break I'm still contemplating what needs to be done with these plugins. I just realized that I can enable one additional option in addition to all the other options (ie. gable, dutch gable, half hip). I will call this a "CONNECTION". Basically you will be able to connect one roof to another (secondary roof). However, rather than having a separate module for the secondary roof I just realized that with the connection option complex roofs can become secondary roofs, so an additional module is not necessary.

                                  I will need to give this considerably more thought but I think this direction I need to go. There will need to be some options for connection type (another roof, a wall or a roof and a wall). I will need to explore the possibilities, this is going to get interesting.

                                  Nathaniel P. Wilkerson PE
                                  Medeek Engineering Inc
                                  design.medeek.com

                                  1 Reply Last reply Reply Quote 0
                                  • M Offline
                                    medeek
                                    last edited by 6 Oct 2019, 19:26

                                    If things weren't complicated enough with complex roofs, they just got a lot more complicated.

                                    Rather than having two or three different types of connections I think it makes more sense to sub divide it into two additional options and then a connection is simply a connection. You end up with two additional options: TERMINAL and CONNECTION

                                    With terminal it is very similar to a gable end however the roof just ends, no overhangs, no outlookers etc... This would be used when framing the roof up to a wall that is parallel to the roof edge. Theoretically this same type of roof could be achieved with the CONNECTION option however it would remove the requirement for selecting a primary roof (or solid) to connect to, and just simply end the roof in a squared off fashion.

                                    The CONNECTION option is a bit more interesting. To get the results that we want we need to make this end treatment as general as possible. One could potentially connect to any group or component in the model or to another Medeek complex roof assembly. I will need a tool within a tool which allows the user to select the primary roof/object that they would like to connect to.

                                    1. If the selected group is a Medeek roof assembly then the primary roof will also store that it is being connected to by a secondary roof, and the secondary roof will list the instance name of the primary roof it is connecting to.

                                    2. If the selected group or component (must be a solid) is a non-Medeek roof assembly it will also store and list the instance name of the primary object that the roof is connecting to.

                                    Here are shown a couple of possible connection scenarios:

                                    http://design.medeek.com/resources/trussplugin/images/truss_su554_800.jpg

                                    Connecting to another complex roof at an oblique angle and below the fascia line.

                                    http://design.medeek.com/resources/trussplugin/images/truss_su553_800.jpg

                                    Connecting to a non-Medeek roof (solid group).

                                    To keep this option from completely spiraling out of control we must make the assumption that the only roof planes impacted by the connection will be the two adjacent and orthogonal roof planes that are either side of the connection roof edge (the connecting roof plane technically does not exist). I'm sure there will be users who try to subvert this requirement in certain design situations, so some logic to check this limitations may need to be implemented.

                                    Nathaniel P. Wilkerson PE
                                    Medeek Engineering Inc
                                    design.medeek.com

                                    1 Reply Last reply Reply Quote 0
                                    • M Offline
                                      medeek
                                      last edited by 6 Oct 2019, 21:06

                                      When you are connecting a roof into an arbitrary solid (ie. walls) you may end up with something like this:

                                      http://design.medeek.com/resources/trussplugin/images/truss_su555_800.jpg

                                      View model here:

                                      Link Preview Image
                                      3D Warehouse

                                      3D Warehouse is a website of searchable, pre-made 3D models that works seamlessly with SketchUp.

                                      favicon

                                      (3dwarehouse.sketchup.com)

                                      You will notice I've modified the roof primitive to emphasize the gable overhang. The key takeaway is that a roof connection should be treated like a gable end condition but with a certain amount subtracted away. That way if you do have a situation like the one shown, you will get your rakeboard etc... The trick of course is too make sure the logic is smart enough to identify these potential configurations and then adjust for them.

                                      Nathaniel P. Wilkerson PE
                                      Medeek Engineering Inc
                                      design.medeek.com

                                      1 Reply Last reply Reply Quote 0
                                      • M Offline
                                        medeek
                                        last edited by 6 Oct 2019, 23:02

                                        First look at roof sheathing:

                                        http://design.medeek.com/resources/trussplugin/images/truss_su556_800.jpg

                                        I've exploded the model so you can get a better idea of all the elements in the assembly.

                                        Note, that the roof outline group will always be at the same Z height as your input points or (top of wall plate).

                                        Due to overhangs and your roof pitch the roof primitive may extend below the outline, hence the reason I hide the roof primitive layer when initiating the edge move tool or roof plane edit tool.

                                        For cladding I still need to do some work due to the roof extension parameter, this complicates the geometry slightly since the cladding is not based on the same face (edge points) as the sheathing is.

                                        Nathaniel P. Wilkerson PE
                                        Medeek Engineering Inc
                                        design.medeek.com

                                        1 Reply Last reply Reply Quote 0
                                        • M Offline
                                          medeek
                                          last edited by 7 Oct 2019, 06:37

                                          First look at cladding with the cladding extension active:

                                          http://design.medeek.com/resources/trussplugin/images/truss_su557_800.jpg

                                          As you can see asymmetric roofs tend to complicate things slightly but regardless the correct lateral extension is achieved (0.75"). I will need to go back into the other rafter roof modules and correct this feature, I don't think I have it quite right.

                                          Because of the possibility of fascia and the cladding extension parameter, the cladding becomes a bit more involved not only for hip roofs but also along the rake edges of dutch gables, gables and half hips. All of these roof end conditions have unique solutions when it comes to cladding, and unfortunately it requires a fair bit of logic and coding on my part to make it happen.

                                          The interesting thing about what I do is not so much about the programming, but more the manipulation of the data and the topological and geometric problems I am able to solve, with nothing more than a well written API, some ruby code, and at times some serious mental contortions. I have certainly become well acquainted with the Geom module in the SketchUp API.

                                          Nathaniel P. Wilkerson PE
                                          Medeek Engineering Inc
                                          design.medeek.com

                                          1 Reply Last reply Reply Quote 0
                                          • 1
                                          • 2
                                          • 61
                                          • 62
                                          • 63
                                          • 64
                                          • 65
                                          • 74
                                          • 75
                                          • 63 / 75
                                          63 / 75
                                          • First post
                                            1242/1498
                                            Last post
                                          Buy SketchPlus
                                          Buy SUbD
                                          Buy WrapR
                                          Buy eBook
                                          Buy Modelur
                                          Buy Vertex Tools
                                          Buy SketchCuisine
                                          Buy FormFonts

                                          Advertisement