• Login
sketchucation logo sketchucation
  • Login
ℹ️ GoFundMe | Our friend Gus Robatto needs some help in a challenging time Learn More

[REQ] Select internal edges

Scheduled Pinned Locked Moved Plugins
17 Posts 7 Posters 3.1k Views
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.
  • P Offline
    pilou
    last edited by pilou 19 Oct 2009, 14:02

    "Remove inner faces" don't work in this case (some surfaces are no coplanar)
    So something who select internal edges of volumes will be cool πŸ˜„

    http://forums.sketchucation.com/download/file.php?id=35191

    Image above and file test By Tomot


    edges.jpg

    Frenchy Pilou
    Is beautiful that please without concept!
    My Little site :)

    1 Reply Last reply Reply Quote 0
    • P Offline
      plot-paris
      last edited by 20 Oct 2009, 13:02

      cool idea. that could indeed be useful at times

      1 Reply Last reply Reply Quote 0
      • T Offline
        TIG Moderator
        last edited by 20 Oct 2009, 13:35

        Thinking out loud...

        Outline of the Tool

        Select Entities [e.g. Faces and Edges].
        Look at each Edge in turn.
        Make an Array of all of the Edges and Faces Connected to that particular Edge.
        If that Edge has no Face then Erase it
        If that Edge has Faces we loop through each Face.
        If the Ray projected along the Normal of that Face, and along the Normal.reverse of that Face both Intersect with a Face or Edge that in is the 'Connected' Array then it's Internal and we Erase the Face AND perhaps Erase the Edge - if none of its other Faces aren't 'External' ?
        Fails if 'overhangs' ?
        We continue through he Set until we are done...

        TIG

        1 Reply Last reply Reply Quote 0
        • T Offline
          thomthom
          last edited by 20 Oct 2009, 13:50

          @tig said:

          If the Ray projected along the Normal of that Face, and along the Normal.reverse of that Face both Intersect with a Face or Edge that in is the 'Connected' Array then it's Internal and we Erase the Face AND perhaps Erase the Edge - if none of its other Faces aren't 'External' ?

          hm... might not work. if the shape bend for instance in a U shape then the faces in the inside of the U will intersect faces in both its normals, even though it's an external face.

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

          1 Reply Last reply Reply Quote 0
          • T Offline
            TIG Moderator
            last edited by 20 Oct 2009, 15:15

            Hence my
            @unknownuser said:

            Fails if overhangs...
            Can't see an effective foolproof way of determining if an Edge or Face is within a Volume...

            TIG

            1 Reply Last reply Reply Quote 0
            • R Offline
              remus
              last edited by 21 Oct 2009, 08:07

              Pilou, i think the problem is finding some way of determining whats an internal face and whats an external face.

              http://remusrendering.wordpress.com/

              1 Reply Last reply Reply Quote 0
              • P Offline
                pilou
                last edited by 21 Oct 2009, 08:09

                Does not possible after an general "intersect", select only external faces, invert selection, erase?

                Frenchy Pilou
                Is beautiful that please without concept!
                My Little site :)

                1 Reply Last reply Reply Quote 0
                • T Offline
                  TIG Moderator
                  last edited by 21 Oct 2009, 09:12

                  At first sight it should be easy...
                  We list all_connected faces in the shape, then we loop through the list.
                  If a ray that's on an all_connected face's 'normal' intersects with something else in the all_connected list then it's internal...
                  This method works fine on a simple cube** etc BUT if the shape is 'convoluted' then there can be external faces overhanging other external faces, so that the method finds a ray intersection and return them as 'internal', but they are NOT...
                  **Note that also 'reversed faces' will appear to be internal when they aren't, even on a simple cube !

                  I'm sure there's some clever topological way of telling if a face is external or internal to a set of connected faces... but I don't know what it is. 😒

                  If only we knew a budding Mathematician... Remus, do you know any ? πŸ˜‰

                  TIG

                  1 Reply Last reply Reply Quote 0
                  • T Offline
                    thomthom
                    last edited by 21 Oct 2009, 09:20

                    I wonder if SketchPhysics has some code that could be useful to determine external/internal faces..?

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

                    1 Reply Last reply Reply Quote 0
                    • P Offline
                      pilou
                      last edited by 21 Oct 2009, 09:25

                      If you make the 6 views XYZ "visibles front face" by Normal you have not all external visible faces?

                      In Blender you have something named "occlude background geometry" that help for this sort of selection

                      Frenchy Pilou
                      Is beautiful that please without concept!
                      My Little site :)

                      1 Reply Last reply Reply Quote 0
                      • T Offline
                        TIG Moderator
                        last edited by 21 Oct 2009, 10:02

                        @unknownuser said:

                        If you make the 6 views XYZ "visibles front face" by Normal you have not all external visible faces?

                        In Blender you have something named "occlude background geometry" that help for this sort of selection

                        It won't 'see' ALL external faces... if for example there is a hollow into the shape that is wider at the back...Hollow.png

                        TIG

                        1 Reply Last reply Reply Quote 0
                        • P Offline
                          pilou
                          last edited by 21 Oct 2009, 10:07

                          So a cool headache πŸ˜„

                          Frenchy Pilou
                          Is beautiful that please without concept!
                          My Little site :)

                          1 Reply Last reply Reply Quote 0
                          • T Offline
                            thomthom
                            last edited by 21 Oct 2009, 10:12

                            Yea, it's a royal pain in the rear end!

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

                            1 Reply Last reply Reply Quote 0
                            • T Offline
                              thomthom
                              last edited by 21 Oct 2009, 11:13

                              just came across this thread: http://forums.sketchucation.com/viewtopic.php?f=180&t=12668
                              haven't looked at the code yet.

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

                              1 Reply Last reply Reply Quote 0
                              • J Offline
                                JClements
                                last edited by 22 Oct 2009, 01:29

                                Question:

                                Does or can ruby act differently in selecting geometry if Xray is turned on or off?
                                If so, then could you do two routines, one with it on and another with it off, then compare the two results?
                                Would the difference between the results of the two routines be the internal edges?

                                John | Illustrator | Beaverton, Oregon

                                1 Reply Last reply Reply Quote 0
                                • X Offline
                                  xrok1
                                  last edited by 22 Oct 2009, 02:00

                                  can you bounce light at the problem?

                                  β€œThere are three classes of people: those who see. Those who see when they are shown. Those who do not see.”

                                  http://www.Twilightrender.com try it!

                                  1 Reply Last reply Reply Quote 0
                                  • T Offline
                                    TIG Moderator
                                    last edited by 22 Oct 2009, 16:53

                                    A combination of Erase-Coplanar-Edges and the Remove-Inner-Faces, then Erase-Coplanar-Edges again gets rid of most internal faces and edges BUT it can't remove inner faces that are subdivided and not coplanar or have a single-faced edge...

                                    I thought about getting the all_connected face/edge and vertices and using the shape's topology - Euler Factor - v-e+f=2 etc to see if that helped - but so far not much use. If you remove the coplanar-edges first it does return 2 for simple solids + 1 for every internal cell making face... ❓

                                    TIG

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

                                    Advertisement