3 ms·
Have you worked with Open Cascade recently? As someone who works with it every day for developing a CAD application, it would be interesting to know what people
by wizzledonker 3y ago
Have you worked with Open Cascade recently? As someone who works with it every day for developing a CAD application, it would be interesting to know what people see as its limitations. It's the only geometry kernel I've had access to, and it seems like an absolute gift
- Kosirich 3y agoCan you share what you do with it? What kind of projects or industry is your application targeting?
- westurner 3y agocadquery wraps OCC (OpenCascades) but used to wrap freeCAD. Here's a LEGO interlocking block brick in cadquery: https://cadquery.readthedocs.io/en/latest/examples.html#lego-brick https://cadquery.readthedocs.io/en/latest/examples.html#lego... . awesome-cadquery: https://github.com/CadQuery/awesome-cadquery https://github.com/CadQuery/awesome-cadquery cadquery and thus also jupyter-cadquery now have support for build123d. gumyr/build123d https://github.com/gumyr/build123d https://github.com/gumyr/build123d : > Build123d is a python-based, parametric, boundary representation (BREP) modeling framework for 2D and 3D CAD. It's built on the Open Cascade geometric kernel and allows for the creation of complex models using a simple and intuitive python syntax. Build123d can be used to create models for 3D printing, CNC machining, laser cutting, and other manufacturing processes. Models can be exported to a wide variety of popular CAD tools such as FreeCAD and SolidWorks. > Build123d could be considered as an evolution of CadQuery where the somewhat restrictive Fluent API (method chaining) is replaced with stateful context managers* - e.g. with blocks - thus enabling the full python toolbox: for loops, references to objects, object sorting and filtering, etc.* "Build123d: A Python CAD programming library" (2023) https://news.ycombinator.com/item?id=37576296 https://news.ycombinator.com/item?id=37576296 build123d docs > Tips & Best Practices: https://build123d.readthedocs.io/en/latest/tips.html https://build123d.readthedocs.io/en/latest/tips.html BREP: Boundary representation: https://en.wikipedia.org/wiki/Boundary_representation https://en.wikipedia.org/wiki/Boundary_representation Manim, Blender, ipyblender, PhysX, o3de, [FEM, CFD, [thermal, fluidic,] engineering]: https://github.com/ManimCommunity/manim/issues/3362 https://github.com/ManimCommunity/manim/issues/3362 NURBS: Non-Uniform Rational B-Splines: https://en.wikipedia.org/wiki/Non-uniform_rational_B-spline https://en.wikipedia.org/wiki/Non-uniform_rational_B-spline NURBS for COMPAS: test_curve.py, test_surface.py: https://github.com/gramaziokohler/compas_nurbs https://github.com/gramaziokohler/compas_nurbs : > This package is inspired by the NURBS-Python package, however uses a NumPy-based backend for better performance. > Curve, and Surface are non-uniform non-rational B-Spline geometries (NUBS), RationalCurve, and RationalSurface are non-uniform rational B-Spline Geometries (NURBS). They all built upon the class BSpline. Coordinates have to be in 3D space (x, y, z) https://github.com/compas-dev https://github.com/compas-dev compas_rhino, compas_blender, - [ ] compas_o3de Blender docs > Modeling Surfaces; NURBs implementation, limits, challenges: https://docs.blender.org/manual/en/latest/modeling/surfaces/introduction.html https://docs.blender.org/manual/en/latest/modeling/surfaces/... /? "NURBS" opencascade https://www.google.com/search?q=%22nurbs%22+%22opencascade%22 https://www.google.com/search?q=%22nurbs%22+%22opencascade%2... OCCT (OCC) Open Cascade Technology: https://en.wikipedia.org/wiki/Open_Cascade_Technology https://en.wikipedia.org/wiki/Open_Cascade_Technology OCCT > Standard Transient _ MMtg_TShared > Geom_Geometry > Geom_Curve > Geom_BoundedCurve > Geom_BSplineCurve https://dev.opencascade.org/doc/occt-6.9.1/refman/html/class_geom___b_spline_curve.html https://dev.opencascade.org/doc/occt-6.9.1/refman/html/class... OCC > Standard Transient _ MMtg_TShared > Geom_Geometry > Geom_Surface > Geom_BoundedSurface > Geom_BSplineSurface: https://dev.opencascade.org/doc/occt-6.9.1/refman/html/class_geom___b_spline_surface.html https://dev.opencascade.org/doc/occt-6.9.1/refman/html/class... Cadquery.Shape.toSplines(degree: int = 3, tolerance: float = 0.001, nurbs: bool = False)→ T https://cadquery.readthedocs.io/en/latest/classreference.html#cadquery.Shape.toSplines https://cadquery.readthedocs.io/en/latest/classreference.htm...