-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
incorrect difference in stl_boolean? #10
Comments
stl_boolean is certainly the most finicky of the stl_cmds. I attempted to port CSG.js and never really finished. That said, it sounds like from your description that you want b minus a. Difference in this context is subtraction rather than a general comparison so the order matters. What happens when you switch the arguments around? |
I think you just need: deleted: |
A similar set of surfaces exists in the diff I sent over, which is why the bbox is not what you expected. Once I remove the tiny extra faces, it shows the dimensions you expected:
|
I have an alias for stl_view that opens blender with any number of provided STL files which can be helpful to diagnose these things:
load_stl.py:
|
I must not understand what "difference" means here - i had assumed it meant "everything except for the intersection", but this makes it sound like it means "everything that's in a but not in b" (i.e., it does not include the stuff that's in b but not a). Is that right? If so then yeah that gets me moving again. Thanks @jallwine! |
Correct, "everything that's in a but not in b". The CSG.js docs have a good visualization: https://evanw.github.io/csg.js/ |
Ok! Thanks for applying the clue-bat :-) |
Ah, i see the terminology changed from
But i may be reading that wrong, what do words even mean? :-) |
Hi @jallwine, i'm runing in to what i think is a bug in stl_boolean, current tip of master (0368b86).
I'm trying to use these tools to visualize changes between versions of a 3d model i'm working on. So i pull the old and new versions out of git and compute the diff between them with
stl_boolean -d
.I've attached my two input files and the output of
stl_boolean -a a.stl -b b.stl -d diff.stl
(as a zip file, because github won't let me attach stl...).Here are some screenshots of the STL viewer
fstl
which hopefully will show what i'm talking about.Here's an overview of what both parts look like:
Zooming in on the little "knob" under the "window" in the upper left of the picture we see the change i made. Here's the old one, "a.stl", notice the gap between the knob and the wall:
Here's the new one, "b.stl", with the gap filled in:
So the diff should be a rectangular chunk measuring about 14 mm in the X direction, 0.5 mm in Y, and 10mm in Z. But here's the diff from stl_boolean:
And the bounding box of the diff is way off:
I don't know the first thing about stl_cmd, but is this possibly related to #2?
I'm happy to run any experiments you think would be helpful, but I probably can't contribute much beyond that...
stls.zip
The text was updated successfully, but these errors were encountered: