[Plugin] VolumeCalculator v1.8
-
Here's v1.8. For some reason it's just started to Bugsplat on my new PC (Vista). It didn't before ! This new version avoids a splat since it has a two step undo. The splat seems to come from after it's intersected the volume slicing disc group to make entities inside another vol group and then it is trying to erase that disc group within the same commit/undo as the rest. By making 2 undo steps it doesn't splat - go figure ?
-
Thanks
-
This all seems quite a complex way of getting the volume.. The following analytic approach works nicely.
def calculateVolume(container) volume = 0 for face in container next unless face.kind_of? Sketchup;;Face volume += (2 * face.area * (face.vertices[0].position.dot face.normal)) / 6 end volume end
-
Doh. And you need to have Geom::Point3d#dot defined - (which is beyond me why it isn't as standard)
class Geom;;Point3d def dot(v) self.x * v.x + self.y * v.y + self.z * v.z end end
-
I have posted my rendition of the "no temporary group" calculate volume solution.
See: Calculate volume on manifold surface without group & explode
Bonus method for a volume display string in model units:
Advertisement