Adaptive Path/CAM Operation

Here's the place for discussion related to CAM/CNC and the development of the Path module.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
User avatar
sliptonic
Veteran
Posts: 3459
Joined: Tue Oct 25, 2011 10:46 pm
Location: Columbia, Missouri
Contact:

Re: Adaptive Path/CAM Operation

Post by sliptonic »

I will try building and testing this as soon as I can.
I really wish you'd consider developing this inside Path with an eye towards a full PR. It would make it much easier to get testers and eventually merged.
kreso-t
Posts: 115
Joined: Sat Aug 04, 2018 2:32 pm

Re: Adaptive Path/CAM Operation

Post by kreso-t »

Hi sliptonic,
Thx, I don't see it as big effort to put it inside the Path.Area now, it's a matter of adding the adaptive.Xpp source and binding it to the Path.Area python module, maybe would require a little refactoring. Python side already uses all the base classes and concepts from the FreeCAD Path Mod/PathScripts ( PathOpGui.TaskPanelPage, PathOp.ObjectOp, ...) so no problem there.

If you would go for having this in the Path Workbench I can do a Pull Request on FreeCAD repo with this c++ part included into Path.Area and Python side into the Mod/Path/PathScripts and you can review it and make suggestions that would better fit the architecture and guidelines you may follow, but just to get it working inside the FreeCAD codebase should really not be a problem.

K.
User avatar
sliptonic
Veteran
Posts: 3459
Joined: Tue Oct 25, 2011 10:46 pm
Location: Columbia, Missouri
Contact:

Re: Adaptive Path/CAM Operation

Post by sliptonic »

I would definitely go for having this in Path but want more people testing and weighing in.

What about pybind11? Does that add a new dependency for FreeCAD? If so, that might require some discussion too.
User avatar
kkremitzki
Veteran
Posts: 2517
Joined: Thu Mar 03, 2016 9:52 pm
Location: Illinois

Re: Adaptive Path/CAM Operation

Post by kkremitzki »

sliptonic wrote: Thu Aug 16, 2018 6:04 am I would definitely go for having this in Path but want more people testing and weighing in.

What about pybind11? Does that add a new dependency for FreeCAD? If so, that might require some discussion too.
pybind11 is used for surface flattening in FreeCAD already: https://forum.freecadweb.org/viewtopic. ... &start=120 From wmayer:
The biggest problem with pybind11 is that it requires C++14 features and thus you must upgrade to at least VS2015 on Windows which for me is not an option (at the moment). Btw, the library should actually be called pybind14++.
Like my FreeCAD work? I'd appreciate any level of support via Patreon, Liberapay, or PayPal! Read more about what I do at my blog.
kreso-t
Posts: 115
Joined: Sat Aug 04, 2018 2:32 pm

Re: Adaptive Path/CAM Operation

Post by kreso-t »

kkremitzki wrote: Thu Aug 16, 2018 6:22 am pybind11 is used for surface flattening in FreeCAD already: https://forum.freecadweb.org/viewtopic. ... &start=120 From wmayer:
it's also already used by Path.Area (libarea/pyarea.cpp), there are also "boost" bindings there (libarea/PythonStuff.cpp). It should not be a problem to also add boost bindings for adaptive2d (python interface is simple, just two small classes and two enums).
kreso-t
Posts: 115
Joined: Sat Aug 04, 2018 2:32 pm

Re: Adaptive Path/CAM Operation

Post by kreso-t »

sliptonic wrote: Thu Aug 16, 2018 6:04 am I would definitely go for having this in Path but want more people testing and weighing in.
Ok, as I am not familiar with the process of testing and approving the FreeCAD PRs - would it help if I make these changes now in the forked FreeCAD code (i.e. in my github profile)? I could probably do that in the next few days.
roivai
Posts: 117
Joined: Thu Feb 02, 2017 5:29 pm
Location: Oulu, Finland

Re: Adaptive Path/CAM Operation

Post by roivai »

kreso-t wrote: Thu Aug 16, 2018 12:37 pm
Ok, as I am not familiar with the process of testing and approving the FreeCAD PRs - would it help if I make these changes now in the forked FreeCAD code (i.e. in my github profile)? I could probably do that in the next few days.
Yes - that's how it should be done. Fork the official FreeCAD repo on github and do the development on a branch there. Then you submit the pull request to merge the branch to the upstream FreeCAD repository. I found these instructions on the wiki: https://www.freecadweb.org/wiki/Source_code_management

That profile looks great!
kreso-t
Posts: 115
Joined: Sat Aug 04, 2018 2:32 pm

Re: Adaptive Path/CAM Operation

Post by kreso-t »

roivai wrote: Thu Aug 16, 2018 1:24 pm
kreso-t wrote: Thu Aug 16, 2018 12:37 pm
Ok, as I am not familiar with the process of testing and approving the FreeCAD PRs - would it help if I make these changes now in the forked FreeCAD code (i.e. in my github profile)? I could probably do that in the next few days.
Yes - that's how it should be done. Fork the official FreeCAD repo on github and do the development on a branch there. Then you submit the pull request to merge the branch to the upstream FreeCAD repository. I found these instructions on the wiki: https://www.freecadweb.org/wiki/Source_code_management

That profile looks great!
Thx for the info, will do that
kreso-t
Posts: 115
Joined: Sat Aug 04, 2018 2:32 pm

Re: Adaptive Path/CAM Operation

Post by kreso-t »

kreso-t wrote: Thu Aug 16, 2018 8:07 pm Thx for the info, will do that
But first need to do some more testing myself, I noticed an issue in some cases (for example when tool need to pass through very narrow area) that I need to fix.
User avatar
Kunda1
Veteran
Posts: 13434
Joined: Thu Jan 05, 2017 9:03 pm

Re: Adaptive Path/CAM Operation

Post by Kunda1 »

shaise wrote:ping
I wonder what @shaise thinks about this thread.
Alone you go faster. Together we go farther
Please mark thread [Solved]
Want to contribute back to FC? Checkout:
'good first issues' | Open TODOs and FIXMEs | How to Help FreeCAD | How to report Bugs
Post Reply