CAD files in Julia

Is there a Julia package that imports CAD files or generates Spline-based mesh for higher-order elements in a numerical simulation? I see some barebones packages like BSplines.jl but they don’t have much of functionality to import or generate geometries and create elements on them.

You might be able to read dxf and dwg files with GMT.jl (gmtread("somefile.dxf")) but I never tried it.

1 Like

Do you mean STEP files? I haven’t seen any parser in pure Julia – those files are tough to parse, and then you need a full blown geometry kernel. The best one can do to open a STEP file, I guess, is PythonCall into pyocc (which binds the Open Cascade geometry kernel).

Then, if you want to define a geometry using NURBS patches, you could use NURBS.jl.

1 Like

Unfortunately, most of the best CAD libraries are proprietary. What type of CAD data do you want to import? What program are you coming from?

You might try wrapping Rhino’s openNURBS library, but I am only guessing at what you need.

In case it is still of interest for you or others, the package NURBS.jl (registered and different from the NURBS package mentioned by @martin.d.maas) allows to read STEP files in pure Juila as detailed in the package documentation.

3 Likes

Oh, that’s very cool, thank you for providing the reference! I will definitively check it out

GeoIO.jl can load various mesh formats. Parametric curves are not supported yet, but can be in the future.