[Plugin] Center of Gravity
-
Hello, TIG.
At first I want to say thanks for such great plugin. I hope some day SketchUP will be powerful engineering tool as SolidWorks .
I have a small suggestion, when you working with a few components it's not a problem to define CoG of each and then compose them. But when there are lots of components it's quite difficult to make compose for all of them and do not miss some parts. Here an example of heavy model with cloud of CoG points:
Maybe there is a way to make it automatic for bunch of parts, like this:
Step 1. Select range of components/groups;
Step 2. Define CoG of each and then automatic add composite CoG.Hope I described idea well enough .
-
You can do that already.
It's part of the toolset.
Obviously to tidy up later you'll need to put the individual CofG on their own OFF layer.
See th usage in the PluginStore 'Overview' for making 'Composites'...
sketchucation.com/pluginstore?pln=CofG -
@tig said:
You can do that already.
It's part of the toolset.
Obviously to tidy up later you'll need to put the individual CofG on their own OFF layer.
See th usage in the PluginStore 'Overview' for making 'Composites'...
sketchucation.com/pluginstore?pln=CofGSorry for my English, I described idea not well enough. As for now, when you determine CoG of complex unit which consists of many parts, you need to define CoG of each part and then compose them. It's working ok, if there are not many parts.
My suggestion is to make possible such workflow:
Select all parts of a complex unit and define composite CoG (of complex unit) at once.In my example there was over 30+ parts. And it was quite hard to define composite CoG.
-
But how would you determine the individual part's material and density/weight ?
You need the composite of several CofGs to do that - since a very heavy part will change the CofG in the combined assembly.
If all of the parts use the same material, then you just need to make a single 'group' of all of them, and then create one CofG of that one object. That way you can 'group' parts with the same material, get their containers' CofGs, and then combine those into a 'Combined CofG' - properly reflecting the weight-distribution... -
@tig said:
But how would you determine the individual part's material and density/weight ?
You need the composite of several CofGs to do that - since a very heavy part will change the CofG in the combined assembly.Yeah, now I understand.
@unknownuser said:
If all of the parts use the same material, then you just need to make a single 'group' of all of them, and then create one CofG of that one object. That way you can 'group' parts with the same material, get their containers' CofGs, and then combine those into a 'Combined CofG' - properly reflecting the weight-distribution...
Just tried it, and it worked like a charm. Thank you.
One more question about accuracy. Bigger value means more accuracy or vice versa?
-
The default accuracy of 1.0 - which is sufficient for most analyzed forms.
It means the form is sampled in 1/100 == 100+2 steps.
A higher number means fewer steps, and an even smaller number means even more steps.
The number of steps affects the time taken to process the form - a bigger number == less time.
If your form is a solid or quite a simple them the number is of little relevance as the reported CofG weight is unlikely to vary.
If the form is more complex, then a higher number gives fewer steps [say 50 = 50/100 == 2+2 steps], so the reported weight may well be less than the one from the smaller value [say 1/100 == 100+2 steps].
But the chances are that 1.0 will be fine almost every time... -
I made a test with my base frame. All parts are solids, with density 7800 kg/m3. Accuracy for both tests is = 1.
For the first one, I've determined CoG for each part separatly and then compose them. Results are looking true.
For the second I've merged all parts in a group and determined CoG, the result is to much high.
Where is my mistake?
Here is the test model:
TestPart -
When you say 'merged', do you mean that you have exploded the various parts into a single container and then ensured that the container is now a 'solid' ?
-
@tig said:
When you say 'merged', do you mean that you have exploded the various parts into a single container and then ensured that the container is now a 'solid' ?
Under "merged" I meant - group all separate solids in one group, that was my mistake. Now, I made one solid from all parts and CoGs are now almost identical in both cases (separate solids and one big solid). Thank you for your patience.
-
Can you tell me what the accuracy % option does? I set to 100 and its quicker but sees less weight and at 1% takes forever but sees more weight. What should that be set at nominally for the most accurate readings? Thank you!!! Very great plugin, TIG
-
The 'accuracy' setting affects the result... as you have found.
For simple forms the 'accuracy' of the results will not improve beyond a certain point, no matter what the settings are...
But otherwise the more 'iterations' the tool does the nearer the result is to being 'true'.
If you choose a 'more accurate' value, then the 'weight' might become more accurate, and the CofG might adjust very slightly.
If you have the time... then more iterations gives the most accurate results...
BUT sometimes the differences are so small it's not worth the delay...
It's up to you - your model - your time... -
@tig said:
The 'accuracy' setting affects the result... as you have found.
For simple forms the 'accuracy' of the results will not improve beyond a certain point, no matter what the settings are...
But otherwise the more 'iterations' the tool does the nearer the result is to being 'true'.
If you choose a 'more accurate' value, then the 'weight' might become more accurate, and the CofG might adjust very slightly.
If you have the time... then more iterations gives the most accurate results...
BUT sometimes the differences are so small it's not worth the delay...
It's up to you - your model - your time...Thanks I found that using an accuracy of 5% works quite well with realtime weight on my end using the correct density I found on the internet for the material I use. Works a charm! Helps with configuring shipping information BEFORE having to go to Fedex etc and create real products beforehand so it reduces capital costs for me Thanks so much again. I have been within 5lbs accuracy with actual shipping items that I modeled. Just an update
-
Hey Tig,
Thanks for the CofG plugin. It has been working quite well, but have one small easy, which I think is easy to overcome. I have drawn an aluminum extrusion and set the aluminum density. The size of the extrusion is 1m in length, so I can know my run length cost/per linear meter.
Whether I extend the extrusion 1m to 20m in length, CofG always comes back and gives me the same weight? Yet if I copy the meter long extrusion, put a couple bends on it, and run CofG, it gives me a new and hopefully correct weight.
Wondering if there might b an issue with my group that is causing an issue?
Thanks.
-
What method are you using to extend the extrusion? If you are just scaling the group or component, you aren't updating its definition. If you open the group/component for editing and then modify its length, the definition gets changed and the plugin should give you the results you are looking for.
-
Great plugin! its possible to add some toolbar buttons? i tried but had no luck.
#--------- menu ----------------------------- unless file_loaded?(File.basename(__FILE__)) txt0="C of G..." txt1="Find C of G" txt2="Composite C of G" dir=File.dirname(__FILE__)+"/TIGtools" toolname="CofGravity" locale=Sketchup.get_locale.upcase path=dir+"/"+toolname+locale+".lingvo" if File.exist?(path) txt0=deBabelizer(txt0,path) txt1=deBabelizer(txt1,path) txt2=deBabelizer(txt2,path) end#if submenu=UI.menu("Plugins").add_submenu(txt0) submenu.add_item(txt1){CofGravity.new(1)} submenu.add_item(txt2){CofGravity.new(2)} =begin #plus tb= UI.toolbar "Konstruktion" cmd = UI;;Command.new(txt1) {CofGravity.calculate} cmd.small_icon = "../Images/Center_component_lg.png" cmd.tooltip = "Teilmassen Zentrum" tb.add_item(cmd) cmd1 = UI;;Command.new(txt2) {CofGravity.composite} cmd1.small_icon = "../Images/Center_component_lg_sum.png" cmd1.tooltip = "Hauptmassen Zentrum" tb.add_item(cmd1) =end end#if file_loaded(File.basename(__FILE__)) #---------------------------------
-
tb = UI.toolbar**.new**("Konstruktion")
Makes the new toolbar.
And use:cmd.small_icon = "Images/Center_component_lg.png"
- assuming
Images
in in the same subfolder as the loading RB file ?
You cannot add a new button to a existing toolbar unless you have just made it, OR if the toolbar has been made during the same start-up session AND it has an enduring reference...
So in some earlier loading file [they load alphanumerically] use something like:
module MY_STUFF ### TOOLBAR = UI.toolbar.new("Konstruktion") ### end
Then in your second file:
tb = MY_STUFF::TOOLBAR
Which is an enduring reference to the 'MY_STUFF' toolbar entitled 'Konstruktion'...
You can then add buttons to that toolbar as SketchUp starts - in any later loading script... - assuming
-
TIG, thanks for helping! i got it running, with another loader script, as you said.
Furthermore, i corrected the call commands. -
Hi all, I am doing a 3D model in Sketchup 2016 and when trying to use CoG, it gives to me "weight=0.0"... How is it possible?
Here is how I do :
I create my 3D object, I select it and press "G" to save it as a single component. Then I select it, and I run CoG, applying a density of 7850 Kg/m3 (c40 steel density). It calculates during 5-6 minutes and finally shows 0.0 ...Any idea?
Thanks!
-
Is it a 'Solid' object in Entity Info ?
Without seeing the actual object and the settings you used I can't say what the issue might be.
-
Hi !
Well, it seems it is not recognized as a solid, because there is no "volume" entry in the Entity Info box.
Here is a picture :
Thank you.
Pock'
Advertisement