MoI discussion forum
MoI discussion forum

Full Version: Add thickness to a geometry failed

From: albehany
28 Aug 2021   [#1]
Hi guys, I have this geometry and I want to add Add thickness to it and bevel the edge but as you see in the attached image when I use Shell it's not working so I am not sure what happening here and how to fix it. if someone can please explain to me this and how to fix it in others geometry. Thank you





Attachments:
mesh.3dm

Image Attachments:
MoI_b6aI0VdDzg.png  MoI_DHbQX5dDar.png 


From: Michael Gibson
28 Aug 2021   [#2] In reply to [#1]
Hi albehany, the Shell command in MoI is pretty limited, it can thicken a single simple shaped surface into a solid but it has difficulty with more complex cases like you have here.

There are other CAD programs that have a much more developed shelling function than the geometry library that MoI uses, for example OnShape or SolidWorks. They could probably handle shelling this if you exported your model to those systems.

It looks like the main problem that's happening with the shell in MoI is it's getting a kind of skew in the part where it's trying to loft the "side walls" part of the end result.

It looks like you should be able to use these steps in Moi instead of Shell:

Start with using Edit > Separate on your model to break it apart into individual surfaces.

Then use the "Offset" command rather than Shell to generate offset surfaces. Because it's working on individual surfaces it won't have to try to extend surfaces that have a joined edge between them which is where a lot of the difficulty in shelling is in.

You can then do an extrusion (with "Cap ends turned off) on the top edges to make the top "side walls" and a Construct > Planar on the bottom openings to make the bottom cap.

You may need to do some additional work in the areas where you have variable radius fillets applied, those will not offset very well. You might need to wait and apply those after making an offset rather than before.

It might be best to do that for the whole thing actually, generate an offset version from an all sharp edged version with no fillets and apply fillets to it after offset.

Another spot that may be causing some problems is there is a spot where a line and arc meet at a shallow 7 degree angle instead of being smooth:


- Michael

Image Attachments:
albehany_not_smooth1.jpg 


From: Frenchy Pilou (PILOU)
28 Aug 2021   [#3]
You can use after the Separate the native hidden function ExplodeMove then Shell
(Press TAB and write ExplodMove)
For Example 2
Not sure that the inverse ExplodeMove (0,5) will works perfectly because maybe some pieces are not clean...but you will have an half base! :)




From: Michael Gibson
28 Aug 2021   [#4] In reply to [#1]
So yeah the variable radius fillet part is also problematic for offset/shell because it's not smooth to its adjacent surfaces:





Was that part maybe made by patching in with a network surface instead of from a fillet? Anyway it's not smooth there and that adds a lot of complexity to doing surface offsetting because only surfaces that are smooth to each other will produce offsets that naturally touch each other. Offset surfaces at sharp edges will have gaps between the offsets.

So one thing you could do would be to leave out that transitional fillet piece from the individual surface offsetting described above and patch it in doing Network on the offset pieces instead.

- Michael

Image Attachments:
albehany_not_smooth2.jpg  albehany_not_smooth3.jpg 


From: Michael Gibson
28 Aug 2021   [#5] In reply to [#1]
Hi albehany, here's a version that I generated using the above steps - Edit > Separate, then offset surfaces (excluding transitional fillets), Extrude and Planar to make side walls, then Network to fill in the spots on the offset for the transition fillets.

You would probably get better quality in those spots by applying fillets at the end instead of having them in place prior to offsetting.

- Michael

Attachments:
mesh_thickened_3dm.zip


From: Michael Gibson
28 Aug 2021   [#6] In reply to [#3]
Hi Pilou,

re:
> You can use after the Separate the native hidden function ExplodeMove then Shell

I would not recommend that because then you would have a whole bunch of solids with overlapping surface areas that would need to be removed. When trying to do a boolean on something like that it makes it difficult because you're telling it to make surface/surface intersections on many coincident or nearly coincident pieces.

That's why it's better to do an offset of the individual surfaces to make a surface result to combine using Join and not try to make a whole bunch of individual solids for this kind of case.

- Michael
From: Frenchy Pilou (PILOU)
28 Aug 2021   [#7] In reply to [#6]
Sure that was just theorical for a speedy method not one by one... :)

I will study your method!
From: albehany
1 Sep 2021   [#8]
Thank you so much guys. this is really useful.
From: albehany
2 Sep 2021   [#9]
Hi Michael, I try your solution and it's work good only small problem I have any idea how to avoid it. see the attached image please. Thank you


Image Attachments:
InkedMoI_Ui9opMk7tC_LI.jpg 


From: Michael Gibson
2 Sep 2021   [#10] In reply to [#9]
Hi albehany, yes those are the areas that I mentioned above that are not smooth on the original model. Surfaces that are not smooth to each other will have gaps between them when they are offset.

So to complete your model you should not offset those surfaces that are blending between different fillet radii, instead build a Network surface from the 4 surrounding offset surfaces.

Or some other things you could try are filling in the gaps you show using Construct > Blend, or trying to apply a fillet to those edges on the base model so it's smooth there so the offsets will naturally meet each other.

It may be better to wait to apply fillets until after constructing the offset rather than putting them on before where they need to be offset as well.

- Michael
From: albehany
8 Sep 2021   [#11] In reply to [#10]
Thank you Michael.