sketchucation logo sketchucation
    • Login
    πŸ€‘ SketchPlus 1.3 | 44 Tools for $15 until June 20th Buy Now

    Face with 0.0 area

    Scheduled Pinned Locked Moved Developers' Forum
    14 Posts 6 Posters 412 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.
    • tbdT Offline
      tbd
      last edited by

      anyone encountered a 0.0 area face on a rectangle ? and each edge has the same face attached twice and find_faces fails on the edges

      > Sketchup.active_model.entities.map{|x| x.faces if x.is_a? Sketchup;;Edge}
      [nil, [#<Sketchup;;Face;0x1a563988>, #<Sketchup;;Face;0x1a563988>], [#<Sketchup;;Face;0x1a563988>, #<Sketchup;;Face;0x1a563988>], [#<Sketchup;;Face;0x1a563988>, #<Sketchup;;Face;0x1a563988>], [#<Sketchup;;Face;0x1a563988>, #<Sketchup;;Face;0x1a563988>]]
      
      

      face problem.skp

      SketchUp Ruby Consultant | Podium 1.x developer
      http://plugins.ro

      1 Reply Last reply Reply Quote 0
      • Dan RathbunD Offline
        Dan Rathbun
        last edited by

        Would the rectangle tool still create a face if the start and end points were the same ??
        Seems like the code should prevent that (make a nasty sound, display "You cannot make 0 zero area rectangles!" on the statusbar,.. or whatever.)

        Hmm.. tried it. The rectangle tool does not seem to allow that. So that's good.

        I'm not here much anymore.

        1 Reply Last reply Reply Quote 0
        • K Offline
          kwalkerman
          last edited by

          How did you get this face?

          I played with the file a bit. In addition to each edge having the face listed twice, for the zero area face (face):

          face.edges.length = 8, in truth there are 4 unique edges, each listed twice.

          Also:

          If you select only the face in the model (do this by selecting everything in the model and then unselecting the 4 edges), and then move the face, all 4 edges shown move as if they bound a normal face.

          If you draw over one of the edges, the void in the center does not fill in as a face. Therefore, I think that this is what happened:

          If you look at the order of the edges returned by face.edges, it seems that the edges go clockwise and then counter clockwise (or vis-versa). So I think that somehow, the face is zero area because the four edges define the outer loop, plus an inner loop with a hole in it of the same size and dimension.

          --
          Karen

          1 Reply Last reply Reply Quote 0
          • thomthomT Offline
            thomthom
            last edited by

            @unknownuser said:

            anyone encountered a 0.0 area face on a rectangle ?

            Not sure if it was a rectangle, but I had problems with a tiny face once. When I fed its vertices to on_plane? it'd say they where no co-planar.

            I got a face like that when flattening and intersecting a DWG imported site plan.

            http://forums.sketchucation.com/viewtopic.php?f=180&t=34479#p303817

            Thomas Thomassen β€” SketchUp Monkey & Coding addict
            List of my plugins and link to the CookieWare fund

            1 Reply Last reply Reply Quote 0
            • Dan RathbunD Offline
              Dan Rathbun
              last edited by

              Doh! That makes sense.

              I'm not here much anymore.

              1 Reply Last reply Reply Quote 0
              • tbdT Offline
                tbd
                last edited by

                yeah, the same damn DWG import. a quick workaround to create the faces is to erase all faces with .area==0 before .find_faces

                SketchUp Ruby Consultant | Podium 1.x developer
                http://plugins.ro

                1 Reply Last reply Reply Quote 0
                • thomthomT Offline
                  thomthom
                  last edited by

                  @unknownuser said:

                  yeah, the same damn DWG import. a quick workaround to create the faces is to erase all faces with .area==0 before .find_faces

                  Or even less than a given minimum. Faces aren't really usable when they get below a certain size. In my plan tool I filter all tiny faces as they'd just clutter the model.

                  Thomas Thomassen β€” SketchUp Monkey & Coding addict
                  List of my plugins and link to the CookieWare fund

                  1 Reply Last reply Reply Quote 0
                  • Dan RathbunD Offline
                    Dan Rathbun
                    last edited by

                    Does "Model Info" > "Fix Problems" correct this?

                    I'm not here much anymore.

                    1 Reply Last reply Reply Quote 0
                    • tbdT Offline
                      tbd
                      last edited by

                      @unknownuser said:

                      Does "Model Info" > "Fix Problems" correct this?

                      nope. no error detected.

                      SketchUp Ruby Consultant | Podium 1.x developer
                      http://plugins.ro

                      1 Reply Last reply Reply Quote 0
                      • tbdT Offline
                        tbd
                        last edited by

                        speaking of .find_faces - how do you create the inner face (via ruby or normal SU tools) ? πŸ˜„

                        http://i.min.us/ieyRs0.png


                        no inner face.skp

                        SketchUp Ruby Consultant | Podium 1.x developer
                        http://plugins.ro

                        1 Reply Last reply Reply Quote 0
                        • AdamBA Offline
                          AdamB
                          last edited by

                          Just a reminder about topology..

                          There are a good and bad zero-area faces.

                          Generally, Zero area faces are a Good Thing(tm) to ensure fully stitched surfaces with no cracks. So a triangle having zero area between 3 points acts as a valid way of ensuring continuity and tools that process geometry must ensure they propagate these.

                          Degenerate faces are also zero area but are not so good. (There are reasons to have them but its outside the scope of this). Here you have a face with repeated vertices. These should usually be culled during topology operations.

                          Developer of LightUp Click for website

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

                            I recall that thomthom and i had a discussion about something like this - infinitesimally short edges...
                            Find the veeeery small faces - look at their consecutive vertices, if they are veeery close together transform one of them so it is in the same position as the nearest - that edge disappears [should] and the associated face [possibly] goes with it ? ❓

                            TIG

                            1 Reply Last reply Reply Quote 0
                            • AdamBA Offline
                              AdamB
                              last edited by

                              TIG,

                              Thats what I'm warning about. You really don't want to be finding valid but small faces and removing them because you've introduced a topological 'hole' in your geometry which will scintillate when rendered AND leak light.

                              You can merge small faces together and remove internal edges, but you should not be deleting outer edges "because they're really small and I can hardly see them".

                              A very common zero-area triangle is one that is generated to stitch a "T-junction". You must never remove these as your model will exhibit all sorts of cracking and lighting anomalies (because of poor normal interpolation).

                              SketchUpScreenSnapz074.jpg

                              So you actually want a triangle ABC here because no rendering hardware or software can interpolate the edge AC and get the same results as AB,BC

                              Adam

                              Developer of LightUp Click for website

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

                                I wasn't suggesting you remove a small face just merge its vertices so it vanishes... πŸ˜•

                                TIG

                                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