• Login
sketchucation logo sketchucation
  • Login
🤑 SketchPlus 1.3 | 44 Tools for $15 until June 20th Buy Now

[Plugin] VolumeCalculator v1.8

Scheduled Pinned Locked Moved Plugins
5 Posts 4 Posters 6.9k Views 4 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.
  • T Offline
    TIG Moderator
    last edited by 21 Nov 2007, 18:48

    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 ? PayPalButton


    VolumeCalculator.rb

    TIG

    1 Reply Last reply Reply Quote 0
    • T Offline
      Tobobo
      last edited by 21 Nov 2007, 18:49

      Thanks

      Toby

      Philippians 4:13

      I can do everything through him who gives me strength.

      1 Reply Last reply Reply Quote 0
      • A Offline
        AdamB
        last edited by 12 Dec 2007, 09:53

        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
        

        Developer of LightUp Click for website

        1 Reply Last reply Reply Quote 0
        • A Offline
          AdamB
          last edited by 12 Dec 2007, 12:38

          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	
          

          Developer of LightUp Click for website

          1 Reply Last reply Reply Quote 0
          • D Offline
            Dan Rathbun
            last edited by 30 Dec 2017, 19:00

            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:

            See: [code] format volume in model units

            I'm not here much anymore.

            1 Reply Last reply Reply Quote 0
            • 1 / 1
            • First post
              Last post
            Buy SketchPlus
            Buy SUbD
            Buy WrapR
            Buy eBook
            Buy Modelur
            Buy Vertex Tools
            Buy SketchCuisine
            Buy FormFonts

            Advertisement