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.
    • 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
                          • 6
                          • 7
                          • 8
                          • 9
                          • 10
                          • 10 / 10
                          • First post
                            Last post
                          Buy SketchPlus
                          Buy SUbD
                          Buy WrapR
                          Buy eBook
                          Buy Modelur
                          Buy Vertex Tools
                          Buy SketchCuisine
                          Buy FormFonts

                          Advertisement