CauldronDevelopmentLLC / CAMotics

Open-Source Simulation & Computer Aided Machining - A 3-axis CNC GCode simulator
Other
607 stars 141 forks source link

MDI windows? #203

Closed martonmiklos closed 7 years ago

martonmiklos commented 7 years ago

Joseph

In the #198 issue you have mentioned that toolpath generation is planned to be integrated. What is the game plan for implementing it?

I would recommend to use similar MDI windows based layout like the VCarve does.

http://www.shopbottools.com/images/Products/VCarveSample.png

jcoffland commented 7 years ago

MDI stands for "Manual Data Input" which usually means manually entering GCodes. The screenshot you linked above is for drawing and creating toolpaths which is something different. Regardless I don't envision implementing drawing primitives in CAMotics. There are already many programs which do this well. Inkscape or LibreCAD, for example. What I do envision is CAMotics importing DXF or SVG files and converting them in to tool paths (i.e. GCode). This might involve some of the functions depicted on the right side of the above screenshot. It probably would also allow for transforms such as rotate, scale and translate as well as array generation, i.e. repeated cuts of the same part. This is covered by #198.

martonmiklos commented 7 years ago

Okay, we have misunderstood each other. I referred to the MDI window handling mechanism which stands for Multiple Document Interface: https://msdn.microsoft.com/en-us/library/windows/desktop/ms632591(v=vs.85).aspx When basically you have "windows in windows". Qt supports it natively: http://doc.qt.io/qt-5/qtwidgets-mainwindows-mdi-example.html

If we are going to add multiple features to the CAMotics it might be a good way to organize the UI.
What do you think about this approach?

I think drawing 2D graphics primitives (even providing no edit option at the beginning) like VCarve would increase the productivity.

My current workflow with VCarve is the following: I import the CAD design in DXF format from a CAD tool like you described. Then I select vectors (parts of the DXF design) and generate separate toolpaths. When I mill a part I usually do milling operations on the same workpiece with different milling options (spindle speed, plunge speed or simply with different mill diameter with tool change) and these operations are results multiple toolpaths. Then the separate toolpaths are saved to a single GCode file.

I know it require a lot of work on creating a 2D graphical interface, but I think this selective vector selection must be within the CAM tool because exporting multiple DXFs for each operation for toolpath generation would be much less comfortable.

jcoffland commented 7 years ago

Oh, I forgot about that MDI. I think this could be handled with DXF layers. It would be easy to allow selecting which layers to cut. E.g. some layers are offset inside, some outside, some are pockets, some islands, some ignored, etc. This could all be done with out creating another drawing program. See my comments on #198.