sketchucation logo sketchucation
    • Login
    ℹ️ Licensed Extensions | FredoBatch, ElevationProfile, FredoSketch, LayOps, MatSim and Pic2Shape will require license from Sept 1st More Info

    Report face surface

    Scheduled Pinned Locked Moved Plugins
    26 Posts 6 Posters 1.4k Views 6 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.
    • Didier BurD Offline
      Didier Bur
      last edited by

      Here is a quick script that sums areas by material. It doesn't dig into groups or comps.


      areas_mats.zip

      DB

      1 Reply Last reply Reply Quote 0
      • TIGT Online
        TIG Moderator
        last edited by

        To find areas of materials inside groups/components... [pseudo-coded]

        txt=""
        model.definitions.each{|defn|
          insts=defn.instances
          num=insts.length
          next if num==0
          mats=[]
          defn.entities.each{|e|
            next if not e.class==Sketchup;;Face
            mats << [e.material, e.area] 
          }
          txt << num.to_s+"\n"
          mats.each{|m| txt << m[0]+","+m[1]+"\n" }
        }
        ###...
        puts txt
        

        and so on to assemble a list of materials with areas within definitions. multiply by 'num' to get total area of all instances of each definition etc etc...........

        TIG

        1 Reply Last reply Reply Quote 0
        • Didier BurD Offline
          Didier Bur
          last edited by

          @unknownuser said:

          multiply by 'num' to get total area of all instances
          Not that simple, don't forget that instances can be scaled...

          DB

          1 Reply Last reply Reply Quote 0
          • TIGT Online
            TIG Moderator
            last edited by

            @didier bur said:

            @unknownuser said:

            multiply by 'num' to get total area of all instances
            Not that simple, don't forget that instances can be scaled...
            I realize that but he has to start somewhere 😒

            TIG

            1 Reply Last reply Reply Quote 0
            • L Offline
              ledisnomad
              last edited by

              This is great. Thanks everybody! Definitely a start that I can work with. At the moment, I don't need to worry about scaled instances of components, so I'll be able to use this and expand it's functionality as I need it. Thank you everybody.

              1 Reply Last reply Reply Quote 0
              • B Offline
                byrnebm
                last edited by

                These scripts are very useful. However, I am wondering if it is possible to go further with this to help me with what I use sketchup for. I draw a 3d floor plan of a house which is basically just lots of boxes/rooms adjoining each other. For each room I need the area of each wall and its orientation. However the orientation is from the perspective of being inside that room. So say I am inside the room and I am looking at the wall in question, the orientation of the wall is basically the direction I am facing, for example North. If I was in the room adjoining and am now looking at the same wall but from the other side of it, the orientation is now the opposite direction ie south. These scripts dont quite cater for this and I am wondering if it is even possible to make such a script. So when i click on one side of a wall its orientation is one direction but if I click on the other side of it, its orientation is the opposite direction.

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

                Advertisement