Mesh problem after boolean operation

HI all,
i continue working on the wing dicussed here

I cutted the hull in parts (for 3D printing later on).
I have a subsection of the wing as shown here (foil5 in the file):


which I got from boolean intersect / difference. So far so good.

Now I want to solidify it towards the inner to get a shell of a certain thickness. If I use add modifier, solidify, offset -1, thickness x,

selectOne('foil4') #4 to the inner
bpy.ops.object.modifier_add(type='SOLIDIFY')
bpy.context.object.modifiers["Solidify"].offset = -1
bpy.context.object.modifiers["Solidify"].thickness = thick/2.0
bpy.context.object.modifiers["Solidify"].use_even_offset = True
bpy.context.object.modifiers["Solidify"].use_quality_normals = True
bpy.ops.object.modifier_apply(apply_as='DATA', modifier="Solidify")

I get overlapping material in the trailing edge region:

A first question would be - can I prevent this?
post will be continued (the forum soft says I can only attach 3 images per post)

Alex

Attachments


my idea was to use boolean intersect/difference with the original wing section outward solidified to keep only the inner part:

Any idea how to achieve a subtraction which results in a mesh/object of comparable quality as it was initially?

Thanks!
Alex

Attachments

h105_3dprint.blend (8.16 MB)

The problem, as I’m sure you understand, is because the thickness at the rear edge of the foil tapers to zero, so any offset will overlap. You can fix this by taking a different approach.

1> Delete the faces forming the two flat faces of your foil segment.
2> On one side, select all of the top edge, except one at each end. Extrude all the selected edges downward by the width of the desired offset. Repeat this for the bottom edge. (Note: If you have the Offset Edges addon installed, you can do this extruding in one step and get a more even thickness).
3> Delete all the overlapping faces at the thin end, except one pair. At this point the thin end should look something like that in the image below.


4> Fix the overlapping pair and manually fill in the rest. Also fill in the two missing faces at the fat end. Now, the thin end should look something like the image below.



5> Duplicate all the faces on this side and mirror them to the other side. Flip normals and remove doubles.
6< Select the inner edge loop of the faces on both sides and bridge them. This should create what you want, as shown below.

Hi Vince,
thanks for your hints, I will have a look at it.

I understand the source of the issue (two ‘adjacent’ faces being close). But I guess this is a usual issue, e.g. in 3D Printing: I have an object and need to get a certain thickness of the hull. There might always be regions where ‘naive’ extrusion by xmm would lead to the problem i have.
Think of a comic figure with sharp ear tips etc.

Can’t be the solution to manually check and edit every such region - not?

Have for example a look at the cura slicing software behavior:



On the right side, you see that I applied a thickness of 3mm, without material leaking outside of the object.

Isn’t something similar possible in blender (I actually look for a scribtable solution, as I need to do it regularly for different wing shapes).

Thanks
Alex

If you’re going to try what I suggested and you really need a precise, constant thickness, you need to do the extrusions with the Offset Edges addon. Good luck.

As I have the original wing fully under (python) control, I decided to go via getting 2 wings (one a liitle smaller than the other) and boolean difference them.
This gives almost constant thickness, except at the stips where the material gets a bit thicker.