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

Experiment with using OCCT in toolpath generation #11

Open
voneiden opened this issue Jul 4, 2022 · 3 comments
Open

Experiment with using OCCT in toolpath generation #11

voneiden opened this issue Jul 4, 2022 · 3 comments

Comments

@voneiden
Copy link
Owner

voneiden commented Jul 4, 2022

As per #1 clipping works out great using OCCT. To fully utilize the advantage of using wires and edges (to preserve arcs), one needs to be able to get segments of wires/edges between two known points. Currently there's a limitation with OCP to achieve this using GeomLib_Tool.Parameter (see CadQuery/OCP#89).

BRep_Tool.Parameter does not appear to work for the purpose, as it does not seem to consider tolerance.

@voneiden
Copy link
Owner Author

Clipper appears to be about 3x faster than using OCCT native implementation. The difference is fairly significant but comes with the cost of needing to interpolate arcs into line segments. This bloats gcode, although the gcode could maybe have an arc fitting post processing optimization.

UI responsiveness is important though, so I'm inclined to keep clipper around.

@voneiden
Copy link
Owner Author

CadQuery/cadquery#1130 is kind of a blocker for using wires/curves for calculating tabs. Or it requires a manual workaround of some kind.

@voneiden voneiden added this to the 0.2 - fluent release milestone Apr 8, 2023
@voneiden
Copy link
Owner Author

voneiden commented Apr 9, 2023

Another tricky thing with OCCT offsets is that it's possible to end up in infinite loops trying to shrink a wire. Negative offsets can also in some edge cases create incorrect geometry that cq.Face.makeFromWires can't handle.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant