New Solidify Modifier

I made a completely new solidify tool and want to make it into a C modifier now. It performs ok with python but for bigger meshes it just takes to long (it has basically O(N) time complexity so not that bad)

The goal of the new (as I call it for now) Manifold Solidify is to give meshes a manifold skin no matter how messy the vertex normals and topology are. I even included some experimental intersection fixing for beveled edges and closing holes. I uploaded the addon to github so you can try it.

I would like to know if a modifier version of that tool could make it into an official blender release (maybe even 2.81 if everything goes smooth). I would like to start programming it and would like to know prior if I’m wasting my time.

22 Likes

Just an idea, but could be good if you implement it as an option for the current Solidify modifier instead of having a new modifier (in the same fashion we have in the Remesher modifier).

So if you do a patch, then if would be reviewed and I think it could be easier to implement if it’s an option for an existing modifier than having a new separate modifier, and in this case it is totally related IMHO.

4 Likes

Thats a good idea. I would need to make it just like in the Remesh Modifier, that the options would get switched out for other ones if I switch the mode to manifold. I could also implement my intersection code into the default solidify and it could also benefit from it (I think, I need to check tough).

4 Likes

Sounds very interesting. It’s very late in the evening over here, but I’m going to try the add-on tomorrow for sure. Thanks.

2 Likes

I agree, it would be better as a patch in the current solidify modifier, keep everything in one place. Actually that modifier could probably do with some love. I like your idea, really good work.

1 Like

Sounds great!

Can it handle, not only self intersecting polygons on the solidified side, but also solidified polygons poking through the original mesh?

(I know of only one software package that can handle all cases of that so far, and that’s called Materialize Magics and costs about €10000 per seat.)

1 Like

It looks that the algorythm could also work in the curve_extrude and edge_extrude stuff! That would be neat!!!

2 Likes

I’ve been having a lot of trouble with the Solidify modifier creating spikes with sudden bends in geometry, so I’m very curious to see the results of this one!

Hearing that it deals with messy geometry and normals also makes me think @pablodp606 might be interested for sculpt extraction!

1 Like

I agree. Please proceed with this useful initiative, @weasel. :+1:

I don’t think they will allow a new modifier in, at this point , specialy if it is just another copy of an existing modifier .

they are trying to transition all of the modifiers to everything node , the first version of everything node is coming on 2.82

so maybe if you write it directly for everything node you will have better chance at merging it…

Maybe you couldould ask @jacqueslucke, the Dev who developing everything node, he me give you some info on how to proceed.

Or what has been already said, as an mode option for the solidify modifier, it’s easier than get a new modifier implemented :slight_smile:

4 Likes

Does this currently allow you to Solidify in 1 direction and not both? If you wanted to keep the 1 side in place and extend/expand the other direction?

Are you talking about something different from Offset? If you set it to 100% or -100% all expanding will take place on either the front or back.

The Modifier you can do that, but i dont think in his version?

Oh, my bad matt, I assumed too much. If the new version doesn’t have Offset now one hopes it does when/if it’s merged with the current one. I use that setting almost 100% of the time.

1 Like

It won’t have the offset option, because my modifier does not distinguish between front and backside. That is also the reason why it work in all cases and why the current solidify does not work in all cases. As far as I have come yet I have implemented it as a second option (just like the modes in Subsuf Modifier) so you will be able to chose the correct solidify method for your object. Maybe I will add some of the additional features of my variant (when it comes to the position calculation of the new vertices) to the original simple solidify method.
Currently I’m stuck at a point, where my Modifier runs, but Blender stops after running it in some endless loop outside my code and I don’t know where. I will ask this in the #blender-coders chat and see if someone knows a reason, but if someone here knows a reason, don’t hesitate to answer.

3 Likes

Thanks for the update and details. Good luck with the rest of the integration.

I made a diff here:
https://developer.blender.org/D5766
This is my first code contribution to blender, so I hope everything is correctly done. Also If someone could review my code to have it in blender 2.81, that would be great!

4 Likes

Error bulding in windows, in lite and full

what is the Error Message? In Linux it builds fine for me…
Also I’m not touching any OS dependent code in my diff so the mistake is likely yours (or I just made a stupid mistake when create the diff…)