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!
vocx
Posts: 3338
Joined: Thu Oct 18, 2018 9:18 pm

Re: Switching between workbenches using Part

Post by vocx » Mon Jan 13, 2020 11:53 pm

fmluizao wrote:
Mon Jan 13, 2020 7:23 pm
Would be possible to automate this, using unit tests? That way, a GUI would be unneeded.
Sure, but the GUI experience is also needed. You need a way to graphically test the functions, say graphically choosing two objects and performing a boolean fusion, or cut, or intersection, and so on. These are the basic operations in CAD, so having them available is good.

Also, there are many users who refuse to use PartDesign. They grew up in the 1980s so the constructive solid geometry way of doing things is what they know, and is what they want to keep using. If we remove Part, that would not sit well with them.
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.
Awesome, keep us posted. Ideally this would be something like an additive Helix and subtractive Helix, although that is already possible essentially with the Loft and Pipe tools. So, maybe what is needed is just a button in the PartDesign Workbench to create the Helix inside the PartDesign Body, so that users doesn't need to switch to the Part Workbench just for this operation.
Always add the important information to your posts if you need help.
To support the documentation effort, and code development, your donation is appreciated: paypal.
User avatar
sgrogan
Posts: 5636
Joined: Wed Oct 22, 2014 5:02 pm

Re: Switching between workbenches using Part

Post by sgrogan » Tue Jan 14, 2020 1:03 am

fmluizao wrote:
Mon Jan 13, 2020 7:23 pm
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.
This is greatly appreciated.
fmluizao wrote:
Mon Jan 13, 2020 7:23 pm
Would be possible to automate this, using unit tests? That way, a GUI would be unneeded.
What to expose to the user is a constant struggle. Too much is exposed and the user is confused by all the options, too little and it becomes an easter egg hunt to find what one needs.
For you PartDesign Pad is the same as Part Extrude + Fuse, for me they are different, I can control both operations separately or omit Fuse all together and bypass the single connected solid restriction with a PartDesign Body.

Anyway, I think that eventually FreeCAD will need "flavors". For example FreeCAD-MCAD (this would be a substitute for Catia or SolidWorks), Most WB's are hidden, maybe some important commands from hidden WB's are included in a custom toolbar, maybe some addons are important to the workflow. As freedman has pointed out it is difficult for a new user to customize this when they don't know how it works. There are people pulling around the edges for this; portable config files, running the addon manager without gui, the autoload module.

We have the re-purposed "Complete" WB, which I guess now means completely empty. Maybe it would be a good new topic. "Design the perfect Complete WB"
openBrain
Posts: 3406
Joined: Fri Nov 09, 2018 5:38 pm

Re: Switching between workbenches using Part

Post by openBrain » Tue Jan 14, 2020 8:24 am

sgrogan wrote:
Tue Jan 14, 2020 1:03 am
We have the re-purposed "Complete" WB, which I guess now means completely empty. Maybe it would be a good new topic. "Design the perfect Complete WB"
Could be good to merge both your insights. Having an "ideal" Complete WB that is populated depending on a 'Usage' that you choose at first startup and then can be changed later. Eg 'MCAD', 'Arch/BIM',...
fmluizao
Posts: 63
Joined: Tue Nov 19, 2019 7:16 pm

Re: Switching between workbenches using Part

Post by fmluizao » Wed Jan 15, 2020 11:48 am

vocx wrote:
Mon Jan 13, 2020 11:53 pm
Also, there are many users who refuse to use PartDesign. They grew up in the 1980s so the constructive solid geometry way of doing things is what they know, and is what they want to keep using. If we remove Part, that would not sit well with them.
I understand that, every user has a prefered way of work which works best for him. I'm not against CSG or the Part WB. What I dislike is having to switch to other WB to do some task that could be right there :). I'm not complaining, its good to have options, in the end what matters is to get the job done, but I think that switching WBs sometimes confuse users, especially newcomers like me ;).
sgrogan wrote:
Tue Jan 14, 2020 1:03 am
What to expose to the user is a constant struggle. Too much is exposed and the user is confused by all the options, too little and it becomes an easter egg hunt to find what one needs.
Agreed. But I prefer having all the options avaliable at hand, and a good documentation to clarify every one :D. I'm a developer, and I know that finding what to expose to the user is hard... also deciding where everything fits its a challenging task. For instance, in PartDesign we have a gear option. But it can generate only involute gear. Wouldn't be better to remove the feature, and use a separate WB? Or about Shat Design Wizard... its a nice feature, but feels like off the place... its the only tool in the PartDesign WB which has analysis capabilities, and yet have another dependency (matplothlib). Maybe should be in a specific WB (Shaft Design)?
sgrogan wrote:
Tue Jan 14, 2020 1:03 am
Anyway, I think that eventually FreeCAD will need "flavors". For example FreeCAD-MCAD (this would be a substitute for Catia or SolidWorks), Most WB's are hidden, maybe some important commands from hidden WB's are included in a custom toolbar, maybe some addons are important to the workflow. As freedman has pointed out it is difficult for a new user to customize this when they don't know how it works. There are people pulling around the edges for this; portable config files, running the addon manager without gui, the autoload module.

