FreeCAD / FreeCAD

This is the official source code of FreeCAD, a free and opensource multiplatform 3D parametric modeler.
https://www.freecad.org
Other
19.12k stars 3.97k forks source link

[Problem] The Path workbench name is confusing and unintuitive. #12560

Closed sliptonic closed 6 months ago

sliptonic commented 6 months ago

Is there an existing issue for this?

Problem description

The Path workbench is for producing CNC toolpaths. In most applicaitons this is called 'CAM' for Computer Aided Manufacturing.
Typical users are confused. They don't realize that FreeCAD has a CAM capability and they don't know how to use a 'Path' workbench.

The term 'path' is also overloaded with other contextual meaning in the application. We use paths to sweep objects. We sometimes refer to file paths.

Full version info

Any

Anything else?

When we first started building Path, we named it that because there was an older deprecated module called 'Cam' already.

That module has since been removed from the source so there's no namespace collision anymore.

The best time to undertake a workbench renaming is prior to a 1.0 release. Doing it later will only be more difficult.

I'm not talking about changing much in the source where the name 'Path' is widely used. Just the user-facing stuff.

This will, of course, impact documentation, and many 3rd party tutorials, books, and videos.

Related issue about command name confusion https://github.com/FreeCAD/FreeCAD/issues/8046

Code of Conduct

maxwxyz commented 6 months ago

Will it be used for cnc paths only or is it planned to add other manufacturing processes (e.g. additive manufacturing)

FEA-eng commented 6 months ago

I'm glad that we share the same opinion. In Polish translation, after a voting, we decided to use CAM as the name for the Path workbench. I've even seen some complaints on a Polish CNC specialists forum that this workbench in FreeCAD has a strange name.

sliptonic commented 6 months ago

Will it be used for cnc paths only or is it planned to add other manufacturing processes (e.g. additive manufacturing)

This isn't intended to change functionality at all. Only name.

maxwxyz commented 6 months ago

Will it be used for cnc paths only or is it planned to add other manufacturing processes (e.g. additive manufacturing)

This isn't intended to change functionality at all. Only name.

Yes sure, I was just asking if the intention in the future is to add more "CAM" functionalities or if this will be a "CNC" specific WB where other addons should focus on e.g. additive manufacturing, process planning,... "CAM" for me is the overall name.

sliptonic commented 6 months ago

Will it be used for cnc paths only or is it planned to add other manufacturing processes (e.g. additive manufacturing)

This isn't intended to change functionality at all. Only name.

Yes sure, I was just asking if the intention in the future is to add more "CAM" functionalities or if this will be a "CNC" specific WB where other addons should focus on e.g. additive manufacturing, process planning,... "CAM" for me is the overall name.

In general parlance, CAM is the part of the toolchain that creates tool paths. CNC is the part of the toolchain that consumes those paths and drives the physical machine. FreeCAD Path (CAM?) and Slic3r are CAM tools. LinuxCNC and Octoprint are CNC tools.

Subtractive and additive machining are quite different in requirements and the additive stuff is well served with the current tools. The slicers that are available now are already very good. There isn't much we can add to the FreeCAD CAM tool stack that is of value above that.

I can't really predict the future but my guess about the future direction of Path/CAM in FreeCAD includes lathe, multiaxis, and continuous multiaxis toolpath generation. More and better strategies. More and better tool handling. etc.

pierreporte commented 6 months ago

There isn't much we can add to the FreeCAD CAM tool stack that is of value above that.

For 3D printing, there is actually something that do not exist in common slicers (maybe in industry-grade ones). Currently, slicer don’t allow to approach features of a part differently. for example you want some holes larger than the theoretical CAD profile to add clearance (like a hole diameter 10 H7, drawn at 10 but in reality it needs to be larger). You can apply an offset but it would be on the whole part and not just where needed. To do this, you need to manually edit the CAD file, which isn’t always wanted. In a similar fashion, if you want to prototype a part that isn’t designed for 3D printing, you may wish to transform cosmetically-threaded holes into actually threaded ones.

sliptonic commented 6 months ago

There isn't much we can add to the FreeCAD CAM tool stack that is of value above that.

