Step Editable CAD

Is there a way to consider a change in the format of the editable cad files? I have been trying to convert the scad files to the more general .step format, but it is very difficult. They could include in the editable folder some other format than .scad

Also if someone have the editable cad converted yet please let me know.

I think that the conversion is difficult because OpenSCAD and .step are built on a conceptually different way of describing a shape.

SCAD is a program that is run from scratch each time with the output being an STL model. A cylinder defined in OpenSCAD can be rendered with many faces to make it smooth, or fewer to make a smaller file. An advantage of STEP as I understand it is that it describes curves as curves, so a conversion will want to keep this as a defined curved cylinder so that you can choose later how to render.

However, a triangular prism is a cylinder rendered with exactly three sides, or a hole to fit a nut could be a cylinder rendered with exactly 6 sides. Automatically deciding whether a faceted polygon is supposed to be smooth or is intentionally faceted is always going to be a challenge.

For example the code
cylinder(d=w/sin(60), h=h, $fn=6);
creates a hexagonal prism with a particular orientation. $fn=6 is simultaneously a switch to tell the STL generator how smooth I want the cylinder, but also a switch to define an n-sided polygon. rotate(30) is a bit pointless on a circle, but has meaning for a polygon.

What are you wanting to use OpenFlexure for, or what modifications are you wanting to make? There may be someone already on here that is heading in the same direction and could help.

I want to adapt the lower module where the microscope objective is located, I plan to place a coherent lighting source in this area, but I am familiar with programs that allow editing .step files. OpenScad is quite confusing for me at the moment, thats why i need help to know if it is possible to adapt the editable ones to a truly editable format in other CAD design programs.

OpenSCAD is totally mesh based internally. There is no boundary representation data ever created within OpenSCAD. Whilst you could open the STL in something like FreeCAD and convert it to an STEP this won’t help you edit it, as the STEP will just contain the same mesh data.

You want to modify the optics module? I should be able to pull out some key dimensions for you so you can design something that fits?

1 Like

If I’ve understood what you are suggesting, I wonder if an “empty” optics module would be useful for you, i.e. a replacement for the optics module that is open at the bottom, so you can place your own camera/illumination/tube lens there? That is something I really ought to make (of course, you can make one with a regular optics module and a bandsaw[1], but it would be neater to have the STL).

I don’t think we have a version of the base with any mountings in it (e.g. for a fold mirror or a connection to cage system) but again, that is something that would be useful to multiple people so do say if that’s something that would be of interest. There was an adaptor plate for the delta stage (which has the advantage that the optics are static, and thus easier to modify) to allow it to be mounted on modular optics cubes - it’s linked to in an issue thread somewhere but might need to be updated.

  1. I don’t trust myself with a bandsaw, so please don’t take machining safety advice from me. ↩︎

I already tried to change the stl files to step in FreeCad but due to the internal process that freeCad uses the steps are not editable in other programs like fusion or solid edge. It just crash when I try to open the files. That why have editable files in .step from the developers would be very usefull.

I really need an editable cad file that can be used in other software than openscad or freeCad to make an assambly and also desing the modifications. But openscad is very unfiendly in other CAD programs thats why I wonder if it possible to have editable files in a more firendly format for other softwares like .step which is very general. I’m windows user by the way

The method in the previous post does appear to have something of a work-around for getting a representation of hull and minkowski functions now. It is a work-around that renders the mesh using OpenSCAD inside FreeCAD, so you end up with a mesh still, but it should be editable. As @j.stirling says, it is about the basic differences between a mesh-based design and a boundary element description. This is described on the FreeCAD Wiki OpenSCAD Workbench - FreeCAD Documentation (

@Heberley doing the whole microscope like this will still be unwieldy. If you are just trying to have a new optics system, then to make it fit to the microscope you only need to re-create the geometry of the part that mates to the optics dovetail groove, or to take just that part from a FreeCAD conversion. I am pretty sure the dovetail description in OpenSCAD uses hull so will always be a triangle representation unless it is redesigned from scratch.

I can see your point. We are not hiding these files, they simply do not exist in the way we have created the microscope. And, as you have explained they are not simple to generate.

As I offered earlier, can you give a basic sketch/diagram of what you want to build? From this I can pull the key dimensions/angles out of OpenSCAD and so that it can be redrawn in a boundary representation form.

Yes, I understand the frustration of people who don’t know OpenSCAD but still want to edit the files. Personally, I quite like OpenSCAD - which is why it’s what I picked when I started the project. However it’s frustrating that it forms a barrier to more people getting involved with development.

As @j.stirling and @WilliamW have said, “converting” the whole project into another CAD package would be an enormous undertaking, largely because we’d have to redraw everything from scratch. We’d also lose all of the automation that we’ve spent a lot of time building up over the last few years.

However, what might be fruitful is coming up with ways to better document the interfaces between the various components. That would allow one or two of them to be redrawn in other packages, so that they can more easily be modified outside of OpenSCAD.

For example, if you want to add a coherent light source and need to modify the microscope stand to mount optics inside it, there is already code that should generate the “footprint” of the microscope so you can see where the mounting holes are. Redrawing the microscope base, or the optics module, should be much less work than recreating the whole microscope.


Moving to a different format would also make it less open-source, as the objects themselves have source code now, and disguising them as solid objects is a move in the wrong direction. I’ve converted many CAD models to source code for this reason.

1 Like