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

trying to create a solid or surface crashes FreeCAD #26

Open
jonbitzen opened this issue Jan 26, 2024 · 4 comments
Open

trying to create a solid or surface crashes FreeCAD #26

jonbitzen opened this issue Jan 26, 2024 · 4 comments

Comments

@jonbitzen
Copy link

jonbitzen commented Jan 26, 2024

I have a CurvedArray that I am using to model the wing of an Airco DH2. When I attempt to set either "surface" or "solid" properties to true, FreeCAD crashes.

I've attached the model file. I modeled this using FreeCAD 0.21.2. Please let me know if I've mis-modeled this in some way that is causing the error.

Thanks!
airco-dh2-wing.zip

@jonbitzen
Copy link
Author

jonbitzen commented Jan 27, 2024

I determined there was an issue with my airfoil sketch - the trailing edge wasn't closed. After closing it the solid was generated successfully. Perhaps still, if possible, maybe before attempting to perform that operation, a warning that its not possible because the profile isn't closed would be in order? If its infeasible or something that doesn't have a place in the workbench then feel free to close, as this was at least principally a me-problem.

@AIRCAP
Copy link
Contributor

AIRCAP commented Sep 17, 2024

this might be tricky. the curvedarray code itself does not really care whether the shape is closed - it just interpolates between shapes to create the array of curves (ribs) - it instead calls the core function of FreeCAD to make surfaces across ribs using the Part::Loft method. Part::Loft is supposed to generate an error if the shape is unsuitable for that, which then is passed through by curvedshapes.

unfortunately for some arrays, Part::Loft crashes or runs into an endless loop instead of throwing an error. This is a bug in FreeCAD itself. The error should be reproducible when manually calling Part.Loft() on the same set of wires - I would suggest writing a bug report on FreeCAD itself. -- Question: How can the individual wires CurvedShape generates be extracted (for example turned into individual wire objects) -- I guess it could be done in the console, accessing Shape.Edges but is there a way to extract them in the GUI?

@chbergmann
Copy link
Owner

with FreeCAD 0.22 it does not crash any more but outputs an error message.
Your design works if you connect the endpoints of the splines in your foil sketch with coincident constraints

@AIRCAP
Copy link
Contributor

AIRCAP commented Oct 1, 2024

Note: OCCT also has a bugvthat caused a crash if loft segments were too close ( less than epsilon)

This has been fixed in latest freecad code but will still crash 1.0RC1 and RC2

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

3 participants