Skip to content
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

Clarify situation around subtractive sweeps #2264

Open
hannobraun opened this issue Mar 14, 2024 · 0 comments
Open

Clarify situation around subtractive sweeps #2264

hannobraun opened this issue Mar 14, 2024 · 0 comments
Labels
topic: core Issues relating to core geometry, operations, algorithms type: planning Issues about project planning

Comments

@hannobraun
Copy link
Owner

Subtractive Sweeps

Fornjot supports sweeping a face of a shell, extending that shell (SweepFaceOfShell). I know for a fact that this works as an additive sweep. Nothing in the API or the documentation suggests that it shouldn't also work as a subtractive sweep.

I don't know if this works. I'm guessing no, and I'm guessing the reason for that is, that the orientation of the new side faces need to be different in either scenario. Supporting evidence for that is, that I've chosen to implement blind holes based on lower-level primitives (but that might also haven been just a case of idiocy).

Actions Items

  1. Confirm that subtractive sweeps actually don't work.
  2. Update the documentation of SweepFaceOfShell to explicitly mention that. Refer to AddHole as a (limited) alternative.
  3. Update documentation of AddHole to clarify the context it lives in. (If I'm right and subtractive sweeps really don't work, they serve as stopgap to make them work in limited ways, and could later become just a higher-level wrapper around subtractive sweeps.
  4. Open issue for implementing subtractive sweeps.

Thoughts on Implementation

If I'm correct, and the orientation of the side faces is the only issue, then this isn't a hard problem in principle. All the operation would need to do, is figure out whether the sweep direction goes towards the outside or inside, which can be determined from the normal of the swept face. SweepSketch already does this, but that code is currently limited due to our primitive geometry representation.

This is probably another one of those cases that should wait for a better geometry representation.

@hannobraun hannobraun added topic: core Issues relating to core geometry, operations, algorithms type: planning Issues about project planning labels Mar 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
topic: core Issues relating to core geometry, operations, algorithms type: planning Issues about project planning
Projects
None yet
Development

No branches or pull requests

1 participant