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

    SubD shrinks the object

    Scheduled Pinned Locked Moved SUbD
    renderpluginsextensions
    19 Posts 3 Posters 17.2k Views 3 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.
    • uwesketchU Offline
      uwesketch
      last edited by

      Hi thomthom,
      I have checked the Catmull-Rom Spline in 3D and it works very ice.

      The object used as a starting point is a regular cube that was subdiveded with SubD on the first level. This contains planar circles with 8 segments as well as non-planar "circles".
      The CatMull interpolation was done with all corner points as control points. Each loop on the object was interpolated. The interpolation added one point to each existing segment (like increasing the level by one with SubD). Then the interpolated loops were manually connected to form the subdivided mesh.

      For comparision, below screenshots also show the result when using SubD with level 2 subdividing on the cube.

      CatMull Interpolation on Subdivided Cube

      Front view with parallel projection

      The red circle below shows how the coarse 8 corner circle from the subdivided cube is smoothed.
      Also good to see is, that the SubD subdivided cube is not yet a sphere (compare with the red circle).
      As all corner points of the Level 1 SubD cube were used as control Points for the CatMull-Rom spline, the interpolated object is getting smoother, but will not become a sphere, since the starting object is not spherical.

      CatMull Interpolated Mesh around the Subdivided Cube

      Could this interpolation be added to SubD as a "none shrinking" option?

      I also have attached the sketchup model from which these images were created.

      Kind Regards
      Uwe


      Sketchup-file for CatMull Interpolation test

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

        How would you apply this to an arbitrary mesh? A cube is quite a simple example. You describe you worked on the loops of the cube - but in an arbitrary mesh it's not going to be as clean and simple as a cube.

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

        1 Reply Last reply Reply Quote 0
        • uwesketchU Offline
          uwesketch
          last edited by

          Do you have an example mesh that you consider complex enough to play with? I wiill take that mesh and subdivide it manually to show / develop the idea.

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

            I can look for more, but here is one for starters: https://sketchucation.com/forums/viewtopic.php?f=397&t=63826#p584981

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

            1 Reply Last reply Reply Quote 0
            • uwesketchU Offline
              uwesketch
              last edited by

              I only did the Bell for now. But I hope it shows the idea/Concept.

              The task is to keep the dimensions of the objects the same but still making the surface smooth.
              For the bell this means that the sharp edges have to be smoothed and the less curved areas should be become round. As the less curved areas are the top of the bell.

              Bell FreThom subdivided

              1 Reply Last reply Reply Quote 0
              • uwesketchU Offline
                uwesketch
                last edited by

                I did some further testing with Catmull Interpolation. I found that in principle it works, but in the area of sharper edges/corners the Catmull Interpolation (by definition) will "inflate" the area on both sides around the edge/corner quite a bit. This could be solved in a similar way as in SubD where one can define a crease value.

                But instead of defining how an edge/corner shall be interpolated, there is another way to obtain smooth edges and corners without shrinking: FredoCorner.
                Combining FredoCorner and SubD in a workflow, will not solve the shrinking issue completely.
                But using FreeoCorner in areas where no shrinking shall apply and use SubD on top to smooth the remaining areas, is a good compromise giving a lot of flexibility in subdividing.

                An open point is, that FredoCorner does not (yet) offer a toggle on/off feature like SubD.

                @Thom: Not sure if there is a collaboration/exchange between you and Fredo, but this would be a perfect combination πŸ˜„

                My last question on this "shrinking" topic: Will or is there an option in SubD to exclude areas from being subdivided in a group/component? Like you can define a crease as infinitely sharp, an area enclosed by sharp edges could be excluded for instance.

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

                  @uwesketch said:

                  Combining FredoCorner and SubD in a workflow, will not solve the shrinking issue completely.
                  But using FreeoCorner in areas where no shrinking shall apply and use SubD on top to smooth the remaining areas, is a good compromise giving a lot of flexibility in subdividing.

                  Yea, for cases where you only want bevel/chamfer then other tools like FredoCorner is better - provides a leaner mesh. Hard edge modelling with SUbD will leave you with lots of extra faces that isn't really needed. At least in the form SUbD have to work inside of SU - uniform subdivision.
                  OpenSubdiv supports adaptive subdivision, but it's view based. Since SU doesn't have an API to override how an object appear it can't really be used for the purpose of SUbD.

                  @uwesketch said:

                  An open point is, that FredoCorner does not (yet) offer a toggle on/off feature like SubD.

                  I know the old RoundCorner didn't. But I thought the new FredoCorner had an edit feature. Pretty sure I at least saw a function to revert bevel/chamfer.

                  @uwesketch said:

                  @Thom: Not sure if there is a collaboration/exchange between you and Fredo, but this would be a perfect combination πŸ˜„

                  We talk. πŸ˜„ Some of his recent extensions are starting to have support for QuadFace Tools quads.

                  @uwesketch said:

                  My last question on this "shrinking" topic: Will or is there an option in SubD to exclude areas from being subdivided in a group/component? Like you can define a crease as infinitely sharp, an area enclosed by sharp edges could be excluded for instance.

                  Afraid not. Bridging the subdivided geometry with the not subdivided isn't really doable without artefacts. The shrinking effect of the subdivided mesh is one reason for this.

                  Originally I created planar quads as a single face instead of two triangles - in an attempt to optimise the face count. But when you came to perform crease adjustments etc it'd be causing lag when the planar native quad had to be broken into triangles.

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

                  1 Reply Last reply Reply Quote 0
                  • uwesketchU Offline
                    uwesketch
                    last edited by

                    @unknownuser said:

                    thomthom wrote:
                    I know the old RoundCorner didn't. But I thought the new FredoCorner had an edit feature. Pretty sure I at least saw a function to revert bevel/chamfer.

                    Yes, there is an Undo/Edit function. Which is a great feature and a good starting point for a (global) Toggle On/Off like in SubD.
                    But such a toggle on/off is not there yet.
                    Another issue is, that when using SubD on a group/component where FredoCorner has been applied, the FredoCorner Undo/Edit does not work anymore. Seem like SubD overwrites some information used by FredoCorner.
                    Would be great, if both tools could work together. Kind of a "FreThom tool" πŸ˜„

                    @unknownuser said:

                    thomthom wrote:
                    Afraid not. Bridging the subdivided geometry with the not subdivided isn't really doable without artefacts. The shrinking effect of the subdivided mesh is one reason for this.

                    Originally I created planar quads as a single face instead of two triangles - in an attempt to optimise the face count. But when you came to perform crease adjustments etc it'd be causing lag when the planar native quad had to be broken into triangles.

                    I see. Then I have another idea (since the adaptive Subdivision feature from OpenSubDiv also cannot be applied in SU):
                    As an option selectable by the user in SubD, could you run at the end of the subdivision process the "remove triangulation" from Quadface tool and then the "Merge Faces" Tool from your CleanUp3 (or the "Remove coplanar edges" command from Fredos "EdgeControl" tool)?
                    Like this, the still planar faces after subdivision would not contain so many coplanar edges.

                    1 Reply Last reply Reply Quote 0
                    • BoxB Offline
                      Box
                      last edited by

                      You mean something like this?


                      101.gif

                      1 Reply Last reply Reply Quote 0
                      • uwesketchU Offline
                        uwesketch
                        last edited by

                        Yes, exactly.
                        But in a way, that afterwards you can toggle off the subdivision again.
                        I think when converting to a simple mesh, you cannot un-subd anymore.

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

                          I've logged that as an enhancement request. Need to investigate a but further regarding some techincal details of applying creasing when the mesh isn't all triangles.

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

                          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