Jump to content

Complex CAD Assembly : how to merge separated parts and other questions

Recommended Posts

Posted (edited) · Complex CAD Assembly : how to merge separated parts and other questions

Hi there,


I really often face some complex assembly that i'm asked to print for a volumetric representative shape, nothing functionnal required, only the exterior accuracy.


Can't really share any modef for obvious reasons (user at work essentially, on sensible parts) but I tried to design a rough example that fail to illustrate everything, but let's tryl anyway, below. As most of you might be CAD users including for professonial work, just visualize a screen : it's not a whole continous part, there is the backplate, then the electronic, then the LCD, then a glass cover, and many other things inside. Each of theses parts actually are closed surface elements. And they are mounted alltogether with screws and / or glue. Well, then in your CAD assembly, the whole thing will have separated surfaces, let's say 0.1mm apart. And what happen if you save it as an STL and then import it in CURA or you favourite Slicer ?


Supports will be needed between all theses separated faces or else it won't print properly. Sure, you can tune your Support to be "strong", using the same material, increasing density, etc, but it won't work everytime, more the opposite, and it can be a pain in the ass to do so when you actually need support elsewhere with normal settings. And when you're using another dedicated material like water soluble support, it's even more impossible to proceed like this.


Smartphone Exploded Stock Illustration - Download Image Now - Exploding,  Diagram, Smart Phone - iStock


Let's go for some additionnal pics. As I said, it's a simplistic situation that does not show the whole issue, but still should help, I hope :




See here, two rectangle on top of another, splitted by 1mm gap. It has some other shape features so that it's not that simple.





Right above, we can see the 4-5 layers of support between the upper rectangle and the one below. Won't work properly, even if the support is a strong material. And please consider that it's simply not possible to tune this support as conventionnal layer.


So what's my question ? Ha ! The first one is... Is there a way, a software, an online tool or anything that would recreate a whole continuous single part based on an assembly ? I know it's complex, since it's quite an human appreciation do to so, what neet to be merge, what need to be closed, what need to remains ?


I especially need to close theses Z gaps between part in a vertical assembly... Think about that screen example again, I want it to be a single part that will merge everything that I don't even care inside, a closed volume that would print like a brick, but while keeping the speaker notch at the top, some details on the sides, and with exact exterior silhouette dimensions. Or think about a car model that has EVERYTHING inside, the engine, electronics, cables, mechanics, etc etc. I would love to have the visible exterior surfaces (that include the whole visible interior if windows are removed !) as a whole continuous volume that can be easily printed, and not having thousand parts separated by 0.XXmm because it's an engineering CAD assembly. Yeah, that's sound quite a magical tool i'm asking, but that an extreme case.


Dang that's so unfortunate not to be able to show what I have in front of my eyes, but pretty sure you got it.


I would say that I need some kind of STL Simplification that would merge any surfaces near to eachother within a specific range, like 0.2mm for the screen example. That would not change anyting to the exterior, neither for small details that are "more than 0.2mm wide" (thats very badly explained, my english has its limits, sorry).


Does it exist ?


I currently use Catia, and I ended up discovering a tool, "DMO - DMU Optimizer 2" and some function reaaaally come close to what I need, but not really... Some pictures below, using the Wrapping options, which use a 6-view projection to wrap the model. But then, well, it can't figure some complex geometry and I can't use it properly :






Please, if you have some help... It's a pretty basic need I would say, for industry uses, and I'm loosing so much time when I need to print theses kind of assembly.

Currently, most of the time, when the global shape is basic enough, I draw a volumetric rectangle, in CAD or directly in CURA, inside the model, to fill everything I can without spending too much time, but then again, it only work for basic shapes and I'm still having trouble near the extremity.




