PrusaSlicer removing internal cavity when split to parts
 
Notifications
Clear all

PrusaSlicer removing internal cavity when split to parts  

  RSS
oyvindt
(@oyvindt)
Active Member
PrusaSlicer removing internal cavity when split to parts

Hi!

I have a part with an internal cavity (this part is not the actual part I'm making, but trying to reproduce this with a very simple part):

 

Now when i load this part into PrusaSlicer and slice it without separating it into parts it seems to be working fine:

 

But when I split the object into parts so I can assign different filaments the slicer finds errors in the manifold (that it repairs), and the internal cavity is filled in. The previous cavity is also now displayed as a part, while it should not show up at all. Trying to delete that internal cavity-part does not help either, as the big cube is still completely filled with infill.

 

I need this internal cavity so I can stop the print and embed a magnet in the print. Am I doing something silly here, or have I stumbled across a bug?

Publié : 11/06/2019 6:29 am
oyvindt
(@oyvindt)
Active Member
Topic starter answered:
RE: PrusaSlicer removing internal cavity when split to parts

Oopsies - that was some tiny pictures! Here they are bigger:

Working internal cavity:

 

Cavity gone, and shows up as part in part-list, with "repaired" manifold:

 

Publié : 11/06/2019 8:02 am
Neophyl
(@neophyl)
Illustrious Member
RE: PrusaSlicer removing internal cavity when split to parts

The extra part is the cavity.  Its one common way of doing a void in an object, you just invert the normals of the second object, that in effect creates a void.  It means in the modelling software you can move the void around as you are simply re positioning the second object.  By splitting the model into parts you are removing the void.  Its repairing the 'void' as in effect its an inverted object and cant print so Slicer is 'fixing' the normals to make them point outside to make it a printable object.  Basically its doing exactly what it should be doing as you have told it its a separate object by splitting it. 

You need to use some other software to get your model correct before importing it to slicer.  Haven't used it but I believe Meshmixer is a common choice for this sort of operation.

Publié : 11/06/2019 8:57 am
oyvindt
(@oyvindt)
Active Member
Topic starter answered:
RE: PrusaSlicer removing internal cavity when split to parts
Posted by: Neophyl

Its repairing the 'void' as in effect its an inverted object and cant print so Slicer is 'fixing' the normals to make them point outside to make it a printable object.  Basically its doing exactly what it should be doing as you have told it its a separate object by splitting it. 

I don't know if I understand why this is what Slicer should be doing. Wouldn't it be better if it understood that the inverted normal was an inside face creating a void?

I don't (obviously) know nearly enough about how this works, but Slicer still seems to be acting weirdly in that I can't actually see the object that it created from that void. I would expect that I would be able to delete it so I could actually create that void. Or does it remove those inverted normals from my outer cube when it does the "fixing"?

I guess I could also fix this by creating a tiny hole going from the outside face of my model to the void as this would avoid having inverted normals (this wouldn't be a problem in the actual model I'm printing as that "vent-hole" would be covered by other geometry).

Thanks for the help 🙂

Publié : 11/06/2019 9:20 am
oyvindt
(@oyvindt)
Active Member
Topic starter answered:
RE: PrusaSlicer removing internal cavity when split to parts

Okay, so after some experimenting, I found that if I make a 0.01mm hole from the outside wall to the cavity, the parts splits as I wanted them too. Also PrusaSlicer does not actually print this hole. I didn't play around enough to check how small the hole had to be for the slicer to ignore it. 

Publié : 11/06/2019 10:00 am
Neophyl
(@neophyl)
Illustrious Member
RE: PrusaSlicer removing internal cavity when split to parts

You have to understand how your model is actually constructed.  With just a cube in a cube its 2 seperate objects.  the normals on your bigger outer cube point to the outside (basically the normal is your outer face).  On your inner cube (the void) the normals face inwards giving you an interior wall.

When you imported the model in Slicer with the separate option you are telling it to treat all the objects as separate parts.  Logically it looks at them and sees that on the void object all the faces are inwards and so its not a printable object.  It then tries to 'fix' the object by inverting the normals to make a printable object.  Which it does and so you get a printable object instead of the void.  Most slicers try to repair models as if they didnt almost nothing downloaded would print correctly.  The amount of slightly broken models out there is mind blowing.  I'm glad it does as most of mine wouldnt print lol.

Anyway when you add that hole going from the outer cube to the inner cube your modelling software defines them as one object now (they are connected physically).  So when you import it into Slicer with the separate option the objects are no longer 2 objects but 1.  That's what I meant by altering your model.  Depending on your modelling software you might be able to simply connect one vertice of your outer to a single vertice of the inner and get the same linked state without having to have a hole.  That's going to be a case of try and see.

Publié : 11/06/2019 10:35 am
--
 --
(@)
Illustrious Member
RE: PrusaSlicer removing internal cavity when split to parts

The magic word is SHELL.  Multiple shells - if placed certain ways, make surfaces extremely hard to distinguish.   

The added hole allows Plicer to know the inside of the second shell is an exterior surface -- until you added the hole, the internal shell only a set of vectors with no computer readable surface information. Plicer guesses. I've seen it guess the part itself is the void, and the inner void the part needing printing. 

 

Publié : 11/06/2019 8:33 pm
oyvindt
(@oyvindt)
Active Member
Topic starter answered:
RE: PrusaSlicer removing internal cavity when split to parts

Yeah - I see how it wouldn't be easy for PrusaSlicer to always guess correctly, so I think I have to accept it the way it handles the faces.

Thanks both for your explanations; it cleared things right up! 🙂

Publié : 11/06/2019 8:43 pm
--
 --
(@)
Illustrious Member
RE: PrusaSlicer removing internal cavity when split to parts

You can always make the part a solid to remove the shell issue.

Publié : 11/06/2019 9:08 pm
db
 db
(@db-3)
New Member
RE: PrusaSlicer removing internal cavity when split to parts

@oyvind-t2

This post helped me adding a void for saving filament and time, and i got a solution to reproduce the result.

It doesn't matter if the faces of the inner object are inwards or outwards. The only important thing is the order of slicing (works using PrusaSlicer 2.2.0). My workflow: I open a model with at least 2 shells. Then i click "split into parts" at the top of the preview window, with the small "P" on it. Alternatively, you can rightclick and select "divide/split -> into parts". In the objects window, the parts appear, and the exclamation icon shows you which of them is faced inside. Then rearrange the order, so that the most inner parts are sliced at first and the most outer part is sliced at last. With the gear icon next to each part, you can set the walls, bottom/top layers and infill density indiviually.

Publié : 16/04/2020 8:31 am
Partager :