We have the re-purposed "Complete" WB, which I guess now means completely empty. Maybe it would be a good new topic. "Design the perfect Complete WB"
Its a nice idea, the ability to customize a workbench without programming, just selecting what you want. Anyway, I'm just expressing my first impressions, I'm still studying the source to understand how can I help ;). I don't want to misrepresent the topic even further :oops:
vocx
Posts: 3338
Joined: Thu Oct 18, 2018 9:18 pm

Re: Switching between workbenches using Part

Post by vocx » Wed Jan 15, 2020 4:03 pm

fmluizao wrote:
Wed Jan 15, 2020 11:48 am
... but I think that switching WBs sometimes confuse users, especially newcomers like me ;).
...
As I said, this is the way professional CAD packages work.

You cannot provide the user absolutely everything they need in a single place. You often need to switch workbenches to get the tools you need.

If you get confused about this, it just means you aren't experienced enough.
Always add the important information to your posts if you need help.
To support the documentation effort, and code development, your donation is appreciated: paypal.
User avatar
sgrogan
Posts: 5636
Joined: Wed Oct 22, 2014 5:02 pm

Re: Switching between workbenches using Part

Post by sgrogan » Wed Jan 15, 2020 11:13 pm

fmluizao wrote:
Wed Jan 15, 2020 11:48 am
For instance, in PartDesign we have a gear option. But it can generate only involute gear. Wouldn't be better to remove the feature, and use a separate WB?
Great question, I think it would make a great topic in open discussion. If your interested search the forum for the ship and plot wb's.
fmluizao wrote:
Wed Jan 15, 2020 11:48 am
I'm just expressing my first impressions, I'm still studying the source to understand how can I help ;)
This is greatly appreciated!
Unfortunately your observations are not unique :oops:
Fortunately your response to the discussion, although rare, is what the project needs :)
fmluizao wrote:
Wed Jan 15, 2020 11:48 am
the ability to customize a workbench without programming,
This mostly exists already. The problem is a user has to develop enough experience to use it. Check out Edit preferences >, and Tools customize, from the Gui.

A new thread in open discussion might be good to further discuss? It could get a little heated, but at the end we make progress :geek:
Philip Rayment
Posts: 13
Joined: Wed Jan 15, 2020 2:11 am

Re: Switching between workbenches using Part

Post by Philip Rayment » Thu Jan 16, 2020 6:51 am

As a very new user, I've found this thread interesting.
Freedman:
I see posts all the time about how difficult the program is to use, here is one example.
I posted one yesterday, "Where do I start with a bookshelf?". So far, I haven't had answers that have helped.

openBrain:
Mixing both is a super bad idea.
And that is one of the problems for new users. In my post I said "Actually, the whole workbench thing is confusing. In some ways it seems that they are simply different sets of tools to work on the same models/drawing, but then I read that things created in some work benches are incompatible with some other work benches."

vocx:
You aren't supposed to use Sketcher and Part a lot. If you are going to do that, you should use PartDesign because this is precisely the workflow intended with this workbench, that is, draw a sketch, and then obtain a PartDesign Feature from it.
Okay, but...

Bejant:
Part and Part Design do different things, but there is some overlap. ... 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. ...
So if I'm designing a bookshelf comprising multiple components, that sounds like Part Design is NOT the workbench to use.

chrisb:
the decision to use Part vs. PartDesign seems to me to be a rather personal one.
While undoubtedly true, for a new user that it not helpful at all.