For 3D printing, there is actually something that do not exist in common slicers (maybe in industry-grade ones). Currently, slicer don’t allow to approach features of a part differently. for example you want some holes larger than the theoretical CAD profile to add clearance (like a hole diameter 10 H7, drawn at 10 but in reality it needs to be larger). You can apply an offset but it would be on the whole part and not just where needed. To do this, you need to manually edit the CAD file, which isn’t always wanted. In a similar fashion, if you want to prototype a part that isn’t designed for 3D printing, you may wish to transform cosmetically-threaded holes into actually threaded ones.

Oh there are LOTS of things like this where tools can be built into FreeCAD to support the 3D printing process. Many MANY things that I, myself, want. Most of them, however, are on the design side, not the slicing/cam side of the equation. I think your examples are like those. For instance, the Part Design workbench has a hole tool. It should be possible to apply a correction factor on a hole-by-hole basis to allow scaling the hole for 3D printing. Export it as .amf for 3D printing and get the scaled features.

Likewise, you should be able to select corners of a model and add 'mouse ears' for holding to the bed. That too is modifying the geometry, so it doesn't belong in the slicer.

There are lots of things like this. But we're probably getting off-topic for this issue. :-P

pierreporte commented 6 months ago

@sliptonic Indeed it’s off-topic as I was bouncing off your remark. Let’s discuss this later in a dedicated issue but let me just answer quickly.

I don’t agree with you that this is on the design side. A part can be manufactured with various process and these processes will need different alteration. FDM and SLS are both 3D printing but one needs to stick to a bed and not the other. CAM could be a whole suite that allow you to prepare all kind of processes, providing necessary alteration features for all kind of manufacturing. Well, except maybe mold design.

burdickjp commented 6 months ago

There are additive manufacturing (AM) processes which use CAM-ish toolpath strategies, such as directed energy deposition (DED) and additive friction stir deposition (AFSD). These are served in other CAD/CAM suites as CAM strategies specific to AM. NX has "multi-axis deposition" as a suite of CAM tools for AM. PowerMill and Hypermill both have CAM strategies for AM. MasterCAM has an extension called "A-Plus" by the company CAMufacturing (go Lancers).

more on topic, though, I think we can do better than "CAM". I believe "Manufacturing Workbench" would be sufficiently descriptive and encompass related CAM-ish methods. I do believe, though, that "Subtractive Manufacturing" would probably be more descriptive for the goals of this particular workbench and maybe an "Additive Manufacturing" workbench could follow in the future.

maxwxyz commented 6 months ago

Sorry for opening up this manufacturing topic but I want to make sure to choose a name that really fits to the features or the roadmap of this WB.

sliptonic commented 6 months ago

The correct name is 'Cam'. That's what is widely used in other applications. CAD/CAM is a well understood.
As noted, the only reason we didn't use it before was the name collision with the older workbench.

pierreporte commented 6 months ago

CAM can mean either machining or manufacturing. We can drop the computer aided part as it is obvious while in FreeCAD. Manufacturing is more general but CAM is more common. Maybe use CAM and refer to it exclusively as computer-aided manufacturing in the tooltips and documentation?

obelisk79 commented 6 months ago

CAM is the broadly accepted industry term for this, my opinion is that changing the name is a really good step to disambiguating what functionality is present to (new/prospective/existing) users by significantly improving its discoverability. Particularly for people with previous CAM experience.

I think we should avoid attempting to get overly specific with the naming opting instead for adequately simple and understandable naming. CAM works.

maxwxyz commented 6 months ago

I'm also in favor of CAM (known like FEM). Only thought I had was that some might expect more features regarding overall manufacturing (as mentioned e.g AM).

yorikvanhavre commented 6 months ago

I'm also in favor of CAM. (I want to do the same with merging Arch and BIM under BIM) because indeed the only reason it wasn't named CAM right from the start was the older module. CAD, CAM, BIM, etc... are all universal and well-known terms. Even if we can nit-pick over if what we currently have in Path does exactly and completely what CAM means, there is no doubt that what we want Path to do/become is indeed CAM.

Only thing that should be well assessed: Documentation. The effort to be put there (and keep a minimal sense for existing Path users), plus what will happen with people following tips on the forum, or youtube tutorials,... should be measured before the move...

JohnOCFII commented 6 months ago

For the renaming -- Path --> CAM makes perfect sense. At some point there may be an additional workbench for additive manufacturing. And if we go crazy, there might be a desire to re-organize workbenches into categories, and this whole category of stuff could be called "Manufacturing" at that time. But for now -- Path --> CAM will help FreeCAD features be more discoverable (and understandable) to new users.