stack a part on top of another one
I have two I want to merge together. The first was to use 'add part' to bring in the second part. But now I need to align them. It is easy to set the X,Y parameters, but difficult to align the bottom of the second part to the top of the first part. Note the first part has two different levels on the top. There is an inner level that is higher to fit inside of the second part. I had to manually adjust the Z parm while zoomed in until it looked like the bottom layer of the second part was on top of the lower top layer of the first part.
Prusa slicer does not have an 'insert' or 'join faces' option. Is there an easier way to do this?
RE: stack a part on top of another one
Not really no. This is why CAD exists. Its trivial to do this in cad and then export the combined stl.
RE: stack a part on top of another one
I just found this thread looking for a solution and then figured it out by myself - actually this is possible.
You need to mark all objects you want to stack and then select join (or similar, my UI is in german). After that, you can set the height of the object that shall be on top of the the other.
RE: stack a part on top of another one
Yes. as was pointed out before it is possible to do but its a manual process. There is no snap face to another face to get it perfect. Which was what the OP was asking about. And good luck with that if the 2 or more parts you want to stack are at obtuse angles to each other or the faces you need to join are not on a perfect x/y/z plane.
RE: stack a part on top of another one
Auf Englisch ist es "Merge" 😉
RE: stack a part on top of another one
It is possible to do this in PrusaSlicer precisely for orthagonal parts (but you'll need to get into trigonometry in 3D space once you are off the x/y/z planes), but you need to know two things. First you need to know the z-height of the surface of the 1st part (partA) where you want the 2nd part (partB) to be. Second you need to know how PrusaSlicer represents coordinates with using the different coordinate spaces. Generally, when using the coordinates to place a part/object no matter the coordinate space, the "handle" (i.e. the point in the part/object that the coordinates reference to) is the center point of the bounding box of the selected part/object. The different coordinate spaces will determine where the origin (0,0,0 point) is.
For example (follow along in PrusaSlicer if you wish), if you add a primitive sphere shape to the bed, you will get a 31mm diameter sphere centered on the bed. If while in World coordinate space (where the coordinate 0,0,0 is the defined "home" position of the print-bed of the configured printer), you select that box then it's z coordinate will be 15.5mm (and x and y should be half the bed dimensions in the relevant axes.) While selected, change the coordinate space to the only other option (right now), Object coordinates. Now you will see the coordinates change to 0,0,0. This means that the origin of the coordinate space is also at the center point of the bounding box.
If For this example, let's call this sphere partA. Right click on the box and add a primitive sphere part, we'll call it partB. If you didn't change the coordinate space back to World coordinates, the coordinate space should still be Object coordinates. PartB should be touching and to the right of partA, and the coordinates should be x=31, y&z=0. This means that the center of partB's bounding box is at the same y and z(height) as partA, but is 31mm to the right of the center of partA. This tells us that in the Object coordinate space with a multi-part object, the origin is the center of the first part, no matter how large the bounding box for the entire object is. This is key. (I've only done a little experimentation, but I have found it is possible to accidentally move the first part away from the origin... Be aware of this, especially when things start acting weird when you manually change the values in the position coordinates.) Continuing with our example, while partB is still selected and in Object coordinate space, set x,y,z to 0,0,0. Now the two spheres are coincident. We want to stack the two spheres, but keep them tangent to each other. In this case, I could simply set the z coordinate of partB to 31, but let's take the slightly longer path that's applicable to more cases. Switch the coordinate space back to World coordinates. Knowing that the top of partA is it's size (31mm), and the handle of partB is at half it's height (15.5mm), set the z coordinate of partB to the sum of those two values (46.5mm). You should now have partB balanced on top of partA, and if you slice it the top of the partA sphere will be at z-height 31mm, and the bottom of the partB sphere will be at z-height 31.2mm, and the top of the full model will be at z-height 62.
You can use these techniques to precisely place parts within an object. It's manual as all hell, and much easier to do in CAD. But if you don't know CAD very well, it is possible in PrusaSlicer. If you don't know the dimensions beforehand, use the measurement tool in PrusaSlicer and take very good notes. Scratch paper (either digital or analog) is your friend to help keep track of what numbers are needed where.
See my (limited) designs on:
Printables - https://www.printables.com/@Sembazuru
Thingiverse - https://www.thingiverse.com/Sembazuru/designs
RE: stack a part on top of another one
Sure you can precisely align objects by the numbers. But if you are just creating a decorative piece that does not need precision placement just eye-balling one part on top of another and sinking it in a millimeter or two works just fine