vocx:
Also, there are many users who refuse to use PartDesign. They grew up in the 1980s so the constructive solid geometry way of doing things is what they know, and is what they want to keep using. If we remove Part, that would not sit well with them.
Looking at the linked CSG article, it seems to me like the PartDesign approach would be better for a complex shape like the one illustrated in that article, but the Part approach would be better for the sort of thing I want. I see this sort of issue a lot in complex software: articles and tutorials are often (somewhat) useless because they explain how to do something very different to what I want to do. Providing tutorials for every different case is clearly impracticable, but the problem is still there. In my case, I found a tutorial on making a table, which seemed similar enough, and did well what it set out to do, and on that basis I decided to use the Part workbench. My other post, though, explains some of the problems I encountered.

sgrogan:
What to expose to the user is a constant struggle. Too much is exposed and the user is confused by all the options, too little and it becomes an easter egg hunt to find what one needs.
A quite understandable problem, and not easily solved. However, the problem I've found so far with FreeCAD is that the workbenches and instructions seem to focus on the type of operations one will use to achieve the goal, rather than the type of goal. Do you want to design a complex shape like a mechanical component or a complete machine or house or a piece of furniture or etc.? If a new user can select what type of object they want to design (and select what they want such as just a drawing, a list of parts, etc.), then a software wizard or instructions advise them what workbenches or approaches they should take to do that, that might be more helpful. But see also my final comments below where I'll make a couple of suggestions.

fmuizao:
I think that switching WBs sometimes confuse users, especially newcomers like me
It need not be confusing if it was quite clear why it was necessary and what advantages switching provides. At the moment, that's a very grey area for me.

vocx:
If you get confused about this, it just means you aren't experienced enough.
Of course. But how does that help a new user who, by definition, is not experienced enough?

Give that there are already a range of tuturials to cover different sorts of outcomes, perhaps that aspect is fairly well covered. However, they could do with a summary of the tutorial so that a newcomer could have a better idea of whether that tutorial is going to cover what they want. That summary should include what it does and what it doesn't do.

Another useful thing would be a table of how the different workbenches compare. That is, what they can do and what they can't do, to help a newcomer decide which one to use. That table should include such things as whether it handles 2D or 3D drawings, what sorts of designs it is best for, what interchangeability its designs have with other workbenches, etc.
chrisb
Posts: 22455
Joined: Tue Mar 17, 2015 9:14 am

Re: Switching between workbenches using Part

Post by chrisb » Thu Jan 16, 2020 6:52 am

sgrogan wrote:
Wed Jan 15, 2020 11:13 pm
Check out Edit preferences >, and Tools customize, from the Gui.
Just for ease of reference: Preferences Editor, Customize Toolbars and Parameter Editor. It seems we don't have a general customization topic in the wiki - with links to Preferences, Customization and Parameters.
vocx
Posts: 3338
Joined: Thu Oct 18, 2018 9:18 pm

Re: Switching between workbenches using Part

Post by vocx » Thu Jan 16, 2020 7:50 am

Philip Rayment wrote:
Thu Jan 16, 2020 6:51 am
...
So if I'm designing a bookshelf comprising multiple components, that sounds like Part Design is NOT the workbench to use.
...
I didn't answer your other thread because it's a wall of text and I didn't feel like it at the moment. Just let me mention this.

What you want is essentially an "assembly". It's a collection of disconnected pieces. So, yes, you can create the individual wooden parts as simple Part_Boxes, which you already did, or as individual PartDesign Bodys, which are then arranged in the desired position. The Std_Part element was designed precisely as a container with which to do assemblies of bodies, and then you can nest Std_Parts inside other Std_Parts to create assemblies of sub-assemblies. The positioning is manual.

For a more advanced solution you'd need to use an assembly workbench, like A2plus, Assembly3, or Assembly4. (Don't use Assembly2.)
...focus on the type of operations one will use to achieve the goal, rather than the type of goal...
In CAD there is more than one way to achieve a result. So the tools must be explained, and then the designer will think of ways of achieving the result with the tools he or she knows. There is no "incorrect" approach as long as you obtain your shape. There are recommended practices but that comes with experience. How to get experience? Practice, practice, practice. See also Video tutorials.

Commercial systems cost $5000 USD per license. And not only that, drafters, modellers, and engineers are sent to week long training courses to learn to use those systems in a productive way. It takes time, effort, and money to learn a complex system!

