sketchucation logo sketchucation
    • Login
    Oops, your profile's looking a bit empty! To help us tailor your experience, please fill in key details like your SketchUp version, skill level, operating system, and more. Update and save your info on your profile page today!
    Urasik Extensions | Lots of new extensions to check out Learn More

    Medeek Wall Plugin

    Scheduled Pinned Locked Moved Plugins
    1.5k Posts 29 Posters 1.3m Views 28 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.
    • medeekM Offline
      medeek
      last edited by medeek

      Here is what I prompted ChatGPT with:

      Okay, now that you have helped me actually program most of the Medeek APIs (wall, truss, foundation and floor). I would like for you to attempt to use the API to generate some ruby code I can dump into the console in order to create a simple garage (four exterior walls) with a simple fink truss roof.

      I also forgot to add that this should have a slab on grade foundation that measures 24' x 36'. The walls align with the edges of the foundation (outside of framing) and the truss roof will also be 24' x 36'. On the one gable end will be a 16' garage door 84" in height (default, so don't worry about the height. On one of the long walls there should be a regular 36" x 80" door, centered 6' from the corner. On the other long wall a 36" x 48" window (centered on wall) and on the other short wall opposite the garage door wall should also be a 36" x 48" window (centered on the wall). The fink truss roof should be a 6:12 pitch, leave everything else as default.

      After one mistake (it put the roof assembly on the ground initially, not sure why it missed that but it did), it produced this piece of code, which I then copied and pasted into the console and hit enter:

      model = Sketchup.active_model
      ents  = model.active_entities
      
      wall_mod  = Medeek_Engineering_Inc_Extensions::MedeekWallPlugin::Wall::MedeekMethods
      truss_mod = Medeek_Engineering_Inc_Extensions::MedeekTrussPlugin::MedeekMethods
      sog_mod   = Medeek_Engineering_Inc_Extensions::MedeekFoundationPlugin::Sog::MedeekMethods
      
      # --- helper: run an API call and return the new top-level group it created ---
      def capture_new_group(ents)
        before = ents.grep(Sketchup::Group)
        yield
        after  = ents.grep(Sketchup::Group)
        new_groups = after - before
        return new_groups.first
      end
      
      model.start_operation('Create Medeek Garage', true)
      
      begin
        # ---------------------------------------------------------------------------
        # GEOMETRY
        # 24' x 36' slab/wall/truss footprint
        # Coordinates in inches
        #
        # Layout:
        #   SW = (0,0,0)
        #   SE = (432,0,0)
        #   NE = (432,288,0)
        #   NW = (0,288,0)
        #
        # Walls are drawn counterclockwise around the exterior perimeter so the
        # outside of framing aligns with the slab perimeter.
        # ---------------------------------------------------------------------------
      
        p0 = [0.0,   0.0,   0.0]   # SW
        p1 = [432.0, 0.0,   0.0]   # SE
        p2 = [432.0, 288.0, 0.0]   # NE
        p3 = [0.0,   288.0, 0.0]   # NW
      
        footprint = [p0, p1, p2, p3]
      
        # ---------------------------------------------------------------------------
        # 1. Slab-on-grade foundation
        # ---------------------------------------------------------------------------
        sog_group = capture_new_group(ents) do
          sog_mod.sog_draw(footprint)
        end
      
        # ---------------------------------------------------------------------------
        # 2. Exterior walls
        #    South wall: p0 -> p1  (36')
        #    East wall:  p1 -> p2  (24')
        #    North wall: p2 -> p3  (36')
        #    West wall:  p3 -> p0  (24')  <-- garage door wall
        # ---------------------------------------------------------------------------
        south_wall = capture_new_group(ents) do
          wall_mod.wall_draw(p0, p1, 'Rectangular', 'Int-Ext')
        end
      
        east_wall = capture_new_group(ents) do
          wall_mod.wall_draw(p1, p2, 'Rectangular', 'Int-Ext')
        end
      
        north_wall = capture_new_group(ents) do
          wall_mod.wall_draw(p2, p3, 'Rectangular', 'Int-Ext')
        end
      
        west_wall = capture_new_group(ents) do
          wall_mod.wall_draw(p3, p0, 'Rectangular', 'Int-Ext')
        end
      
        # ---------------------------------------------------------------------------
        # 3. Openings
        #
        # WEST gable wall (24' wall): centered 16' garage door
        # wall length = 288", centered opening location = 144"
        #
        # SOUTH long wall (36' wall): 36" x 80" door
        # center placed 72" from SW corner
        #
        # NORTH long wall (36' wall): centered 36" x 48" window
        # wall length = 432", centered opening location = 216"
        #
        # EAST short wall (24' wall): centered 36" x 48" window
        # wall length = 288", centered opening location = 144"
        # ---------------------------------------------------------------------------
      
        # 16' garage door on west wall, centered
        wall_mod.wall_garage_draw(144.0, 192.0, 84.0, 'Rectangle', west_wall)
      
        # 3' x 6'-8" man door on south wall, center 6' from SW corner
        wall_mod.wall_door_draw(72.0, 36.0, 80.0, 'Rectangle', south_wall)
      
        # Centered window on north wall
        wall_mod.wall_win_draw(216.0, 36.0, 48.0, 'Rectangle', north_wall)
      
        # Centered window on east wall
        wall_mod.wall_win_draw(144.0, 36.0, 48.0, 'Rectangle', east_wall)
      
        # ---------------------------------------------------------------------------
        # 4. Fink truss roof over same 24' x 36' footprint, 6:12 pitch
        #    FIX 1: raise roof to top of walls
        #    FIX 2: reorder points so gable orientation is rotated 90 degrees
        # ---------------------------------------------------------------------------
        wall_height = 97.125
      
        tp0 = [0.0,   0.0,   wall_height]   # SW
        tp1 = [0.0,   288.0, wall_height]   # NW
        tp2 = [432.0, 288.0, wall_height]   # NE
        tp3 = [432.0, 0.0,   wall_height]   # SE
      
        truss_footprint = [tp0, tp1, tp2, tp3]
      
        truss_group = capture_new_group(ents) do
          truss_mod.common_truss_draw(6.0, 'Fink', truss_footprint)
        end
      
        model.commit_operation
      
        puts 'Medeek garage created successfully.'
        puts "SOG group:   #{sog_group ? sog_group.name : 'not captured'}"
        puts "South wall:  #{south_wall ? south_wall.name : 'not captured'}"
        puts "East wall:   #{east_wall ? east_wall.name : 'not captured'}"
        puts "North wall:  #{north_wall ? north_wall.name : 'not captured'}"
        puts "West wall:   #{west_wall ? west_wall.name : 'not captured'}"
        puts "Truss group: #{truss_group ? truss_group.name : 'not captured'}"
      
      rescue => e
        model.abort_operation
        puts "ERROR: #{e.class} - #{e.message}"
        puts e.backtrace.join("\n")
      end
      

      The result was this:

      wall_su1095_800.jpg

      wall_su1096_800.jpg

      ChatGPT just built (in SketchUp) my new detached garage in under five minutes. It was even offering to modify the windows to sliders and other modifications if I needed to stray from the defaults that I had used.

      These AI engines will continue to improve and eventually they may be able to do much more than design a simple four wall structure like this. Things are going to get really interesting in the next couple of years.

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

      1 Reply Last reply Reply Quote 1
      • gullfoG Offline
        gullfo
        last edited by

        nice! how did it know to use your API?

        Glenn

        http://www.runnel.com

        medeekM 1 Reply Last reply Reply Quote 0
        • medeekM Offline
          medeek @gullfo
          last edited by

          @gullfo I gave it the links to the API web pages and told it to study them and from that it was able to use the API fully.

          Here are the links I provided ChatGPT:

          Link Preview Image
          Medeek Wall API Documentation

          favicon

          (design.medeek.com)

          Link Preview Image
          Medeek Truss API Documentation

          favicon

          (design.medeek.com)

          Link Preview Image
          Medeek Foundation API Documentation

          favicon

          (design.medeek.com)

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

          1 Reply Last reply Reply Quote 1
          • gullfoG Offline
            gullfo
            last edited by

            very cool! thanks!

            Glenn

            http://www.runnel.com

            1 Reply Last reply Reply Quote 0
            • medeekM Offline
              medeek
              last edited by

              Just so everyone is aware, they should update to this latest release: SU 2026.1.2 because of specific bug fix for the SpaceMouse issue as documented here:

              • (Windows) Fixed a crash related to DX12 rendering triggered by orbiting or zooming while using a 3Dconnexion SpaceMouse, notably after using extensions such as Medeek Wall.

              Attention Required! | Cloudflare

              favicon

              (help.sketchup.com)

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

              1 Reply Last reply Reply Quote 1
              • gullfoG Offline
                gullfo
                last edited by gullfo

                i find SU 2026 unusable do the folder setting restrictions which make my component and material collections virtually unreadable from all the duplication and then consider that if i do modify the folders, the installer simply reverts. so i'm on 2025 until they can fix it. thankfully i don't use a SpaceMouse...

                Glenn

                http://www.runnel.com

                1 Reply Last reply Reply Quote 0
                • medeekM Offline
                  medeek
                  last edited by

                  Version 4.4.4 - 04.02.2026

                  • Enabled the following methods within the Medeek Wall API: wall_draw_perim
                  • Enabled "profile cutting" of balusters for vertical and OTP handrails.

                  wall_su1098_800.jpg

                  I'm not sure why I didn't realize I could do this before but I woke up yesterday and I realized that a simple profile could be revolved into the cutting solid (like putting a piece of square stock on a lathe) and then boolean subtracted from the square baluster as shown to give a typical "turned" baluster.

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

                  1 Reply Last reply Reply Quote 1
                  • medeekM Offline
                    medeek
                    last edited by

                    Version 4.4.5 - 04.05.2026

                    • Fixed a bug with the profile cutting of balusters.
                    • Enabled a new boolean subtraction algorithm for profile cutting of balusters.

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

                    1 Reply Last reply Reply Quote 1
                    • medeekM Offline
                      medeek
                      last edited by

                      Version 4.4.5b - 04.08.2026

                      • Added a tooltip for the Corner Treatment option into the Global Settings, Draw and Edit Wall Menus.

                      wall_su1108_800.jpg

                      I didn't realize that the term "California Corner" was not well known in the industry. To that end I've added a tooltip for "Corner Treatment" which shows a typical (2x6) California Corner and a U-Corner. Hopefully this further clarifies this parameter for some users who are not familiar with this term. The other corner treatments seem fairly self explanatory.

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

                      1 Reply Last reply Reply Quote 1
                      • medeekM Offline
                        medeek
                        last edited by

                        I've been meaning to add in a "Style 6" door hardware option for quite some time. Basically something for your entrance door, and I haven't had a good option for this until now. This low poly entrance hardware and deadbolt (handleset) is loosely modeled after the Camelot series by Schlage. I will include this in the next roll out:

                        wall_su1109_800.jpg wall_su1110_800.jpg wall_su1111_800.jpg

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

                        1 Reply Last reply Reply Quote 1
                        • medeekM Offline
                          medeek
                          last edited by

                          Version 4.4.6 - 04.11.2026

                          • Added a "Style 6" (Schlage - Camelot) to the built-in door hardware options.
                          • Configured the "Ctrl" hot key within the draw door tool with additional justification options (x-dir).

                          Tutorial 84 - Positioning Doors (7:19 min.)

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

                          1 Reply Last reply Reply Quote 1
                          • medeekM Offline
                            medeek
                            last edited by

                            Version 4.4.6b - 04.12.2026

                            • Added custom door positioning offsets into the Door tab of the Global Settings.

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

                            1 Reply Last reply Reply Quote 0
                            • medeekM Offline
                              medeek
                              last edited by

                              Version 4.4.7 - 04.16.2026

                              • Fixed a bug with custom door positioning for metric templates.
                              • Enabled "profile cutting" of posts for vertical handrails.
                              • Fixed a bug with the bottom trimming algorithm for balusters

                              .wall_su1117_800.jpg

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

                              1 Reply Last reply Reply Quote 0
                              • medeekM Offline
                                medeek
                                last edited by

                                Version 4.4.8 - 04.18.2026

                                • Enabled custom components as posts for vertical handrails

                                wall_su1119_800.jpg

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

                                1 Reply Last reply Reply Quote 1
                                • medeekM Offline
                                  medeek
                                  last edited by

                                  Tutorial 85 - Profile Cut Newel Posts (9:04 min.)

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

                                  1 Reply Last reply Reply Quote 0
                                  • medeekM Offline
                                    medeek
                                    last edited by

                                    Version 4.4.8b - 04.18.2026

                                    • Enabled custom components as balusters for vertical and OTP handrails.

                                    wall_su1121_800.jpg

                                    Th sub-folder structure is the same as for newel posts, so Tutorial #85 is applicable to balusters as well.

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

                                    1 Reply Last reply Reply Quote 1
                                    • medeekM Offline
                                      medeek
                                      last edited by

                                      Version 4.4.8c - 04.19.2026

                                      • Fixed a minor typo in the stair module.
                                      • Added a ornamental iron baluster into the baluster component library.

                                      wall_su1122_800.jpg

                                      The limitations of profile cutting balusters can be overcome by using a predefined component instead, which allows for much more intricate baluster geometries.

                                      However as I have been researching various baluster layouts I've noticed that with iron balusters usually more than one baluster style is utilized. The typical scenario is two or three different baluster geometries are alternated along the run of stairs. I will need to give this some more thought.

                                      wall_su1123_800.jpg

                                      Stairs can be a "rabbit hole".

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

                                      1 Reply Last reply Reply Quote 0
                                      • medeekM Offline
                                        medeek
                                        last edited by

                                        Version 4.4.9 - 04.19.2026

                                        • Enabled a secondary custom profile/component parameter for balusters.
                                        • Added additional ornamental iron balusters into the baluster component library.

                                        wall_su1124_800.jpg

                                        wall_su1125_800.jpg

                                        wall_su1126_800.jpg

                                        wall_su1127_800.jpg

                                        wall_su1128_800.jpg

                                        I think I've beat this horse to death. Hopefully with this added option we can configure most of the common baluster layouts, however there will always be a few that will be beyond the scope of the plugin (ie. three or more baluster types in various repeating patterns).

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

                                        1 Reply Last reply Reply Quote 0
                                        • medeekM Offline
                                          medeek
                                          last edited by medeek

                                          Version 4.5.0 - 04.20.2026

                                          • Enabled custom components as posts for OTP handrails.
                                          • Enabled "profile cutting" of posts for OTP handrails.
                                          • Modified the bottom trimming algorithm for balusters to better accommodate complex baluster components.
                                          • Added one additional ornamental iron baluster into the baluster component library.
                                          • Added one OTP newel post into the newel post component library: LJ4270_43

                                          wall_su1129_800.jpg

                                          wall_su1131_800.jpg

                                          wall_su1132_800.jpg

                                          I will readily admit configuring OTP handrails with their associated posts and fittings is a bit tricky, adjusting the various offsets takes a few iterations to really hone things in.

                                          I appreciate everyone who has pushed me to flesh out the newel post and baluster capabilities. I feel like the stair module is a bit complicated now and perhaps even a bit clunky with so many options and variables but at the same time it is much more configurable and flexible and can I say with these new capabilities more powerful.

                                          Obviously it would be optimal if I could spend some serious time and create many of the standard balusters and newel posts found in LJ Smith’s general catalog so that the user would have a bevy of options to choose from without having to exert additional effort in creating their own. However, such an undertaking could easily consume two to three weeks and my development time is probably better spent elsewhere at the moment.

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

                                          L 1 Reply Last reply 👍 Reply Quote 1
                                          • L Offline
                                            Luke147ll Newcomers @medeek
                                            last edited by

                                            @medeek keep up the good work.. I've designed and built miles of walls using the wall plugin! 8b25ee20-6923-42df-b851-ab42360c29cc-image.jpeg

                                            medeekM 1 Reply Last reply 👍 Reply Quote 0

                                            Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                            Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                            With your input, this post could be even better 💗

                                            Register Login
                                            • 1
                                            • 2
                                            • 74
                                            • 75
                                            • 76
                                            • 77
                                            • 78
                                            • 77 / 78
                                            • First post
                                              Last post
                                            Buy SketchPlus
                                            Buy SUbD
                                            Buy WrapR
                                            Buy eBook
                                            Buy Modelur
                                            Buy Vertex Tools
                                            Buy SketchCuisine
                                            Buy FormFonts

                                            Advertisement