5

I've 3D printed a box with a hole in it, the hole looks like a horse. My idea was that I then 3D print that horse in a different color and put it into the hole. The problem was that the horse didn't fit the hole, as they were the same size. I then made the horse smaller, but that made a new problem. Now the feet of the horse don't align with the hole. How can I scale the horse easily, like how can I just make everything thinner?

Vector graphic of a stylized horse

The image above is how the horse looks, and what I want is to make all sides go in 3 mm, I'm not sure how to do it without the legs moving.

agarza
  • 1,559
  • 2
  • 15
  • 33
Fy17 Fy17
  • 53
  • 3

5 Answers5

7

What you need

You don't need a scaled horse, you need an offset off the outline.

Designing the offset

This can require to create a whole new model, with slightly altered ratios between items. Look at this example:

A complex contour and its inner offset in dashed line

As you see, some sections - especially the diagonals from bottom left to upper right - have the identical length to the line they are offset from, others are longer and others shorter. if you have the design-sketches in a STEP file, it's as easy as defining an offset and re-extruding the shifted item.

Altering the model

If you only go the STL, some programs do offer an offset-function to alter the model. In the case of blender, you could choose all vertical walls and extrude negatively by a little.

Slicing with offset

As jpa correctly noted, you can force slicing with an offset in many slicers. Often this function is called XY compensation, Horizontal expansion, or similar.

Trish
  • 21,915
  • 12
  • 50
  • 101
4

Many slicers can do this directly:

  • PrusaSlicer: Print Settings -> Advanced -> XY Size Compensation
  • Cura: Print Settings -> Horizontal Expansion

Setting a negative value will move each wall inwards along its normal.

Example in PrusaSlicer

jpa
  • 341
  • 1
  • 4
1

A less elegant but easier to implement alternative to what Trish suggests (for example, doing 'offset' in FreeCAD is a chore and a half), is to use draft angles / chamfers. Make the hole and the horse walls 45 degrees (matching the angles so both the hole bottom and the horse bottom is smaller than the outline). It will always fit for sure but likely stick above the surface of the hole, which may be desirable, and if not desirable, place the horse model in the slicer bigger side down, then sink it into the build plate (uncheck 'drop model' then modify the Z coordinate of its position in the Translate mode) by as much as it sticks outside the hole, and the part that sticks above the box surface simply won't be printed.

SF.
  • 392
  • 1
  • 11
  • Has the added benefit of making a nice interference fit so you can drop the horse _in_, but not _through_ the hole. (Assumes that's the goal.) – FreeMan Dec 20 '23 at 17:49
  • However, that requires knowing how to model^^ – Trish Dec 21 '23 at 07:47
0

This might be an absurd suggestion, but have you tried freezing the horse? Just throw it in a freezer for an hour or two and then quickly try to fit it into the box.

That's a pretty typical way of getting an interference fit: Cool one part to allow it to shrink then insert it and let it expand into place.

Though it might still be too tight since both parts are literally the same size and have not been designed with any tolerance.

  • Welcome to 3D Printing! and thank you for your contribution. When you get a chance, please take the [tour] to understand how the site works and how it is different than others. – agarza Dec 22 '23 at 04:47
0

Scaling in FreeCAD is very easy but you must remember that it's CAD not art. You can offset the sub-binders off a face or sketch. You can't offset the pad or the sketch without playing with parameters, a lot, which you won't want to do.

Give the sub-binder (the green one) a negative offset of say -0.5mm. Pad it as if it were a sketch and it should fit the hole.