Knitting surfaces or turning into solid changes face quality
Posted: Fri Apr 05, 2024 9:23 am
Hi, I am building a shape for a boat hull that will be used as a mold, and therefore has to have impeccable surface quality. I am building it with surface tools, half at a time, using 3 longitudinal curves and guide curves at the start and the end:
As you can see there is a round at the front end - I included it in the sketches, because adding Fillet at the end (after the shape has been built) didn't work. However, that round would really mess up the main surface, so I build it separately. That is why there are two curves at the front.
The final surface must:
1. Be tangent to start and end curve normals;
2. Pass through the middle curve as closely as possible;
3. Be convex everywhere, and not protrude past the start/end guide curve normals (do not bulge out).
4. Be absolutely smooth, with no wrinkles, artifacts, hollow spots or sudden changes in curvature.
5. Have continuous change in curvature both longitudinally and laterally.
I built several helper surfaces (yellow) to help guide these tangents:
The surface you see here is the best I managed after 2 weeks of struggle. I tried Loft, Boundary, Fill, Sweep. I tried building this as a single surface (except for the front round) and as separate surfaces (splitting the challenge into multiple sections, and using C2 to connect them). Unfortunately building separately didn't work, I could never get smooth enough transitions between different faces. So in the end I had to define more guide curves, 9 in total, to get Boundary to behave that defines the entire surface in one go:
This way I could forgo using the middle curve for Boundary directly (the final surface still follows it close enough), and got relatively smooth surface - at least far better than any of my other attempts. Unfortunately it still has some artifacts that I can't get rid of, no matter what:
I hope it is possible to do better than this, but I haven't found a way to do it. In any case, what my question is about, is that when I Knit this main surface with the front round surfaces, the quality of the surface changes a tiny bit. This isn't much of an issue. But later on, when I do more Knits to turn this surface into a solid, the quality changes substantially, both for Knit and for Thicken (or any other surface->solid) features:
As you can see, Knit makes it worse, but Thicken does seem to make surface smoother in most places - but creates artifacts in some other places (like the bottom near the front).
And these are not just visual artifacts. The faces do indeed end up with some funky geometry:
I understand that Knit might do that to close up some microscopic gaps; but I was very careful not to create any gaps in the first place, making sure everything is connected perfectly prior to Knit. As for Thicken, I am also at a loss, don't know why turning a surface into a solid makes such drastic changes.
I tried:
1. Different ways to knit (knit everything at once, or few surfaces at a time)
2. Using different features to turn this surface into a solid (Knit with Create Solid option, Thicken, Intersect)
3. Different strategies (knit first, create solid second, mirror third, or other ways around)
4. Cutting out and patching these bad spots, but this only results in multiple surfaces which I will have to knit and turn into a solid again, which again creates unpredictable behavior.
5. Replace Face feature on the final solid body to restore original surfaces - makes it even worse.
Can anyone advise me why does Knit and Thicken change surface quality so much, and how can I gain more control over this? Does this happen because the initial Boundary surface was imperfect in the first place, and these artifacts propagate to other places? If so, how do I make it completely smooth?
Like I said, I spent 2 weeks fighting SW with this. I even got Matt's "SolidWorks Surfacing and Complex Shape Modeling Bible", but didn't find answers there either. I am attaching this part to this post if you want to take a look. I would really appreciate it if anyone could help with this. I am aware that SW is not the best software there is for surfacing, but I mean, one of the main uses it was created in the first place was designing plastic injection mold parts and molds themselves... Where surface quality is absolutely imperative. So surely there must be a way to do better than I did here.
As you can see there is a round at the front end - I included it in the sketches, because adding Fillet at the end (after the shape has been built) didn't work. However, that round would really mess up the main surface, so I build it separately. That is why there are two curves at the front.
The final surface must:
1. Be tangent to start and end curve normals;
2. Pass through the middle curve as closely as possible;
3. Be convex everywhere, and not protrude past the start/end guide curve normals (do not bulge out).
4. Be absolutely smooth, with no wrinkles, artifacts, hollow spots or sudden changes in curvature.
5. Have continuous change in curvature both longitudinally and laterally.
I built several helper surfaces (yellow) to help guide these tangents:
The surface you see here is the best I managed after 2 weeks of struggle. I tried Loft, Boundary, Fill, Sweep. I tried building this as a single surface (except for the front round) and as separate surfaces (splitting the challenge into multiple sections, and using C2 to connect them). Unfortunately building separately didn't work, I could never get smooth enough transitions between different faces. So in the end I had to define more guide curves, 9 in total, to get Boundary to behave that defines the entire surface in one go:
This way I could forgo using the middle curve for Boundary directly (the final surface still follows it close enough), and got relatively smooth surface - at least far better than any of my other attempts. Unfortunately it still has some artifacts that I can't get rid of, no matter what:
I hope it is possible to do better than this, but I haven't found a way to do it. In any case, what my question is about, is that when I Knit this main surface with the front round surfaces, the quality of the surface changes a tiny bit. This isn't much of an issue. But later on, when I do more Knits to turn this surface into a solid, the quality changes substantially, both for Knit and for Thicken (or any other surface->solid) features:
As you can see, Knit makes it worse, but Thicken does seem to make surface smoother in most places - but creates artifacts in some other places (like the bottom near the front).
And these are not just visual artifacts. The faces do indeed end up with some funky geometry:
I understand that Knit might do that to close up some microscopic gaps; but I was very careful not to create any gaps in the first place, making sure everything is connected perfectly prior to Knit. As for Thicken, I am also at a loss, don't know why turning a surface into a solid makes such drastic changes.
I tried:
1. Different ways to knit (knit everything at once, or few surfaces at a time)
2. Using different features to turn this surface into a solid (Knit with Create Solid option, Thicken, Intersect)
3. Different strategies (knit first, create solid second, mirror third, or other ways around)
4. Cutting out and patching these bad spots, but this only results in multiple surfaces which I will have to knit and turn into a solid again, which again creates unpredictable behavior.
5. Replace Face feature on the final solid body to restore original surfaces - makes it even worse.
Can anyone advise me why does Knit and Thicken change surface quality so much, and how can I gain more control over this? Does this happen because the initial Boundary surface was imperfect in the first place, and these artifacts propagate to other places? If so, how do I make it completely smooth?
Like I said, I spent 2 weeks fighting SW with this. I even got Matt's "SolidWorks Surfacing and Complex Shape Modeling Bible", but didn't find answers there either. I am attaching this part to this post if you want to take a look. I would really appreciate it if anyone could help with this. I am aware that SW is not the best software there is for surfacing, but I mean, one of the main uses it was created in the first place was designing plastic injection mold parts and molds themselves... Where surface quality is absolutely imperative. So surely there must be a way to do better than I did here.