3D Surface - Face Selection (New feature) [Merged]

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!
RatonLaveur
Posts: 991
Joined: Wed Mar 27, 2019 10:45 am

Re: 3D Surface - Face Selection (New feature)

Post by RatonLaveur »

I really think the discussion on multiple model handling needs to be had especially before too much coding is done.

Consider the actual workflow of a CNC machinist when processing multiple parts. There is almost never a case when one single OP is coded for two parts.

Case1: palletisation, repeating the same part in a batch of stocks.

In that case the ideal is to code ONE single part and change local coordinate systems based on the pallet if its designed accurately enough or based on individual part indication. Either way, to minimize cycle time, tool changes are minimized. So one ot two ops based on one tool will be coded for the first part and then this will be repeated in sequence by changing the Local Work Coordinate Offset. (Usually a G51 code, sometimes a G92 for more brute force coders). Then a tool change is operated and other ops are planned on the first part only and repeated at each LWCO...so on and so forth.
Either way the CAM only outputs one of each ops on one single part. The repeats can be planned in CAM in which case a "CAM workflow" tool needs to be implemented but certainly not the OP itself modified.

Case 2: different parts in the same work zone.

To be honest in that case i do not understand why the CNC machinist would hope to perform one OP on both parts at once. Each part will need a specific tweak somewhere for optimisation. So it should be per part OPs.

Case 3: rectification

One case in which a single op may be beneficial on several parts is the facing operation. It may be beneficial to run a face mill or fly- cutter in all parts at once for rectification. Specifically when considering the size of those tools which anyway would encompass several small parts at once on a well designed pallet.

Case 4: here i defer to others to offer an alternative use case.

My point is: we need to be careful to not try to code five headed unicorns for each OP. Use cases are very important and in many cases the user should think about their workflow. I think single part OPs are the best bet for a robust KISS approved Path WB. And if we really want to be fancy, prepare new Workflow tools for multiple parts. Including making a more prominent use of the existing Fixture tool, and perhaps even prepare local G92s that can be reset.
User avatar
freman
Veteran
Posts: 2201
Joined: Tue Nov 27, 2018 10:30 pm

Re: 3D Surface - Face Selection (New feature)

Post by freman »

n that case the ideal is to code ONE single part and change local coordinate systems based on ....
I would be very cautious about declaring one method "ideal" and then suggesting other ways of doing things can effectively be ignored. No one can anticipate all job / machine requirements and dictate how a particular job "should " be done. This inevitably leads to false assumptions based on someone's specific needs/knowledge.

I recently needed four attachments for the gas shocks on a roof window. They were small but relatively complex parts to be cut from one piece of stock. They required several tools and reorientation of the stock. I made an array of the single part in FC and created separate .nc files for each path on the ensemble of the four parts.

I don't think I would want to have been constrained by CAM limitations to make a smaller file and manually poking around with four G92 commands.

[In fact I ended up doing 3+1, but that's beside the point. ]
Attachments
velux3-vice.jpeg
velux3-vice.jpeg (296.5 KiB) Viewed 1268 times
RatonLaveur
Posts: 991
Joined: Wed Mar 27, 2019 10:45 am

Re: 3D Surface - Face Selection (New feature)

Post by RatonLaveur »

Indeed and that's exactly why i suggested others present alternative use cases as you well did.

I can merely offer my own industrial experience and even I am not a reference on the matter, seeing as others are more experienced cnc machinists.

I was indeed thinking of making parts from individual stocks. When indeed there should be the ability to mill several parts in the same stock...

It's really a matter of discussing it before intense coding is performed.
User avatar
Gauthier
Posts: 123
Joined: Fri Jul 04, 2014 10:00 am
Location: Audenge, France

Re: 3D Surface - Face Selection (New feature)

Post by Gauthier »

Hi all,

@RatonLaveur,
The goal of what I am trying to program today is to mill 2 symmetrical pieces at the same time with a single G-code file in a single stock.
There is only one FreeCAD model, but which contains 2 solids, one of which is symmetrical to the other.
The only workshops I used to create the geometry are Draft, Sketcher and Part.
In the Path module, the job is based on the 2 solids...
I think it should be possible doing this, FreeCAD should not limit this.

@Russ4262, I made another simple modes wich I think, reproduce the error :
Capture d’écran_2020-02-17_17-22-32.png
Capture d’écran_2020-02-17_17-22-32.png (322.76 KiB) Viewed 1236 times
See attached model TestSurf01.FCStd...
When there is only one edge with a fillet, the 3D surface path is computed fine. The error appear when there is more than one edge wich is filleted...


By the way, when there is more than one adjacents surface, the algorithm output 2 or more (one per face) separate path with no continuity between there. It should be one complete path on the 2 or more complete surfaces.


@++;
Gauthier.
Attachments
TestSurf01.FCStd
(378.74 KiB) Downloaded 48 times
Russ4262
Posts: 941
Joined: Sat Jun 30, 2018 3:22 pm
Location: Oklahoma
Contact:

Re: 3D Surface - Face Selection (New feature)

Post by Russ4262 »

Gauthier wrote: Mon Feb 17, 2020 4:41 pm ...
By the way, when there is more than one adjacents surface, the algorithm output 2 or more (one per face) separate path with no continuity between there. It should be one complete path on the 2 or more complete surfaces.
Yes, this is an issue I had planned on changing, as it is desirable that adjacent faces would be combined into one area. I am addressing this with the fixes I am working on.

Thanks for the additional feedback and model to test.

Russ
jffmichi
Posts: 22
Joined: Sun Feb 23, 2020 11:25 pm

Re: 3D Surface - Face Selection (New feature)

Post by jffmichi »

Hello,

@Russ4262 firstly thank you for the great work.

I'm not sure if it has already been suggested as I didn't read the hole thread, if it did please just consider this a +1. I would like to suggest the possibility to choose/invert the cutting/sampling direction. The possibility to choose between circular and lines is already great but I would like to be able to select something like "cirular inward" or "lines in x direction but starting with the line at y=10 and ending with the line at y=0". I hope it is clear what I mean by this. The reason for this is trying to approximate slopes using a staircase with the 3d surface operation and an end mill. When you start at the highest stair and move downwards you get "burrs" at every step. However, when you start at the lowest stair and move upwards the burrs get automatically cleaned up when the next stair is milled. For lines this can currently be achieved by rotating the workpiece by 180° when generating paths but that is a little inconvenient and doesn't work for circular features.

Thank you very much,
jffmichi
chrisb
Veteran
Posts: 53922
Joined: Tue Mar 17, 2015 9:14 am

Re: 3D Surface - Face Selection (New feature)

Post by chrisb »

If it is easy doing it may be included, but I think this is a rather exotic usecase. And there is a workaround: create a new operation for each stair. And you wouldn't mill the Niesen staircase starting at the bottom anyway.
But let's see if others need this too.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
User avatar
freman
Veteran
Posts: 2201
Joined: Tue Nov 27, 2018 10:30 pm

Re: 3D Surface - Face Selection (New feature)

Post by freman »

What seems a bit odd is that the current path tool is cutting arbitrarily deep cuts in one hit. Potentially using the full height ( or more ) of the side of the endmill to remove material.

IIRC , when I used 3Dsurrface almost a year ago to cut a semi cylindrical form, it stepped down progressively taking a controlled depth of material at each cut until finally getting to the desired 3D profile.

Now it seems that "step down" on the Depths tab has no effect and the whole depth is removed in one cut. This will not work in practice and seems uncontrollable. The depth being cut away simply being all the material which is there in that particular position.

I'd noted this earlier but assumed that Russ was just displaying the final cut for clarity in his screenshots.

As a quick aside, the 3Dsurface paths are presented in the treeview with a label "Surface". This seems too vague and does not match the name of the tool in the too bar where it is presented as "3D Surface". Python has an aversion to variable names beginning with a numeric character and while we can change this label at will, the default value reflects an underlying variable name. I would suggest "Surface3D" or something similar which more clearly identifies the path tool used.
Attachments
3Dslope.png
3Dslope.png (19.3 KiB) Viewed 1128 times
slope.FCStd
(24.69 KiB) Downloaded 50 times
chrisb
Veteran
Posts: 53922
Joined: Tue Mar 17, 2015 9:14 am

Re: 3D Surface - Face Selection (New feature)

Post by chrisb »

You have to set LayerMode to Multi-pass.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
User avatar
freman
Veteran
Posts: 2201
Joined: Tue Nov 27, 2018 10:30 pm

Re: 3D Surface - Face Selection (New feature)

Post by freman »

Ah, yes, that nifty feature tucked away in the treeview. Many thanks.

This really needs to be in UI, but I'm sure Russ will take care of that when the basics are finished. Or maybe this is only really needed for debugging anyway.
Post Reply