[Plugin] Volume Calculator2...
-
Hello!
The first, Thanks!, the plugin is fantastic. I'm translating a lot of plugins for SU to spanish language, i have translated Volumen Caculator 2.1 to Spanish, i want to share with all SU's users.
Chao!Here is the Spanish version:
EDIT: Script Removed. SketchUcation forum policy does not permit people to post scripts they did not write. Please obtain permission from the author first, thanks!
-
Pedro
If you PM me your translated version I'll check it over and publish it here, if it's OK...
-
Thanks to Oxer who has translated my
Volume_v2.1
tool into Spanish - so if you would like it to run in Spanish then remove the old version and put this new one*** into the Plugins folder [if you prefer it to be in ENglish then don't do anything !].
Unfortunately this tool is not [yet] 'debBelizered' so if there are any updates to the EN version then the ES translation might get out of step - however, the next update will probably be to get it 'deBabelizered' anyway, so not to worry...
***VolumeCalculator21-ES.rb -
Dear TIG,
I am having problems with the attached model. The volume calculator works fine on the blank casting (2 %), but falls over with the casting with the holes. I am using version 1.8 of VolumeCalculator.rb because (in the past), I found it worked best with internal voids.
Would it be possible to include a drop-down and editable list of densities, with the option to calculate total mass as well as volume. By editable I mean the possibility to add to the list of materials and densities.
Would it be possible to include an escape function (ESC key?) so that the calculation could be terminated if found to be taking too long?
Kind regards,
Bob
-
To do stuff with density/volume/weight use my very recent 'Center of Gravity Tool'...
I have got you 'holey form' to make a Volume... BUT I rotated it in 3D so it didn't take forever to work at 0.5%!
Having all of those holes in every 'slice' r_e_a_l_l_y slows things... -
Dear TIG,
Many thanks for answering my query. I hadn't thought to change the Z direction before running the script. A very, very useful plugin. Thanks
Regards,
Bob -
Hey TIG,
Thx for this script.
I have a little question:
Let's say a group only contains one or multiple faces not forming a volume (so volume can not be calculated)
How do I build in a test that determines if the script should continue with the volume calculation (or just give the combined area of the faces)?
Maybe the test is already in the code, but i can't seem to figure it out completely.regards
-
There are two versions of Volume - [v1] is slow but 'reliable' and the other [v2] is fast but 'sensitive' !
v1 will find the volume of a shape even it it has no 'lid' or holes in it - just as if it were filled up with a fluid till it spilled out - but it takes it's time on very high accuracy settings...
v2 needs a 'manifold' shape - make sure that the form is fully faced - there's my recentmanifold.rb
to check this. Used on a suitable form v2 will quickly return the volume with as much accuracy as it can muster... if it has 'holes' or complex faces [internal etc] it can't return a volume.
To find the area of faces there's a new thread started recently that explains how best to do this...
-
hello......... it seems to be intressting, please how to get it?
-
thanks man... you're so great
-
Hi, just wanted to let the community know, I tried running Volume2.1, having had it run successfully in the past, and found that whilst the dialog loaded and the "clone volume" object was created, no volume text label was added to the drawing. Guessing that the problem might be a plug-in conflict, i disabled some of my more recent plugin additions (change filename from .rb to .rbXX) and re-ran Sketchup and Volume. The problem was Sketchy Physics plugin (V3 I think). Disable it and Volume 2.1 works as expected.
Don't know if anyone can shed any light on this or can suggest a solution for them both to co-exist?
Best wishes to all.
-
Thanks Bill
There is a know issue with some clashes with scripts and SketchyPhysics - see this http://forums.sketchucation.com/viewtopic.php?p=300105#p300105 BUT it's never been reported with Volume before ?
Perhaps it's a clash with theclass Geom;;Point3d def dot(v) self.x * v.x + self.y * v.y + self.z * v.z end end
code ?
I'll look into it........... -
No idea TIG, I'm not best-placed to comment on coding
It would be interesting to know whether anybody else has the same issue or whether it is a peculiarity of my system...
-
I am cleaning up all my plugins and testing as I install each one to make sure there are no conflicts and I keep getting an error when I do a validity check on simple cubes and spheres. Is this normal?
Using Sketchup 7.1 on OSX 10.6.5.
Thanks.
-
How do you know this is related to Volume?
Change your active layer to Layer0 beforehand and see what happens ?? -
Would it be possible to create a Volume by Surface option for this plugin? I often have to figure out volume calculations of things that below grade and hence not shown in the model. Say something like a concrete footer or slab. In the model I only usually show the surface. I thought it would be great if the plugin recognized if the selection was a single plane with no depth and would prompt the user to set a virtual depth before proceeding to the volume dialog. If it's not too much trouble.
-
Adam
Can't you just select all of the faces [using a filter] and then get the total area from Entity Info and then x that depth in " to get the volume in cu" [then x 0.000578703703703704 to make it cu' or x 0.000021433470507545 to make it in cuyds]...
This one-liner will return the volume of 1" depth of the selected flat faces in cuyds [other selected entities or non-flat faces are ignored].
You can change 'd=' to another depth as desired; change 'f=' [and the final 'puts()'] if you want say cu' etc...d=1;f=0.000021433470507545;v=0;Sketchup.active_model.selection.each{|e|v=v+(d*e.area)*f))if e.class==Sketchup;;Face and e.normal.z.abs>=0.999};puts(v+" cuyds")
Just copy paste it into the Ruby Console, adjusting d= [and perhaps f= etc] as desired, then <enter>...
-
Thanks TIG. Would it involve changing the coding for each desired depth? For instance on a brick patio I often have to figure out three volume calculations. One for excavation depth and soil removed (10"), one for crushed gravel base (6") and one for bedding sand @ 1". Right now I do it by copying the surface shape into a different SU session and then making three copies of that and then extruding each to their desired depth. I then run the volume plugin on each group. I thought it would be easier with a prompt to set depth from the initial surface.
-
The result is cuyds [or cu' if you were to change the f= value] and it's based on a 1" depth - so you can simply multiply that volume by the actual depth in inches to get the actual volume ?
Otherwise paste the code and change the initiald=10;
say if it's 10" and so on... see how the 10" version is simply 10x more volume than the 1" version etc...
To make it have dialogs etc is much more complex than a 'one-liner' like this...
-
Having slept on it you would probably want to find the volume of faces that slope too. This version does that - a fully 'vertical' face has 0x volume and a fully 'flat' face has 1x; while at 45 degrees it'll be 0.707x [1/sqrt(2)] of its flat cousin with the same surface area
v=0;b=Geom;;BoundingBox.new;m=Sketchup.active_model;s=m.selection;s.each{|e|(b.add(e.bounds);v=v+(e.area*e.normal.z.abs))if e.class==Sketchup;;Face};if v>0;t="Faces>Volume";r=inputbox(["Depth;","Units;"],['1"'.to_l,"cuyds"],["","cuyds|cu'|cu\"|m3|cm3|mm3"],t);if r;v=v*r[0];case r[1];when "cuyds";f=0.000021433470507545;when "cu'";f=0.000578703703703704;when "m3";f=0.000016387064;when "cm3";f=16.387064;when "mm3";f=16387.064;else;f=1.0;end;v=sprintf("%.6f ",(v*f));p=b.max;m.start_operation(t);m.active_entities.add_text((v+r[1]),p,[10,10,10]);m.commit_operation;else;p 'Canceled.';UI.beep;end;else;p 'No Faces!';UI.beep;end
This 'one-liner' version now asks for the depth and units, and then puts a piece of Text at the selected faces' max bounds.
To make it into a proper tool do this...
Make a file called 'VolumeFaces.rb' in the Plugins folder and add this coderequire 'sketchup.rb' module TIG def self.volumefaces() v=0;b=Geom;;BoundingBox.new;m=Sketchup.active_model;s=m.selection;s.each{|e|(b.add(e.bounds);v=v+(e.area*e.normal.z.abs))if e.class==Sketchup;;Face};if v>0;t="Faces>Volume";r=inputbox(["Depth;","Units;"],['1"'.to_l,"cuyds"],["","cuyds|cu'|cu\"|m3|cm3|mm3"],t);if r;v=v*r[0];case r[1];when "cuyds";f=0.000021433470507545;when "cu'";f=0.000578703703703704;when "m3";f=0.000016387064;when "cm3";f=16.387064;when "mm3";f=16387.064;else;f=1.0;end;v=sprintf("%.6f ",(v*f));p=b.max;m.start_operation(t);m.active_entities.add_text((v+r[1]),p,[10,10,10]);m.commit_operation;else;p 'Canceled.';UI.beep;end;else;p 'No Faces!';UI.beep;end end unless file_loaded?(File.basename(__FILE__)) UI.menu("Plugins").add_item("Volume from Faces..."){TIG.volumefaces()} end#menu file_loaded(File.basename(__FILE__)) end
It then appears in Plugins Menu under 'Volume from Faces...', select faces and run it, set the dialog options as desired etc...
Advertisement