Edited by Dadkitess
  • Link to post
    Share on other sites

    Posted · Complex CAD Assembly : how to merge separated parts and other questions

    Hey @Dadkitess,


    That's an interesting challenge. 😮

    Do you understand your question correctly?
    You have an assembly in your CAD program and you want to print a prototype to get a feel for the size and fit. But when you export your model it comes with a significant zgap.


    Have you considered exporting your assembly as an .3mf instead of an .STL? In my experience you are can still manipulate the individual models if you do so. You could than drop the model a bit to remove the zgap. 

    I also fidgeted with 2 support meshes. 
    This is the closest that I could come to a solution.


    That's as far as my knowledge goes.
    So if it's not what you are looking for, let's hope that there are others that have a different point of view. 
    Fingers crossed 🤞


  • Link to post
    Share on other sites

    Posted (edited) · Complex CAD Assembly : how to merge separated parts and other questions

    Hey Mari, thanks for the quick answer !


    Sure I can split part in Cura when they have distinctive boundaries (even in STL :p), and then move them so that I can close the gap, but doing so, I loose the actual Z dimension of the whole part. I could increase the Z scale of the 2 elements to "share" the scaling and keep the global Z OK, but then any useful features such as mount interface on the flank would also be scaled up and not perfectly round for instance.


    In addition, I commonly have dozens or more parts, which would be not very convenient to manually offset / scale.


    Would be really nice to have a feature directly inside the CURA Correction section, to close vertical gap within a tolerance 😄 Sure It would not be the perfect solution as it might close some fine details that are actually interesting. Let's say for instance letters on a XZ or YZ face, an "S" ou an "E" letter that would be writter too little, would probably trigger the function and close the gap between the thin separation of the letters. But hey, nothing is never perfect haha, and with some zoning it might help a lot.


    It would also be some kinf of Z Expansion, I've always found weird that the option does not exist (not of my knowledge, at least) : This Z expansion would apply to any XY surfaces (parallel to the bed) so that it would extrude them by some 0.XX mm, just like we do it with horizontal expansion. But it would need an option to keep the exact external silhouette dimensions : the upper XY horizontal surfaces and the lower XY surfaces should not expand anymore, only in the direction of the center of the part. That would probably do the trick, without requiring too much attention as a user.

    Edited by Dadkitess
  • Link to post
    Share on other sites

    Posted · Complex CAD Assembly : how to merge separated parts and other questions

    in the original this is a simple task but with a stl already this wont be easy,

    If I undestand correct you want to make a single part of an assembly and keep the height for the gap in tact,  but dont want support in the gap just see it as the part it self as well right?


    This will cost the engineer who made the original about 5 sec best way for you is to ask him/her.


  • Link to post
    Share on other sites

    Posted · Complex CAD Assembly : how to merge separated parts and other questions

    If I understand this correctly, you need a 3rd part to fill the gap in such a way that there are no additions to the geometry of the two "real" parts.  I agree with @dsp that it wouldn't be difficult.  You could then merge the three parts and have your single model to print.

    Make a 1mm thick part that emulates the lower surface of the top piece.

    Make a 1mm thick part that emulates the top surface of the bottom piece.

    "Intersect" those 2 pieces.  The resultant shape will fill the gap and not be larger (or smaller) than the virtual intersection of the top and bottom parts.

    Locate the new piece within the real assy.

    Merge them into a single part.  I merged your STL and my filler STL in MS 3D Builder.


    This layer is .5mm above the surface of the bottom part.

    The most time consuming part of this was converting that original STL to a DXF so I could open it in Inventor.


  • Link to post
    Share on other sites

    Posted · Complex CAD Assembly : how to merge separated parts and other questions

    Thanks for your feedback !


    Well, sure I can merge another part in between and fill the gaps, and this is what I do 50% of the time I would say.


    The thing is... The example provided is damn too simple to illustrate the whole issue, as advertised. Most of the time I have dozens and dozens (read hundreds) of part with difficult geometry, and I can't really "patch" all the gaps with rectangles or simple shapes like this. Of course, I can extract some surfaces to make complex and proper patches, but that would be only if there is a single complex gap to fill. Can't do that for a whole car assembly for instance.


    Consider a car as an extreme example. Of course, it's quite "normal" that a car would require some pre-process work in 3D to allow a 3d-print, i'm okay with that, but that's an extreme example. Let say that i've removed everything that would be hidden and not useful : engine, cables, internal structure, etc. I only keep the external parts, as well as what need to be keeped in order to have something that hold together : the wheels but also the transmission, the spring triangle, etc. And the interior as of course, that will add fine details.


    Anyway let's take some example of what is not going to work :


    - The wheels are not merged with their axis since they need to roll, in real life.

    - The doors are separated from the rest of the cars, since they need to be opened, in real life.

    - Same goes for the front hatch, the back one, etc. Engine compartment is not closed at all, since there is the air-vent at the front to let the air goes in. 


    Etc. Even the "simple" example of the door not merged to the rest of the car, would be pain in the ass to fix, as it's a complex surface.


    What I would need (I think) is a kind of simplification that would merge everything that is closer than 0.XXmm automatically. Doors would be merged to the car, Wheels would be merged to their axis, etc. I totally understand that it's not an easy request or action at all, i'm just thinking that it MUST actually exist in a way or another, since it's quite a "basic" need, not only for 3d printing but any 3D complexe work when you actually simplify a whole perimeter so that it runs smoothly when working on another part. Some of the guys at my work are doing that using the Wrapping Catia Tool, which I describe in my first post and was a good starting point for me.


    Thanks again if you have any idea !

  • Link to post
    Share on other sites

    Posted · Complex CAD Assembly : how to merge separated parts and other questions

    I understand what you mean and I don't think there is an other way as closing the gaps, perhaps the simplification tool of your cad can close the gaps, and make a single part before exporting otherwise the easiest methode is to redraw the outershape and print afterwards. Printing complex assemblies takes time, but at the same time if the printed doors of your printed car can open like the real one its a nice feature right 😉

  • Link to post
    Share on other sites

    Posted · Complex CAD Assembly : how to merge separated parts and other questions

    Cura is a fine slicer.  Every once in a while someone will ask for more features to make adjustments to the model (or in this case an assembly).  Cura has a bit of capability in regards to modifying models, but it's rudimentary at best.

    What I see in this post is similar to others "Here's the model but it isn't what I want, I want it this way instead."  There is no functionality in Cura for making large adjustments to the shape of a model.  If you want the tires as part of the model of the car body then you need to put an inner wheelhouse in within the CAD software.


    Another thing Cura isn't good at is aligning two STL models.  Cura uses the bounding box of a model.  Unless every model has the same bounding box they are tough to align.  I have a trick where I make a 1mm thick rectangle just smaller than my build plate and then locate it in the STL file so the top of the rectangle is Z=0 of the actual model itself.  The size of the bounding box in the XY is then the size of the plate.  Every model gets the same treatment and when they are located at X0 Y0 in Cura and at a Z = -1, they are in the proper relationship to each other and the rectangles don't print.

    Things like that (fooling Cura) are about all you can do.  When you bring in the model you want sliced it's all good.  When you bring in a bunch of pieces and try to assemble or adjust them so that you print a different model, then it gets away from what Cura is good at.

    • Heart 1
    Link to post
    Share on other sites

    Posted · Complex CAD Assembly : how to merge separated parts and other questions

    Yeah, agree with that, CURA is a crazy good tool, but it has its legitimate limits. Multi-parts placements is really a pain in the ass, though. Even reloading a saved project will move the elements, which is not okay at all haha ! I'll try your tip about that issue 😉


    Thanks again for your answers guys, looks like i'll have to continue digging, i'm pretty sure an enhanced wrapping tool exist somewhere, maybe in Catia V6 ! I'll try on Dassault Forum.


    And / or I'll probably have to learn how to make proper manual skin by extracting surfaces but, well, CAD is not my main skill 😛



  • Link to post
    Share on other sites

    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now
    • Our picks

      • UltiMaker Cura 5.7 stable released
        Cura 5.7 is here and it brings a handy new workflow improvement when using Thingiverse and Cura together, as well as additional capabilities for Method series printers, and a powerful way of sharing print settings using new printer-agnostic project files! Read on to find out about all of these improvements and more. 
          • Like
        • 18 replies
      • S-Line Firmware 8.3.0 was released Nov. 20th on the "Latest" firmware branch.
        (Sorry, was out of office when this released)

        This update is for...
        All UltiMaker S series  
        New features
        Temperature status. During print preparation, the temperatures of the print cores and build plate will be shown on the display. This gives a better indication of the progress and remaining wait time. Save log files in paused state. It is now possible to save the printer's log files to USB if the currently active print job is paused. Previously, the Dump logs to USB option was only enabled if the printer was in idle state. Confirm print removal via Digital Factory. If the printer is connected to the Digital Factory, it is now possible to confirm the removal of a previous print job via the Digital Factory interface. This is useful in situations where the build plate is clear, but the operator forgot to select Confirm removal on the printer’s display. Visit this page for more information about this feature.
          • Like
        • 0 replies
    • Create New...