FreeCAD is free, but that doesn't mean it is intended for absolute beginners who have never used a computer in their lives. It's still a complex piece of software that requires effort to learn! You give me 5000 USD, and perhaps I can find some time in my schedule to teach you about FreeCAD personally. Also, you are free to contribute with documentation. There is a lack of documentation because developers like to develop, they don't like writing boring explanations that explain how things work. Boring! Help FreeCAD.
Another useful thing would be a table of how the different workbenches compare. That is, what they can do and what they can't do, to help a newcomer decide which one to use. ...
Not a bad idea, however, this overlap mostly occurs in Part and PartDesign. Most other workbenches have specific uses that there is no point in comparing them. For example, Arch is meant for buildings, you don't need to indicate that it cannot do 2D drawings. Workbenches
Always add the important information to your posts if you need help.
To support the documentation effort, and code development, your donation is appreciated: paypal.
Philip Rayment
Posts: 13
Joined: Wed Jan 15, 2020 2:11 am

Re: Switching between workbenches using Part

Post by Philip Rayment » Thu Jan 16, 2020 11:32 am

vocx wrote:
Thu Jan 16, 2020 7:50 am
...focus on the type of operations one will use to achieve the goal, rather than the type of goal...
In CAD there is more than one way to achieve a result. So the tools must be explained, and then the designer will think of ways of achieving the result with the tools he or she knows. There is no "incorrect" approach as long as you obtain your shape. There are recommended practices but that comes with experience. How to get experience? Practice, practice, practice. See also Video tutorials.
I realise that there are not necessarily any incorrect approaches, but as I pointed out with regards to the CSG article, some approaches work better with certain types of goals, and a beginner is not going to have that experience. (More on beginners below.)
FreeCAD is free, but that doesn't mean it is intended for absolute beginners who have never used a computer in their lives. It's still a complex piece of software that requires effort to learn! You give me 5000 USD, and perhaps I can find some time in my schedule to teach you about FreeCAD personally. Also, you are free to contribute with documentation. There is a lack of documentation because developers like to develop, they don't like writing boring explanations that explain how things work. Boring! Help FreeCAD.
There are a number of comments I could make here
  1. I'm not complaining, just trying to point out some issues, and trying to offer suggestions.
  2. I've seen the problem with documentation in many, many, areas, and am well aware of why this is so.
  3. I'm not an absolute beginner. I have used CAD systems a little before, so I understand some of the very basic concepts, but I've never used CAD systems very much (with one irrelevant exception), and of course I'm a beginner to FreeCAD.
  4. I went looking for software I could use for my project. I didn't try them all, of course, but I did try a few others before FreeCAD, but they didn't have the ability to enter or show measurements, or they had other problems. They simply didn't suit my purpose, and FreeCAD seemed like it would.
  5. Following on that point, I refer back to a comment by sgrogan that "Too much is exposed and the user is confused by all the options, too little and it becomes an easter egg hunt to find what one needs.". Other, simpler, software is typically software that doesn't have the flexibility to do what one might want to do. FreeCAD has the flexibility, which is effectively why I thought it might be a good choice, but that comes at a cost. That cost might be confusing complexity, but hopefully that cost might be the effort to present a simple starting point even though the (complex) flexibility is still available when you need it.
  6. Subject to time constraints, I would help with documentation. That's something that I don't mind doing a bit of. However, as a beginner, I'm not in a position to know what to write!
Another useful thing would be a table of how the different workbenches compare. That is, what they can do and what they can't do, to help a newcomer decide which one to use. ...
Not a bad idea, however, this overlap mostly occurs in Part and PartDesign. Most other workbenches have specific uses that there is no point in comparing them. For example, Arch is meant for buildings, you don't need to indicate that it cannot do 2D drawings. Workbenches
I'll grant that such a table needn't cover any but the "main" ones (whatever that might be). Clearly the Spreadsheet and Web ones are not even for doing drawings, for example, and ones like the FEM Workbench provide (I presume) very specialised tools for doing analysis on models created in some other workbench, but even putting ones like those aside, there's still a somewhat-bewildering array of work benches.
I didn't know that Arch can't do 2D drawings, so I don't see why that detail shouldn't be included in such a table. What if I wanted to produce a (2D) floor plan of a building, for example? I might assume that if it's for buildings, that might be a good one to use.
Post Reply

Who is online

Users browsing this forum: Bing [Bot], bzowk, freedman, MSN [Bot] and 11 guests