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

operations_generic.sweep ignores most parameters when creating faces #898

Open
shangaslammi opened this issue Feb 7, 2025 · 2 comments
Open
Labels
enhancement New feature or request

Comments

@shangaslammi
Copy link

shangaslammi commented Feb 7, 2025

Any Edges (as opposed to Faces) to passed to sweep() ignore the parameters multisection, is_frenet, normal and binormal so it is impossible to e.g. create a face by sweeping an edge with a fixed normal.

@gumyr gumyr added this to the Not Gating Release 1.0.0 milestone Feb 7, 2025
@gumyr gumyr added the enhancement New feature or request label Feb 7, 2025
@gumyr
Copy link
Owner

gumyr commented Feb 7, 2025

One can use the direct api methods to do this:

curve_line = ThreePointArc((2, 0), (0, 0.5), (-2, 0))
curve_face = Face.extrude(curve_line, (0, 0, 4))

line = Line((2, 0, -2), (2, 0, 2))
arc_face = Pos(X=4) * Face.sweep(line, curve_line)

Image

I'm guessing you'd like the sweep() operation to support 1D objects?

@shangaslammi
Copy link
Author

Sweep already does support 1D objects, it's just that the additional parameters like multisection or normal are silently ignored, apparently because Shell.sweep does not yet support them:

swept = Shell.sweep(sec, path_wire, transition)

I think those should be straightforward to pass on to OCC's BRepOffsetAPI_MakePipeShell function. I can test adding multisection and binormal support also for Shell.sweep and make a PR if it works the way I expect.

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

No branches or pull requests

2 participants