Switching between workbenches using Part

Post here for help on using FreeCAD's graphical user interface (GUI).
Forum rules
and Helpful information
IMPORTANT: Please click here and read this first, before asking for help

Also, be nice to others! Read the FreeCAD code of conduct!
fmluizao
Posts: 78
Joined: Tue Nov 19, 2019 7:16 pm

Re: Switching between workbenches using Part

Post by fmluizao »

vocx wrote: Sun Jan 12, 2020 9:46 pm The Part workbench is mostly a workbench with basic functions that implement the core features of the OpenCASCADE kernel. The Part Workbench is very basic. It is not meant to be too complex.
I'm still learning FreeCAD, mostly use PartDesign, and sometimes have to switch to Part WB to do some tasks. So, I dont think it is very basic, has almost all the features PartDesign has... I'm reading a lot of posts here on the forum, and I see that a lot of people complain about this duplication, it feels kind of strange to switch to another WB to do some task. I absolutely love the Sketcher -> PartDesign workflow :D. But I do mostly mechanical drawings, I'm not aware of different workflows for other usecases.

Also, I was thinking about code maintenance. Having two tools to do the same job implemented in different ways is costly to support...
User avatar
bejant
Veteran
Posts: 6075
Joined: Thu Jul 11, 2013 3:06 pm

Re: Switching between workbenches using Part

Post by bejant »

Part and Part Design do different things, but there is some overlap.
  • One difference is that Part Design only models solids. The Part WB uses the CSG (Constructive Solid Geometry) approach although it can create and manipulate other things like Faces and Shells.
  • Part Design has Booleans built into the tools (Additive and Subtractive tools).
  • Part Design uses a Body, and there can only be one solid thing per Body. Part doesn't use a Body and multiple disconnected shapes are aware of one another. (In FreeCAD =< 0.16 there could be multiple solids in Part Design but they were unaware of one another.)

    I'm sure I'm missing some others differences...
openBrain
Veteran
Posts: 9041
Joined: Fri Nov 09, 2018 5:38 pm
Contact:

Re: Switching between workbenches using Part

Post by openBrain »

Part and PartDesign are like an axe and a chainsaw. Both cut wood. So why own both? Just because they're different and useful in different use cases. :)
fmluizao
Posts: 78
Joined: Tue Nov 19, 2019 7:16 pm

Re: Switching between workbenches using Part

Post by fmluizao »

openBrain wrote: Mon Jan 13, 2020 1:06 pm Part and PartDesign are like an axe and a chainsaw. Both cut wood. So why own both? Just because they're different and useful in different use cases. :)
As bejant highlitghed, I'm aware that are differences between them, I'm still exploring Part WB to learn more. But I think about tool duplication, for example PartDesign:Pad and Part:Extrude. Its like have a electric chainsaw and a gas-powered chainsaw. Very similar tools, with different implementations. I dont know how objects relate internally (Body vs others types), but it would be nice if the tools just work on any kind of solid, having just one tool for every job.

I understand that things evolved this way, probably its a big code change. I'm just sharing my thoughts from an user point of view ;) .
chrisb
Veteran
Posts: 54197
Joined: Tue Mar 17, 2015 9:14 am

Re: Switching between workbenches using Part

Post by chrisb »

fmluizao wrote: Mon Jan 13, 2020 1:39 pm but it would be nice if the tools just work on any kind of solid, having just one tool for every job.
It used to be like that up to v0.16 of FreeCAD. But there were some drawbacks which needed one of the biggest and most intrusive codechanges I have seen in FreeCAD. The result was PartDesign in its current form. It brought so many improvements that I never look back.
Although there are things that can be done only in Part or only in PartDesign, the decision to use Part vs. PartDesign seems to me to be a rather personal one. I for example started with PartDesign, was then delighted by Part, and now I am again delighted by PartDesign.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
vocx
Veteran
Posts: 5197
Joined: Thu Oct 18, 2018 9:18 pm

Re: Switching between workbenches using Part

Post by vocx »

fmluizao wrote: Mon Jan 13, 2020 1:39 pm ... But I think about tool duplication, for example PartDesign:Pad and Part:Extrude. ...Very similar tools, with different implementations....
Part Workbench is the basic collection of tools that implement the OCCT algorithms. It was developed first. It is the base of all workbenches in the software because it handles the basic topological Shapes. All workbenches internally use the tools defined in the Part Workbench.

PartDesign Workbench is a layer on top of the Part tools. PartDesign mimics the way professional software packages like Catia works.

So, yes, the functionality is sort of repeated, but this is not difficult to manage. When using Part, you are using the bare tools of the software; when you use PartDesign you are using the more polished, higher level version.
Always add the important information to your posts if you need help. Also see Tutorials and Video tutorials.
To support the documentation effort, and code development, your donation is appreciated: liberapay.com/FreeCAD.
fmluizao
Posts: 78
Joined: Tue Nov 19, 2019 7:16 pm

Re: Switching between workbenches using Part

Post by fmluizao »

vocx wrote: Mon Jan 13, 2020 5:41 pm When using Part, you are using the bare tools of the software; when you use PartDesign you are using the more polished, higher level version.
So, just for the sake of curiosity, in the UI, the Part WB could be hidden, and only expose PartDesign for a better user experience? I'm not saying I want to do this, or this will be better, just trying to understand how things works under the hood ;) .
openBrain
Veteran
Posts: 9041
Joined: Fri Nov 09, 2018 5:38 pm
Contact:

Re: Switching between workbenches using Part

Post by openBrain »

You can choose which workbenches are enabled/disabled (in the interface customization IIRC). ;)
vocx
Veteran
Posts: 5197
Joined: Thu Oct 18, 2018 9:18 pm

Re: Switching between workbenches using Part

Post by vocx »

fmluizao wrote: Mon Jan 13, 2020 6:55 pm So, just for the sake of curiosity, in the UI, the Part WB could be hidden, and only expose PartDesign for a better user experience?...
Every couple of months this confusion between Part and PartDesign pops up, and this is something that is suggested a few times: Part should be hidden, so PartDesign is the default solid building workbench. However, Part is still there because it's necessary to test the basic shape creation functions of OCCT, and also some tools are not fully ported to PartDesign, like the Part_Helix tool.

So, I understand the mixup, but my suggestion is to start with and use PartDesign as much as possible, and only use Part if absolutely necessary. Once you are more experienced it becomes more intuitive when Part is better for the job.
Last edited by vocx on Mon Jan 13, 2020 11:43 pm, edited 1 time in total.
Always add the important information to your posts if you need help. Also see Tutorials and Video tutorials.
To support the documentation effort, and code development, your donation is appreciated: liberapay.com/FreeCAD.
fmluizao
Posts: 78
Joined: Tue Nov 19, 2019 7:16 pm

Re: Switching between workbenches using Part

Post by fmluizao »

vocx wrote: Mon Jan 13, 2020 7:17 pm Part is still there because it's necessary to test the basic shape creation functions of OCCT,
Would be possible to automate this, using unit tests? That way, a GUI would be unneeded.
vocx wrote: Mon Jan 13, 2020 7:17 pm and also some tools are not fully ported to PartDesign, like the Part_Helix tool.
I would like to contribute, I dont know the FreeCAD object model, but I can program in C and Python. I will try to port Helix as a first exercise.
Post Reply