What CAD software you use?
-
@bot said in What CAD software you use?:
I just tried to look, I do not know if AMF/3MF support "solid" geometry. I'd love to find out.
When you export a solid from FreeCAD to .AMF it triangulates it so I would assume AMF is triangles only (so basically STL's + meta data) as FreeCAD works normally with solids and if it could save solid into .amf it would. I'm not sure but it makes sense.
I'm not sure why tf microsnot had to be a dealbreaker again so now we have both .amf and .3mf .. anyhow don't have anything that can export a solid in to 3mf except 3d builder and it originally only works with triangle meshes so I believe .3mf is also triangle mesh container so again stl's + metadata.
STEP/IGES works for decades for the engineering industry as an interchangeable file format for solids but not many slicers know how to deal with them. Machining CAM tools normally handle them ok, and I believe they would be totally ok for 3d print format as well. The only problem is that you can't handle solid formats on "cpu challenged" devices, and slicing a solid requires complex rendering of the solid that's rather "expensive" compared to a mesh that can be rendered on your watch. I'm not sure if STEP/IGES are protected by some patents, it would not surprise me if they are :(.
Anyhow if we see how few open source tools know how to properly deal with STEP/IGES that might be the explanation..
-
Great points.
IGES seems to be more open than STEP.
STEP is protected, as in you have to pay to get access to the documentation/specifications. However, I do not know if you need to license the use of STEP itself. I think the documents are just $$, like when you have to pay to get the building codes -- you don't have to pay to USE the building codes, just for the big book of them.
I'm not sure how Subtractive CNC Machines "handle" step. If the machines are GCode machines, the intermediary software likely handles the STEP. STEP-NC based machines, however, get the model data sent directly to the machine itself.
As for Additive slicing: I know that Merill, the author of SuperSlicer (the PrusaSlicer fork) is thining of ways to implement STEP into his slicer. It involves representing the STEP file on-screen as a mesh, so generating a mesh on file-load or manually create a mesh representation of it. It seems like it will be a fairly big task. I personally think the bigger task will be in working around all the mesh-based thinking that the codebase was built with. We may need to start "from the ground up" to get true STEP slicing.
That said, Merill had some great ideas on how to USE the STEP once it can be sliced, in terms of generating G2/3 arcs or G5 bezier curves. Basically, offsetting bezier curves is basically not practical, the offset bezier curve can not come close to matching the original curve using anything close to the same control points. However, Merill had an idea to simply take the STEP (likely first break it down into the arc/spline/line elements) and for the spline elements, create a very fine mesh representation of the curve -- finer than the printer can produce. Then, offset that resulting polyline, then fit, as closely as possible, within a specified tolerance, a bezier curve spline to those offset polylines. We could use the original bezier for the external perimeter. The offset beziers will have wildly different control points, but they will be much closer fit than trying to offset a bezier directly.
(I'm no math expert, but it seems the offset beziers need to be broken down into multiple curves, and approximated. Whatever! They are internal perimeters. The whole point is simply to reduce the GCode footprint.)
-
@bot said in What CAD software you use?:
I'm not sure how Subtractive CNC Machines "handle" step. If the machines are GCode machines, the intermediary software likely handles the STEP. STEP-NC based machines, however, get the model data sent directly to the machine itself.
They don't. The CAM tools handle step/iges files. But if you look at tools that support STEP/IGES before FreeCAD they almost didn't exist. The few CAM tools for substractive that did exist were either handling mesh only or even 2d drawings only ... I don't know a CAM tool below 1000eur that suppor STEP/IGES files before the F360 manufacture addon (that I'm still not 100% sure what the licencing situation is). Every other CAM tool expect mesh (STL, OBJ..)
As for Additive slicing: I know that Merill, the author of SuperSlicer (the PrusaSlicer fork) is thining of ways to implement STEP into his slicer. It involves representing the STEP file on-screen as a mesh, so generating a mesh on file-load or manually create a mesh representation of it. It seems like it will be a fairly big task. I personally think the bigger task will be in working around all the mesh-based thinking that the codebase was built with. We may need to start "from the ground up" to get true STEP slicing.
IMHO a huge amount of useful work is done by CSG and SCAD libraries that are used for e.g. both by openSCAD and FreeCAD ... I don't know what's the deal with FreeCAD "workbenches", how hard they are to create and maintain but I see there's almost 100 workbenches available for download and for e.g. one is called "cura_engine", I believe it can be used to use cura to slice directly from freecad... I don't see any other CAM workbench but maybe it would be easier to make a workbench for FreeCAD that already have full support for solid's and slice from there than make everything from scratch...
That said, Merill had some great ideas on how to USE the STEP once it can be sliced, in terms of generating G2/3 arcs or G5 bezier curves. Basically, offsetting bezier curves is basically not practical, the offset bezier curve can not come close to matching the original curve using anything close to the same control points. However, Merill had an idea to simply take the STEP (likely first break it down into the arc/spline/line elements) and for the spline elements, create a very fine mesh representation of the curve -- finer than the printer can produce. Then, offset that resulting polyline, then fit, as closely as possible, within a specified tolerance, a bezier curve spline to those offset polylines. We could use the original bezier for the external perimeter. The offset beziers will have wildly different control points, but they will be much closer fit than trying to offset a bezier directly.
Dunno what's the right approach here. ATTM there's KISS that has some limited support for generating curve g-code and ArcWelder that uses existing g-code and fits the curves in it.
(I'm no math expert, but it seems the offset beziers need to be broken down into multiple curves, and approximated. Whatever! They are internal perimeters. The whole point is simply to reduce the GCode footprint.)
Try ArcWelder, I heard a lot of nice things about it (never tried myself), afaik there should be a cli tool to let it convert existing G-Code without need to load octoprint
-
@arhi said in What CAD software you use?:
Try ArcWelder, I heard a lot of nice things about it (never tried myself), afaik there should be a cli tool to let it convert existing G-Code without need to load octoprint
Interesting! Maybe interesting enough to get on with fixing a printer that eat gcode and not .tsk files..:P
-
I don't have much time to respond atm, but great points!
Merill, SuperSlicer dev, has already been implementing FreeCAD into his slic3r fork! So, he's probably well aware of those workbenches or whatever and that's likely where he'll source his methodology.
-
@bot yeah well between freecad, arcwelder and slic3r I think something interesting open source can be born... the major issue is an investment of time... just look how much kicad progressed after cern added a single paid developer to work on it full time.. prusaslicer has prusa research behind them, cura has ultimaker, idemaker has raise3d.. dunno who's backing superslicer but if it's just someone free time thats always scary
-
It's not quite CAD. More like... post processor? Pre processor?
-
Solidworks, Artec Studio and Blender for some of my projects sometimes. Still learning Solidworks, even though I've been working with it for a couple of years. Blender is for animations mostly.
-
Inventor
-
@arhi said in What CAD software you use?:
@bot said in What CAD software you use?:
I just tried to look, I do not know if AMF/3MF support "solid" geometry. I'd love to find out.
When you export a solid from FreeCAD to .AMF it triangulates it so I would assume AMF is triangles only (so basically STL's + meta data) as FreeCAD works normally with solids and if it could save solid into .amf it would. I'm not sure but it makes sense.
As others have said, .3MF is just a container file, it in theory supports any anything inside. DXF (yes, for laser cutters), STL, STEP... (I was there at /b when microsoft launched .3MF, and after reading the spec I couldn't have told you what problem it actually solved.)
STEP/IGES works for decades for the engineering industry as an interchangeable file format for solids but not many slicers know how to deal with them. Machining CAM tools normally handle them ok, and I believe they would be totally ok for 3d print format as well. The only problem is that you can't handle solid formats on "cpu challenged" devices, and slicing a solid requires complex rendering of the solid that's rather "expensive" compared to a mesh that can be rendered on your watch. I'm not sure if STEP/IGES are protected by some patents, it would not surprise me if they are :(.
Anyhow if we see how few open source tools know how to properly deal with STEP/IGES that might be the explanation..
IGES and STEP are quite different. (IGES is only still supported by anyone because the US DoD requires it iirc).
The important differences being that IGES can describe non-manifold solids. STEP can't.
And STEP is still being updated. IGES hasn't had an update in over 20 years.There is 1 patent I'm aware of that describes how to slice a STEP for printing... It's more complex, but if we want to do things like actually use arc g-code we need a slicer that can actually accept arcs.
If you asked me 10 years ago what the biggest software issue in 3D printing was, I would have said STL.
Sad that we haven't moved past that point.Oh, and I use Fusion.
Does anyone use Fusions internal slicer? I don't know if its converting to STL internally...
-
@theruttmeister https://forum.duet3d.com/topic/14872/fusion-360-fdm-fff-slicing?_=1598474627031
Check that out for the Fusion Slicer.
-
@theruttmeister said in [What CAD software you use?]
[...]
Does anyone use Fusions internal slicer? I don't know if its converting to STL internally...Judging by the Fusion 360 API, I doubt they go fully to STL. They likely just triangulate a mesh internally and use that. Unfortunately, there is no ability to set at what resolution the mesh is made so it's kind of not great. I have long-term plans to cram prusaslicer (libslic3r) into Fusion as an add-in. Step to slicing with no middle format. It will be even easier now that they have their own slicing -- I can use the additive/manufacturing environment to set up the print just as they would, but then take over the process before the slicing is done or settings are chosen.
-
Thanks, interesting link.
I would assume its the same slicer code that dates all the way back to Topolabs...
@bot said in What CAD software you use?:
@theruttmeister said in [What CAD software you use?]
[...]
Does anyone use Fusions internal slicer? I don't know if its converting to STL internally...Judging by the Fusion 360 API, I doubt they go fully to STL. They likely just triangulate a mesh internally and use that.
Those two things are the same... its not like STL is anything more than a mesh.
Unfortunately, there is no ability to set at what resolution the mesh is made so it's kind of not great. I have long-term plans to cram prusaslicer (libslic3r) into Fusion as an add-in. Step to slicing with no middle format.
Given that whatever math Fusion is using to describe its solids (eg, brep or nurbs) is nothing like an STL, you might need to do some work on getting an input that prusaslicer can actually accept.
-
An STL is a very specific format and not the format that Fusion uses internally. I guess I'l stop responding to you in any way because all you want to do is argue without any understanding of what you're talking about. The Fusion API is documented, you can read it yourself.
-
I mostly use Inventor and Nastran in-CAD.