Creating CNC roughing and finishing passes

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!
chrisb
Veteran
Posts: 53930
Joined: Tue Mar 17, 2015 9:14 am

Re: Creating CNC roughing and finishing passes

Post by chrisb »

Well, the nights start early on the northern hemisphere, so here we are: It still works here, so it must be something windows specific.

OS: Ubuntu 16.04.5 LTS
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.18.15263 (Git)
Build type: Release
Branch: master
Hash: 7ceac311b3c5dc1b89e85b15b310ddd1d1673561
Python version: 2.7.12
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: English/UnitedStates (en_US)

and

OS: Ubuntu 16.04.5 LTS
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.18.15287 (Git)
Build type: Release
Branch: master
Hash: 792bb8282a475905a233905a07060640456f3128
Python version: 2.7.12
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: English/UnitedStates (en_US)
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
prius06
Posts: 30
Joined: Thu Aug 23, 2018 6:29 pm

Re: Creating CNC roughing and finishing passes

Post by prius06 »

Thanks Chris,

Can you check where the ocl.pyd file is located on your system?

Thanks
GeneFC
Veteran
Posts: 5373
Joined: Sat Mar 19, 2016 3:36 pm
Location: Punta Gorda, FL

Re: Creating CNC roughing and finishing passes

Post by GeneFC »

ocl.pyd belongs in the \Mod\Path folder. As far as I recall it has never belonged in the \bin folder.

OS: Windows 7
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.18.15248 (Git)
Build type: Release
Branch: master
Hash: 608d42d3cdce307b585534adfdae9c9af7304436
Python version: 2.7.14
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 7.2.0
Locale: English/UnitedStates (en_US)


Gene
prius06
Posts: 30
Joined: Thu Aug 23, 2018 6:29 pm

Re: Creating CNC roughing and finishing passes

Post by prius06 »

After verifying everything, I discovered that ... I must have accidentally downloaded the 32-bit version of 0.18.15280

Downloaded the 64-bit version and installed it followed by copying the ocl.pyd to bin as it was in 0.17 and ... it worked. Subsequently I moved ocl.pyd to Mod/Path as suggested and ... it continued to work. :)

Thanks to everyone who helped!
prius06
Posts: 30
Joined: Thu Aug 23, 2018 6:29 pm

Re: Creating CNC roughing and finishing passes

Post by prius06 »

Back to the optimization.

I see the files getting substantially smaller ... and the generation happening much faster!

I can also see the "is point on the line" optimization. For example the points below are not intuitively on the same line (do not have the same Xs and Ys):

G1 X-5.9726 Y3.4122 Z0.0096 F200.00
G1 X-5.9726 Y3.4522 Z0.0332 F200.00
G1 X-5.9726 Y3.4921 Z0.0568 F200.00
G1 X-5.9726 Y3.5321 Z0.0804 F200.00

G1 X-5.9726 Y3.5720 Z0.1040 F200.00

But calculating the slope shows that they are. Furthermore this optimization appears to be quite substantial. In my tests I have experienced 30% to almost 50% smaller gcode compared to plain comparing of coordinates.

Great job! Thank you very much!
Russ4262
Posts: 941
Joined: Sat Jun 30, 2018 3:22 pm
Location: Oklahoma
Contact:

Re: Creating CNC roughing and finishing passes

Post by Russ4262 »

@bill
bill wrote: Sun Oct 07, 2018 4:28 am From what I can see, drop-cutter still needs to execute path generation as follows; according to drop-down parameter:

dropcutter.gif

Right! The current execution is only good for wax and styrofoam; No! :lol:
Good afternoon.
I am new to the forum, but I have read some of the content posted when looking for answers for questions about FreeCAD. Before continuing, I would like to say a big THANK YOU to all those who make FreeCAD possible and available to the public. I understand it is a work in progress, but it is great for what it is! I have been using FC off and on for a couple years now. Currently, I am using nightly builds. I have the following setup:

OS: Windows 10
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.18.15860 (Git)
Build type: Release
Branch: master
Hash: 3b708c7f84b0425076b520e1d95627b20fd75fe0
Python version: 2.7.14
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 7.2.0
Locale: English/UnitedStates (en_US)

Last summer, my dad and I fabricated a basic CNC machine from 1 1/2" steel angle iron. It has a bed size of 35" x 35". Its precision is probably 1/64", which makes us very happy for a $300 father/son project. It uses NEMA 23 steppers at 269 oz.in. - one per axis - and run off GRBL on Arduino uno board.
As for your post on integrating the StepDown parameter into the Path 3D Surfacing Op, I have done just that. Only about a month ago did I locate this path feature - I had to add it my PathWB toolset, as it is not visible by default in the current FC builds. I too noticed that it would surface the object in one pass. I have modified the PathSurface script by @sliptonic. I added layering support per the StepDown parameter available in the Op's settings window. I also added some code for a simple optimization algorithm, separate from the linear optimization already available. This additional optimization is based on height. I have created an account on GitHub and forked the FC source repo. It is my goal to contribute the code to the FC community for discussion, collaboration, revision, debugging and adoption - through the proper channels.

I have included screenshots with current and modified versions of the Path 3D Surface Op and the model file I used.


Thanks
Attachments
badProp-5-mod3DSurf.FCStd
FC model with modified 3D Surface Op
(36.91 KiB) Downloaded 44 times
badProp-5-cur3DSurf.FCStd
FC model with current 3D Surface Op
(27.08 KiB) Downloaded 48 times
my modified 3D Surface Op with optimization
my modified 3D Surface Op with optimization
3D_Surface-modified.png (187.04 KiB) Viewed 1754 times
FC current 3D Surface Op
FC current 3D Surface Op
3D_Surface-original.png (150.57 KiB) Viewed 1754 times
chrisb
Veteran
Posts: 53930
Joined: Tue Mar 17, 2015 9:14 am

Re: Creating CNC roughing and finishing passes

Post by chrisb »

Hi Russ, very welcome to the forum.
You seem to have accidentally double posted, please let me know which one to delete (if ever).

This is a great first post and I hope you will contribute more!
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
User avatar
JoshM
Posts: 456
Joined: Thu Oct 05, 2017 5:34 pm
Location: New Hampshire

Re: Creating CNC roughing and finishing passes

Post by JoshM »

Really nice job Russ! Thanks for sharing that.
Russ4262
Posts: 941
Joined: Sat Jun 30, 2018 3:22 pm
Location: Oklahoma
Contact:

Re: Creating CNC roughing and finishing passes

Post by Russ4262 »

chrisb wrote: Sun Feb 17, 2019 9:36 am Hi Russ, very welcome to the forum.
You seem to have accidentally double posted, please let me know which one to delete (if ever).

This is a great first post and I hope you will contribute more!
My apologies, @Chris, for the double post. Please feel free to delete the second post.

Thanks
herbk
Veteran
Posts: 2657
Joined: Mon Nov 03, 2014 3:45 pm
Location: Windsbach, Bavarya (Germany)

Re: Creating CNC roughing and finishing passes

Post by herbk »

Hi Russ,
like Josh say'd: very nice, thank you.
I know i'm a bit sassy with the question, but: is that possible at 3D Pocket to?
Gruß Herbert
Post Reply