# Expected behaviour when using subtract with an stl?

**URL:** <https://discourse.shapr3d.com/t/expected-behaviour-when-using-subtract-with-an-stl/30365>\
**Category:** Modeling Questions\
**Created:** [February 15, 2024, 2:09pm UTC](https://discourse.shapr3d.com/t/expected-behaviour-when-using-subtract-with-an-stl/30365 "2024-02-15T14:09:06Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Kevlad](https://avatars.discourse-cdn.com/v4/letter/k/5f8ce5/32.png) [@Kevlad](https://discourse.shapr3d.com/u/Kevlad)\
**Post date:** [February 15, 2024, 2:09pm UTC](https://discourse.shapr3d.com/t/expected-behaviour-when-using-subtract-with-an-stl/30365/1 "2024-02-15T14:09:06Z")

</div>

Hi,

I was trying to reverse engineer a stl model to get a handle on tolerances for a raspberry pi case that clicks together. I imported the stl of the pi case (I understand that we can’t model stl directly) and then I created a cube above the stl. The cube is fully editable at this point (i.e can extrude individual faces etc). I lowered the cube onto the stl model so that they intersected and I removed the stl profile from the cube thereby leaving me with the inverse of the feature I’m trying to understand. This all worked as expected.

However, when I tried to take measurements from the cube, it behaves like it would with an stl model. No individual sides can be selected (a click on a face selects the whole cube) and no edges can be measured. It feels like the shapr generated cube has inherited the properties of the stl model.

Is this as expected? I expected to be able to manipulate and measure the cube but this doesn’t seem possible….

---

<div class="post-metadata">

**Author:** ![TheBum](https://avatars.discourse-cdn.com/v4/letter/t/eada6e/32.png) [@TheBum](https://discourse.shapr3d.com/u/TheBum)\
**Post date:** [February 17, 2024, 12:07am UTC](https://discourse.shapr3d.com/t/expected-behaviour-when-using-subtract-with-an-stl/30365/2 "2024-02-17T00:07:29Z")

</div>

Unfortunately, Shapr is designed so that any time a solid is modified by a mesh with a Boolean operation, the result is always a mesh. The reason being It’s much easier to convert a solid to a mesh than vice versa.

---

<div class="post-metadata">

**Author:** ![Kevlad](https://avatars.discourse-cdn.com/v4/letter/k/5f8ce5/32.png) [@Kevlad](https://discourse.shapr3d.com/u/Kevlad)\
**Post date:** [February 17, 2024, 8:21am UTC](https://discourse.shapr3d.com/t/expected-behaviour-when-using-subtract-with-an-stl/30365/3 "2024-02-17T08:21:05Z")

</div>

Thanks for the confirmation. I ended up tracing the profile and creating a body from there. A bit slower but got the job done.

---

<div class="post-metadata">

**Author:** ![justin](https://avatars.discourse-cdn.com/v4/letter/j/3ab097/32.png) [@justin](https://discourse.shapr3d.com/u/justin)\
**Post date:** [February 18, 2024, 6:03am UTC](https://discourse.shapr3d.com/t/expected-behaviour-when-using-subtract-with-an-stl/30365/4 "2024-02-18T06:03:49Z")

</div>

Wow, I didn’t even know booleans were possible with meshes at all.
