sketchucation logo sketchucation
    • Login
    ℹ️ Licensed Extensions | FredoBatch, ElevationProfile, FredoSketch, LayOps, MatSim and Pic2Shape will require license from Sept 1st More Info

    [Plugin] Center of Gravity

    Scheduled Pinned Locked Moved Plugins
    183 Posts 41 Posters 297.6k Views 41 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.
    • TIGT Offline
      TIG Moderator
      last edited by

      It might be a v8 incompatibility: see here: https://sketchucation.com/forums/viewtopic.php?p=630803#p630803
      Please ensure you are using the latest [compatible] version [perhaps copy it from your last working v8 Plugins folder ? I did PM you an older version at the start of this year ? I re-PM it if I can find it...].

      Also run it with the Ruby Console open and report all of the error messages you get...

      TIG

      1 Reply Last reply Reply Quote 0
      • T Offline
        TommyWoodbury
        last edited by

        Awesome plugin, thanks TIG! Any plans on making it 2019 compatible?

        1 Reply Last reply Reply Quote 0
        • Dave RD Offline
          Dave R
          last edited by

          It works just fine in SketchUp 2019. And in SketchUp 2020.

          Here's an example done in SU2020.
          Screenshot - 5_28_2020 , 7_15_31 AM.png

          Etaoin Shrdlu

          %

          (THERE'S NO PLACE LIKE)

          G28 X0.0 Y0.0 Z0.0

          M30

          %

          1 Reply Last reply Reply Quote 0
          • M Offline
            Mare99
            last edited by

            Hi, thanks for this plug-in, this is what I was looking for! But it dodn't work for me. I do everything like in your video but mistake "Selection NOT 2 C of G Groups!".
            I am sure that I have two Groups (see in apdx). I try do the same with two Components and there is mistake : "Selection is NOT group!".
            What I do bad? I have Sketchup 2018.
            Thank you for help!
            Jirka


            Capture-22.jpg

            1 Reply Last reply Reply Quote 0
            • TIGT Offline
              TIG Moderator
              last edited by

              @Mare99

              Are you sure that the selection is of two groups of CofG text?
              Select one and look at Entity Info...

              If you have copied one it'll report as two versions of the same thing...

              The geometry should be unique instances, as should the text group...

              Please edit one of them, make no changes and then close it immediately - this will have the affect of making the two into unique versions - perhaps that's the issue and it'll fix it...

              I just tried it and it works OK - provided that they are two unique things...

              If not, than please post a simple SKP containing them and I'll investigate further...

              TIG

              1 Reply Last reply Reply Quote 0
              • Dave RD Offline
                Dave R
                last edited by

                From the screen shot it looks like you are selecting the geometry groups, not selecting the CofG groups as the instructions indicate.
                Screenshot - 11_13_2020 , 1_29_00 PM.png

                Screenshot - 11_13_2020 , 1_29_16 PM.png

                Etaoin Shrdlu

                %

                (THERE'S NO PLACE LIKE)

                G28 X0.0 Y0.0 Z0.0

                M30

                %

                1 Reply Last reply Reply Quote 0
                • A Offline
                  antuan
                  last edited by

                  Great job TIG, really useful plugin. I have a doubt, though. When there are many nested groups/components but all of them are made from the same material so density is constant across all of them, (e.g. a piece of furniture made from same wood) can the plugin directly find the COG of the final group containing all subgroups/subcomponents? Or should I find COG of every object separately and join them toghether with "Composite COG" tool?
                  In the overview of the plugin is explained that you can select "a group of groups" and in fact I see that I can select the outer object and I get a result, but then the calculated weight is wrong, sometimes just a bit, others almost double than real, depending on the model. And if that matters, as far as I know all subcomonents/subgroups are solids. I don't know if this is because the plugin is not intended to work this way or it is because of a model issue or any other mistake in my workflow. Thanks in advance for your help.
                  Antonio

                  1 Reply Last reply Reply Quote 0
                  • A Offline
                    antuan
                    last edited by

                    Hi again, I will add an example of what I asked in my last post.

                    In this model I have copied twice the same group, made out from 7 subgroups/subcomponents (all of them solids, with a volume I can see in the entity info).

                    If I select the "group of groups/components" (right) and run CoG I obtain a weight of 38kg.

                    If I run CoG for each of the subgroups or subcomponents separately and then run Composite CoG from the obtained CoG entities, (left) I obtain a weight of only about 13 kg.

                    What is the reason for that? Can't this plugin be used for a group of groups, even if the density is the same for all of them?

                    Thank you for any help you can give me.

                    Antonio


                    CoG differences.png

                    1 Reply Last reply Reply Quote 0
                    • TIGT Offline
                      TIG Moderator
                      last edited by

                      If the selected group is a solid then it's straightforward to find its volume and the only convolution is the 'slicing' of the form to calculate its CofG.
                      But a collection of solids does not form a solid - look at 'entity info' to confirm this.
                      A solid contains only geometry, and that needs to be suitably set up.

                      You can select a number of solids [best copied to the side] and then simply combine them into a single solid using the Solid Tools 'Union' command.
                      If the parts all have the same density then the returned CofG volume and weight should be correct and the Combined CofG is not needed at all...

                      TIG

                      1 Reply Last reply Reply Quote 0
                      • robertWanR Offline
                        robertWan @TIG
                        last edited by robertWan

                        @TIG Should I look for an older version or is there any way to make it work in 8.0 Pro?CoG.png

                        TIGT 1 Reply Last reply Reply Quote 0
                        • TIGT Offline
                          TIG Moderator @robertWan
                          last edited by TIG

                          @robertWan
                          v8 is very old, and unsupported by many newer extensions, but CofG should work with it...
                          It appears the '.round()' function isn't working...
                          I don't have that version installed to test it...
                          I can't find an earlier version without the round code in it...
                          You could try editing the RB file with Notepad++ so the
                          lines#379 to #390, which read

                          dp=4
                          volume=0
                          ###
                          ### convert it to units matching density...
                          while volume == 0
                          	volume=(vol * 0.000016387064).round(dp) if @units=~/\/m3/
                          	volume=(vol * 16.387064).round(dp)      if @units=~/\/cm3/
                          	volume=(vol * 0.000021433471).round(dp) if @units=~/\/yd3/
                          	volume=(vol * 0.000578703704).round(dp) if @units=~/\/ft3/
                          	dp+=1
                          end
                          dp-=1
                          

                          becomes this edited version to avoid any arguments for the round method.

                          #dp=4
                          #volume=0
                          ###
                          ### convert it to units matching density...
                          #while volume == 0
                          	volume=(vol * 0.000016387064).round if @units=~/\/m3/
                          	volume=(vol * 16.387064).round if @units=~/\/cm3/
                          	volume=(vol * 0.000021433471).round if @units=~/\/yd3/
                          	volume=(vol * 0.000578703704).round if @units=~/\/ft3/
                          	#dp+=1
                          #end
                          #dp-=1
                          

                          restart SketchUp and see if that helps...

                          TIG

                          robertWanR 1 Reply Last reply Reply Quote 0
                          • robertWanR Offline
                            robertWan @TIG
                            last edited by

                            @TIG said in [Plugin] Center of Gravity:

                            restart SketchUp and see if that helps...

                            CoG1.png

                            Unfortunately it didn't help.

                            Robert

                            TIGT 1 Reply Last reply Reply Quote 0
                            • TIGT Offline
                              TIG Moderator @robertWan
                              last edited by

                              @robertWan

                              I missed some 'dp' variables [sorry]

                              line#393
                              change

                              volTxt = sprintf("%.#{dp}f", volume)
                              

                              to read

                              volTxt = sprintf("%.4f", volume)
                              

                              line#409
                              change

                              weight = (volume * @density).round(dp)
                              

                              to read

                              weight = (volume * @density.round)
                              

                              and line#417
                              change

                              weightTxt = sprintf("%.#{dp}f", weight)
                              

                              to read

                              weightTxt = sprintf("%.4f", weight)
                              

                              I think that's all of them !!

                              TIG

                              1 Reply Last reply Reply Quote 0
                              • robertWanR Offline
                                robertWan
                                last edited by

                                CoG2.png
                                Works!
                                I am extremely grateful.
                                Thank you.

                                Robert

                                1 Reply Last reply Reply Quote 0
                                • 1
                                • 2
                                • 3
                                • 4
                                • 5
                                • 9
                                • 10
                                • 2 / 10
                                • First post
                                  Last post
                                Buy SketchPlus
                                Buy SUbD
                                Buy WrapR
                                Buy eBook
                                Buy Modelur
                                Buy Vertex Tools
                                Buy SketchCuisine
                                Buy FormFonts

                                Advertisement