Discussion on Parts and Bodies

Have some feature requests, feedback, cool stuff to share, or want to know where FreeCAD is going? This is the place.
Forum rules
Be nice to others! Read the FreeCAD code of conduct!
User avatar
saso
Posts: 1279
Joined: Fri May 16, 2014 1:14 pm
Contact:

Discussion on Parts and Bodies

Postby saso » Tue Jan 09, 2018 4:54 pm

[Mod note: This was originally a reply to https://forum.freecadweb.org/viewtopic. ... 08#p208466]

I took the model from freecad-heini-1 and placed it inside a part (just create a part, select everything and drop it inside) with no problem, I think in the past this did not work that smooth, must be some of the latest commits from Werner :)

I then created two more parts, one I made by just selecting the first part and make a copy, also went very smooth. The second one I created a new empty part and a PDN clone of the final array from the first part and placed the clone in the new part. Changing the array size in the first part keeps the clone nicely parametric, also no problems (except for the colors, but maybe that is even better like this so individual parts / clones can be colored differently). In the end I just moved the individual parts a bit with the transform tool.

What I want to show is that Parts can work quite well and that the actual problem we have with them is that datum planes should not be inside bodies but inside parts (in last weeks I was arguing the same things but from the point of view when working with bodies). I think this example now nicely shows this problem (bug) also when not working with bodies inside parts.

I will repeat this again, bodies should "live" inside parts, they should be used for part solids construction (other non solid geometry should go directly under the part, as we see in this example), bodies should not have their own origins and datum planes but should use the ones from their parent part.

Again, since it is relevant for this example, datum planes should not be inside bodies but inside parts. I hope that with this examples now also others can see how, if we fix this things with bodies (moving origins and datum planes out of bodies in to the parts) things will work much better.

But I also understand the original idea why one would want to have the bodies behave like if they have their own origin (to freely move / position them inside the assembly with the transform tool). Bodies can be used inside parts in mainly two ways, first to create individual solid bodies that are positioned to each other and can reuse each other shapes and second to create individual "sub" solid geometry so that they can then be marge together with the bodies boolean tools in to a single more complex part. Specially in the first case, where you use them to create individual solid bodies one might want to be able to move them inside the assembly, but how this is done in other parametric cad's is that first those bodies are saved from the original multi body part in to individual parts (with this they now get their own origins) and then this parts are imported in to the assembly. Of course this extra step is need only in the case when one wants to move them separately in the assembly, else the original multi body part can be placed in the assembly directly. From my understanding the only (at the moment) parametric cad that does not need to do this extra step (first saving bodies to individual parts) and still have such a workflow is onshape, because it is not working with files but has everything saved in a database. Here is the nice thing with FreeCAD we are (will be) also able to save the bodies in to new parts without saving them in to extra new files ;) Well In some cases maybe saving them to new files will be preferred (but this is IMO in most cases an unwanted step) and in FreeCAD users will be able to also do this and so have the freedom to decide for them self what is best for their needs.

https://mega.nz/#!6IJCDJyQ!-_WEo5U_FrQ5 ... MFvAaDXUHs
Last edited by saso on Sun Jan 14, 2018 10:38 am, edited 2 times in total.
freecad-heini-1
Posts: 5607
Joined: Tue Jan 07, 2014 11:10 am
Contact:

Re: Modelling acoustic foam [PDN]

Postby freecad-heini-1 » Tue Jan 09, 2018 6:40 pm

saso wrote:
Tue Jan 09, 2018 4:54 pm
It is just wonderful to see and learn from both of your experiences, NormandC and freecad-heini-1, in modeling such things!

I took the model from freecad-heini-1 and placed it inside a part (just create a part, select everything and drop it inside) with no problem, I think in the past this did not work that smooth, must be some of the latest commits from Werner :)
Whow, that is great. So a part seems to be similar to a Creo part.
saso wrote:
Tue Jan 09, 2018 4:54 pm
I then created two more parts, one I made by just selecting the first part and make a copy, also went very smooth. The second one I created a new empty part and a PDN clone of the final array from the first part and placed the clone in the new part. Changing the array size in the first part keeps the clone nicely parametric, also no problems (except for the colors, but maybe that is even better like this so individual parts / clones can be colored differently). In the end I just moved the individual parts a bit with the transform tool.
Great, and nice to see that this is possible meanwhile.
saso wrote:
Tue Jan 09, 2018 4:54 pm
What I want to show is that Parts can work quite well and that the actual problem we have with them is that datum planes should not be inside bodies but inside parts (in last weeks I was arguing the same things but from the point of view when working with bodies). I think this example now nicely shows this problem (bug) also when not working with bodies inside parts.

I will repeat this again, bodies should "live" inside parts, they should be used for part solids construction (other non solid geometry should go directly under the part, as we see in this example), bodies should not have their own origins and datum planes but should use the ones from their parent part.

Again, since it is relevant for this example, datum planes should not be inside bodies but inside parts. I hope that with this examples now also others can see how, if we fix this things with bodies (moving origins and datum planes out of bodies in to the parts) things will work much better.

But I also understand the original idea why one would want to have the bodies behave like if they have their own origin (to freely move / position them inside the assembly with the transform tool). Bodies can be used inside parts in mainly two ways, first to create individual solid bodies that are positioned to each other and can reuse each other shapes and second to create individual "sub" solid geometry so that they can then be marge together with the bodies boolean tools in to a single more complex part. Specially in the first case, where you use them to create individual solid bodies one might want to be able to move them inside the assembly, but how this is done in other parametric cad's is that first those bodies are saved from the original multi body part in to individual parts (with this they now get their own origins) and then this parts are imported in to the assembly. Of course this extra step is need only in the case when one wants to move them separately in the assembly, else the original multi body part can be placed in the assembly directly. From my understanding the only (at the moment) parametric cad that does not need to do this extra step (first saving bodies to individual parts) and still have such a workflow is onshape, because it is not working with files but has everything saved in a database. Here is the nice thing with FreeCAD we are (will be) also able to save the bodies in to new parts without saving them in to extra new files ;) Well In some cases maybe saving them to new files will be preferred (but this is IMO in most cases an unwanted step) and in FreeCAD users will be able to also do this and so have the freedom to decide for them self what is best for their needs.
I see no reason why we need bodies. You can sketch on different datum-planes or other faces, can redefine in which direction a pad or pocket should go, symmetry, two sides, and it's possible to map a sketch on a other face, so there is no need for a body, from my point of view.
On the other hand, Solidworks, Catia and Solidedge provide a concept to use part and body. So if it is possible to chose one or both concepts, why not?
Please try me new adwanced file:
https://forum.freecadweb.org/download/file.php?id=50418
saso wrote:
Tue Jan 09, 2018 4:54 pm
PS: @freecad-heini-1 take care when creating two (or one) dimensional arrays, if you set the number of elements in all directions they will be created in all directions even if you set then distance in some directions to 0,00 cm (you final array has 3x3x3, but should be 3x1x3). Such things can make the arrays take much much logger to create then it should. Polar arrays should probably also be just 1x1x1...
Thank you for this information.
In my array there was z2. I corrected to Z0.

Did you know that Lattice2 explode compound did work for Array ?
Please try it out, that's a great feature.
User avatar
NormandC
Posts: 18534
Joined: Sat Feb 06, 2010 9:52 pm
Location: Québec, Canada

Re: Modelling acoustic foam [PDN]

Postby NormandC » Fri Jan 12, 2018 4:04 am

@ saso and freecad-heini-1: this is not the place to question how PartDesignNext should work. Bance has created this topic to get help on a design, you are hijacking his topic.

Besides, PDN has been in master for almost 2 years. It was first created 5 years ago, then picked up again 3 years ago. Back then was the time to speak up, now it's too late. Do you want v0.17 to be postponed another 5 years? I don't.
User avatar
saso
Posts: 1279
Joined: Fri May 16, 2014 1:14 pm
Contact:

Re: Modelling acoustic foam [PDN]

Postby saso » Fri Jan 12, 2018 4:34 pm

NormandC wrote:
Fri Jan 12, 2018 4:04 am
@ saso and freecad-heini-1: this is not the place to question how PartDesignNext should work. Bance has created this topic to get help on a design, you are hijacking his topic.
I understand but the issue seems to important for me not to talk about it and this looked like a good example to demonstrate it, of course it can be moved to a new topic...
NormandC wrote:
Fri Jan 12, 2018 4:04 am
Besides, PDN has been in master for almost 2 years. It was first created 5 years ago, then picked up again 3 years ago. Back then was the time to speak up, now it's too late. Do you want v0.17 to be postponed another 5 years? I don't.
I am sorry but I cannot agree. This is not like with some other issues where things are just not implemented yet. This is like if we would be designing a car and made something that in general looks and works like a car but we realize at the end that we have put the wheels on the roof and then decide to just ignore this and move on. Ignoring issues like this is what will in the end delay things, you can try to drive that car and you can try to teach others how to drive it, however sooner or later you will probably have to realize that it is just not how it should be. If anyone has a clear vision how it should work the way it is implemented now I would love to hear and understand it.
Last edited by saso on Fri Jan 12, 2018 4:51 pm, edited 4 times in total.
freecad-heini-1
Posts: 5607
Joined: Tue Jan 07, 2014 11:10 am
Contact:

Re: Modelling acoustic foam [PDN]

Postby freecad-heini-1 » Fri Jan 12, 2018 4:39 pm

NormandC wrote:
Fri Jan 12, 2018 4:04 am
@ saso and freecad-heini-1: this is not the place to question how PartDesignNext should work. Bance has created this topic to get help on a design, you are hijacking his topic.

Besides, PDN has been in master for almost 2 years. It was first created 5 years ago, then picked up again 3 years ago. Back then was the time to speak up, now it's too late. Do you want v0.17 to be postponed another 5 years? I don't.
Thank you dad. :lol:
User avatar
NormandC
Posts: 18534
Joined: Sat Feb 06, 2010 9:52 pm
Location: Québec, Canada

Re: Modelling acoustic foam [PDN]

Postby NormandC » Sun Jan 14, 2018 4:42 am

Thanks to ian.rees, a brand new member of the Moderators team (congrats! :D ), for splitting this discussion from the original topic. That way, Bance's topic will not be polluted anymore, and this discussion can have more visibility in the Open discussion forum.

Now, to respond...

First, as I hinted previously, I'm annoyed that you are coming up with these misgivings about PDN now, when 0.17 is finally about to come out. The PDN code was merged to master almost 2 years ago, in April 2016, and development builds were almost immediately available. Why couldn't you test it and make up your mind during that time?

saso wrote:
Tue Jan 09, 2018 4:54 pm
I will repeat this again, bodies should "live" inside parts, they should be used for part solids construction (other non solid geometry should go directly under the part, as we see in this example), bodies should not have their own origins and datum planes but should use the ones from their parent part.
I'm no developer, but what you are asking for is quite possibly scrapping the whole PartDesign concept that needed years of planning and implementation.

If a Body does not have standard planes anymore, I think it would take massive amounts of rework. Considering how few developers are interested in working in PartDesign, this could take years to do.

But the existing PDN has been merged into master for almost 2 years. What to do with it? The release of 0.17 cannot possibly be put on hold for it, and going back to the code from 0.16 isn't a realistic option, it's taken huge efforts to merge PDN into it. So there is no choice but to release 0.17 as is. Let's say the changes you propose are approved, and they make it in 0.18 or who knows how many more releases after that; what does happen to all the files that have been created before? They'll be hosed, is what they'll be. Making a migration tool for it will be a major headache, it's already one for the switch from 0.16 to 0.17; not to mention using up valuable developer resources.

Also, removing the origin from the Body means that it would be obligatory to put a Body inside a Part container. This adds an unnecessary level for most of the parts that will ever be created in PartDesign. 90% of the parts I design in my day job (if not more) are single contiguous solids. I do not want such an obligatory step if unneeded. Having a single Body in my document fills the needs of most parts. I'm thinking ahead on this, hoping dedicated file extensions will be created at some point (*.FCPart, *.FCAsm, *.FCTDrw, *FCArch...). An *.FCPart made in PartDesign would only have a single Body at the top of the tree, and it could be automatically created when creating a new file. An assembly file would link to external Part files, which is how Assembly2 and any parametric CAD program works.

saso wrote:
Tue Jan 09, 2018 4:54 pm
(...) the actual problem we have with them is that datum planes should not be inside bodies but inside parts (in last weeks I was arguing the same things but from the point of view when working with bodies). I think this example now nicely shows this problem (bug) also when not working with bodies inside parts.
No, you have not demonstrated that point, not by a long shot. In your file there are no Bodies, sure, you don't have any solids either. You think bodies having an origin is the problem; how is that, exactly? Please elaborate. Because in your file, it does not even apply.

I get the feeling you want to change how PartDesign Bodies work because you are grasping at functionality that has yet to be introduced; or because PartDesign is temporarily no longer playing nice with other workbenches (I'm sure this will be addressed in the future without putting the axe to Body's origin!) I also think that much confusion has been brought by naming the new general purpose container "Part". Here's what ickby wrote about it:

ickby wrote:
Wed Apr 13, 2016 11:34 am
Part. A part is not related to PartDesign but is a new general FreeCAD element. It provides a local coordinate system and can be used to group any kind of FreeCAD stuff and move it as one unit. This will be the future basis for assemblies.

The Part container is not really a "part", it's a "proto-assembly" container. One other problem is that it has no shape. So it cannot possibly be the upper level for a PD part.

Just to show how the underlying structure can be complex, and possibly be over our heads (mine in any case ;) ), I'm linking these topics: https://forum.freecadweb.org/viewtopic.php?t=15490
https://forum.freecadweb.org/viewtopic.php?f=10&t=17864
https://forum.freecadweb.org/viewtopic.php?t=20749
freecad-heini-1
Posts: 5607
Joined: Tue Jan 07, 2014 11:10 am
Contact:

Re: Modelling acoustic foam [PDN]

Postby freecad-heini-1 » Sun Jan 14, 2018 8:35 am

NormandC wrote:
Sun Jan 14, 2018 4:42 am
The Part container is not really a "part", it's a "proto-assembly" container. One other problem is that it has no shape. So it cannot possibly be the upper level for a PD part.
Thanks Normand. The problem is that in German language this was never clear documented, so users are guessing of the new PDN concept. Some of them think that a fc-part is similar to Creo part and bodies are similar to Catia body.
Catia, Solidworks and Soildedge have a concept so mix a part with some body. I see no reason for it, because if I put a cylinder with a chamfer into a body to have the chance to move or copy it, I can do the same without a body, because of map the sketch to a other datum-plane and redefine dimensions in any direction.
I think they are wrong, in Freecad will will have the Creo workflow and not the Catia.
If I'm wrong so please correct me.

From my understanding a FC-part is similar to a creo part, but currently it has the wrong name, it's in real a assembly container, and a body in real is like a Creo part. That brings the confusion.

Who know's really what ickby has devoleped with PDN. During a thread Werner wonder about the workflow.
Documentation is the main problem from my point of view.
NormandC wrote:
Sun Jan 14, 2018 4:42 am
I get the feeling you want to change how PartDesign Bodies work because you are grasping at functionality that has yet to be introduced; or because PartDesign is temporarily no longer playing nice with other workbenches (I'm sure this will be addressed in the future without putting the axe to Body's origin!) I also think that much confusion has been brought by naming the new general purpose container "Part". Here's what ickby wrote about it:
ickby wrote:
Wed Apr 13, 2016 11:34 am
Part. A part is not related to PartDesign but is a new general FreeCAD element. It provides a local coordinate system and can be used to group any kind of FreeCAD stuff and move it as one unit. This will be the future basis for assemblies.
Just to show how the underlying structure can be complex, and possibly be over our heads (mine in any case ;) ), I'm linking these topics: https://forum.freecadweb.org/viewtopic.php?t=15490
https://forum.freecadweb.org/viewtopic.php?f=10&t=17864
https://forum.freecadweb.org/viewtopic.php?t=20749
And again, the main problem is the lack of knowledge for many users, because of missing documentation.

If FC users ask about the link go out of allowed scope problem, the answer mostly is, please wait, this will be solved with the upcoming assembly workbench.

Some users had a video conference with Stefan (ickby) last year. It was planed that Stefan show us some stuff for the upcomming asm workbench and how it will work together with part. The conference was done via webrtc over meet.jit.si. Sharing his sceen did not work.
A video with some explanation is no big thing, but it can help users to understand. My wish, please make a screencast and load it up on youtube or other video portal and explain the future picture.

Concerning assemly. I realized that realthunder is developing assembly3.
And ickby also develops a assembly workbench.
Why?

Best regards
Wilfried
User avatar
NormandC
Posts: 18534
Joined: Sat Feb 06, 2010 9:52 pm
Location: Québec, Canada

Re: Modelling acoustic foam [PDN]

Postby NormandC » Sun Jan 14, 2018 9:46 am

freecad-heini-1 wrote:
Sun Jan 14, 2018 8:35 am
users are guessing of the new PDN concept.
Most of us are. As for your reference to other CAD programs like CATIA and Creo, and how they compare to PDN and Part and Body: I wouldn't know, I've never used them. I have seen screenshots of CATIA posted here by a couple of forum members, that's it. My experience is with mid-range parametric CAD programs: Solid Edge (been working with it 11 years), SolidWorks and a little of Autodesk Inventor.

In those programs, the tree is a lot simpler than CATIA's (and possibly Creo) seems to be. Much technical stuff is managed transparently by the program, the user doesn't need to deal with Body containers. I believe the container is there, but it's automatically created when you create a new part document. In Solid Edge, a part document can support multiple solids (a compound in FreeCAD terms). I don't recall in SolidWorks, it's been almost 10 years since I last used it in an advanced training course. Last week I tried to find out online, but I was unsuccessful. I no longer have access to SW; my home PC is running Linux anyway.

The fact that FreeCAD's Body container cannot host a compound of solids may be an issue for some types of designs, and maybe that's what you find limiting. Maybe that will need to be addressed somehow at some point. From what I understand, it's partly a design choice, but also a technical limitation, but I couldn't say more, I barely understand the technical discussions in the Developers forums, even if I try to follow them. Is the Part container a good enough solution in this case? Time and use will tell.

As I said, the "Part" container is a different thing altogether, it has no equivalent in the mid-range programs I mentioned. In fact, I think it may be an object specific to FreeCAD. Keep in mind that FreeCAD is quite different from those programs, as it caters to a wider range of fields: mechanical design, architecture/BIM, even ship design. None of these commercial programs do that, maybe the high-end programs like CATIA do?

I see the Part container as a super-Group, with a placement and origin. It's kind of a working demo of what an Assembly container may look like in the future.

The difficulty is that each workbench in FreeCAD has its own way of organizing objects, and that all workbenches need to work together. But when you look at it, if you provided a version of FreeCAD with only these workbenches installed: Sketcher, PartDesign (plus the underlying Part module of course, but not the workbench), TechDraw and a working Assembly, you'd have an almost complete mechanical design software. Almost, only because there are still a few missing tools in PartDesign.

freecad-heini-1 wrote:
Sun Jan 14, 2018 8:35 am
Documentation is the main problem from my point of view.
It is my understanding that most developers hate to write documentation. It requires time. They'd rather use the few hours they can dedicate to coding rather than documenting. Experienced users should try to pick up the task. Of course, we need to learn and understand how it works first. It's our conundrum. The chicken or the egg? ;)

freecad-heini-1 wrote:
Sun Jan 14, 2018 8:35 am
Concerning assemly. I realized that realthunder is developing assembly3.
And ickby also develops a assembly workbench.
Why?
FreeCAD's own Assembly workbench was first developed by jriegel. His last contribution was 2 years ago in his own branch; I don't even know if it was merged in master. Even before then, ickby made a 3D constraint solver for it. But he's since focused his work on PDN, until it is mostly finished, work on assembly cannot resume. Assembly is intricately linked to PDN; in the past 2 years, ickby's had to make further changes to PDN specifically for the Assembly workbench. There may be more needed changes.

From reading discussions on the Developer forum, my understanding is that realthunder and ickby each have their own view on how Assembly should work. I just hope that they reach common ground.
User avatar
saso
Posts: 1279
Joined: Fri May 16, 2014 1:14 pm
Contact:

Re: Modelling acoustic foam [PDN]

Postby saso » Sun Jan 14, 2018 10:22 am

NormandC wrote:
Sun Jan 14, 2018 4:42 am
The Part container is not really a "part", it's a "proto-assembly" container. One other problem is that it has no shape. So it cannot possibly be the upper level for a PD part.
See this is quite a dangerous comment, because if you are not 100% sure (or at least quite sure :) ) that this is true and if there is not an absolutely clear vision how this would work in an overall concept of parts and assemblies, then this brings nothing but confusion to both the users that are trying to understand this and also to developers that try to realize users ideas and wishes.
freecad-heini-1 wrote:
Sun Jan 14, 2018 8:35 am
Catia, Solidworks and Soildedge have a concept so mix a part with some body.
Catia, NX, Solidworks, Soildedge, Inventor, Onshape and Fusion 360, all have the concept of bodies inside parts, while it is true that some manage them more automatically and others manually (giving users more responsibility but also more control over them) and some also name them differently, in their basic principles however they ALL work the same.
freecad-heini-1 wrote:
Sun Jan 14, 2018 8:35 am
Some users had a video conference with Stefan (ickby) last year...
And it was in this conversation where he said that his main focus was on the Assembly, that he did only the basic on parts and PDN, enough to make them work for his assembly and that someone else will have to work on the real PDN and part stuff.
Last edited by saso on Sat Jan 20, 2018 11:15 am, edited 4 times in total.
User avatar
saso
Posts: 1279
Joined: Fri May 16, 2014 1:14 pm
Contact:

Re: Modelling acoustic foam [PDN]

Postby saso » Sun Jan 14, 2018 11:04 am

NormandC wrote:
Sun Jan 14, 2018 4:42 am
First, as I hinted previously, I'm annoyed that you are coming up with these misgivings about PDN now, when 0.17 is finally about to come out. The PDN code was merged to master almost 2 years ago, in April 2016, and development builds were almost immediately available. Why couldn't you test it and make up your mind during that time?
Because even two months ago I did not have the knowledge and understanding, that I have now, to make such claims. Over the last months I was getting increasingly annoyed by the fact that everyone seems to have their own understanding of what Parts and Bodies are and how they are supposed to work with Assemblies, possible pulling the future of FreeCAD in to very different, incompatible directions. I was however mostly annoyed with myself not able to understand the different concepts and visions, so I went and have spend most of my free time in the last two months to try and understand this...
NormandC wrote:
Sun Jan 14, 2018 4:42 am
I'm no developer, but what you are asking for is quite possibly scrapping the whole PartDesign concept that needed years of planning and implementation.
Quite the opposite, I believe in the existing Parts and Bodies and I am trying to help to make them work... PartDesign is all about Bodies and Bodies are all about solids, it is the Part that should bring everything together for use in assemblies: solids from PartDesign bodies, geometry from PartWB and DraftWB, geometry from SurfaceWB and CurvesWB and others,... Part in FreeCAD is just the same as Part in any other parametric cad that works with Parts and Assemblies.
NormandC wrote:
Sun Jan 14, 2018 4:42 am
If a Body does not have standard planes anymore, I think it would take massive amounts of rework. Considering how few developers are interested in working in PartDesign, this could take years to do.
Well, since I am not suggesting any new functionality and not even to remove anything, my hope is that this changes would actually not take that much time. And if my understating is correct, that this changes will be need eventually, then even if this would postopne the release for a month or two it would be IMO worth it. But while I do code a bit, it is indeed beyond me to understand how much work this would take. :|
NormandC wrote:
Sun Jan 14, 2018 4:42 am
Let's say the changes you propose are approved, and they make it in 0.18 or who knows how many more releases after that; what does happen to all the files that have been created before? They'll be hosed, is what they'll be. Making a migration tool for it will be a major headache, it's already one for the switch from 0.16 to 0.17; not to mention using up valuable developer resources.
This is exactly how I also feel about it and the reason why I am a bit more pushy at the moment on this. There are other topics and ideas that I would like to discuss and I am happy to wait with them for later, but I do feel that it would probably be much better and easier to change this now. But I am not saying that we should do this because I say so, my wish for this discussion is mainly for everyone to get a better understanding of this concepts and to clearly understand the reasons why I believe this should be changed.
NormandC wrote:
Sun Jan 14, 2018 4:42 am
Also, removing the origin from the Body means that it would be obligatory to put a Body inside a Part container. This adds an unnecessary level for most of the parts that will ever be created in PartDesign. 90% of the parts I design in my day job (if not more) are single contiguous solids. I do not want such an obligatory step if unneeded. Having a single Body in my document fills the needs of most parts.
Well, yes and no, in general you could still use PartDesign to create solids, but if you would want to use datum planes to construct them and/or want to use them in assemblies then yes, you would have to place them in a Part, but this is exactly how they work also in all other parametric programs. The thing you have to realize is that in mid-range programs the concept of bodies is somewhat hidden from the user (but they are there!), this programs manage the bodies more or less automatically for the user, so for example, if you have a single solid inside a Part, no bodies will be shown to the user (in reality, there is already one body but is hidden) and only when you design your part so that it has several solids, it will automatically show bodies for this different solids. One could argue that this is more simple for the user but on the other hand one could also say that this also gives the user less control over bodies. I actually don't care that much about this if bodies should me managed in FreeCAD more automatically or manually, my point on this is that we already have a mostly working implementation of bodies (PartDesign is all about bodies and nothing else), it is indeed the more "manual" way of working with them and that is IMO ok.
NormandC wrote:
Sun Jan 14, 2018 4:42 am
I'm thinking ahead on this, hoping dedicated file extensions will be created at some point (*.FCPart, *.FCAsm, *.FCTDrw, *FCArch...). An *.FCPart made in PartDesign would only have a single Body at the top of the tree, and it could be automatically created when creating a new file. An assembly file would link to external Part files, which is how Assembly2 and any parametric CAD program works.
This discussion about separate part files is IMO at this stage totally irelevanten, users will be able to store Parts in to separate files or have them all inside just one file. This concept was planed for FreeCAD from the the beginning, see https://www.freecadweb.org/wiki/Assembl ... management and I think it is a good one for FreeCAD since FreeCAD is used by very different users and not all will need or want to use parts and assemblies. This does however show that we cannot manage our Parts as transparently to the user as other parametric programs do, but in those the user has no chose but to use part and assembly files for everything.
NormandC wrote:
Sun Jan 14, 2018 4:42 am
saso wrote:
Tue Jan 09, 2018 4:54 pm
(...) the actual problem we have with them is that datum planes should not be inside bodies but inside parts (in last weeks I was arguing the same things but from the point of view when working with bodies). I think this example now nicely shows this problem (bug) also when not working with bodies inside parts.
No, you have not demonstrated that point, not by a long shot. In your file there are no Bodies, sure, you don't have any solids either. You think bodies having an origin is the problem; how is that, exactly? Please elaborate. Because in your file, it does not even apply.
Ok, you are sort of right that I have not demonstrated everything with that example, the thing however is that I was having most of this discussions before with freecad-heini-1, in other topics and I am happy that I was able to demonstrate this to him in a way that he was able to see at least the possibility that FreeCAD Part is in general the same as Part in any other parametric cad program. And I am still trying to make him and others to really believe in it :)
NormandC wrote:
Sun Jan 14, 2018 4:42 am
I get the feeling you want to change how PartDesign Bodies work because you are grasping at functionality that has yet to be introduced; or because PartDesign is temporarily no longer playing nice with other workbenches (I'm sure this will be addressed in the future without putting the axe to Body's origin!) I also think that much confusion has been brought by naming the new general purpose container "Part".
No, my feeling is that Juergen had a more or leas clear vision of this concepts (at least if I understand it correctly that most of the PDN and Assembly that ickby is now working on was actually first designed by him and also the basic design documentation like this one https://www.freecadweb.org/wiki/Assembly_Basic_Tutorial is also from him) because they are IMO quite clear and straightforward and that everyone else is since, more or less just trying to blindly guess and make sense from it. Note that my understanding of this is also quite new, my point however is that this things should not be as confusing and unclear to us as they seem to be from the past discussions, because in their basic principles they work absolutely the same way in all parametric cad programs. FreeCAD Parts and Bodies are not that special :)
ickby wrote:
Wed Apr 13, 2016 11:34 am
Part. A part is not related to PartDesign but is a new general FreeCAD element. It provides a local coordinate system and can be used to group any kind of FreeCAD stuff and move it as one unit. This will be the future basis for assemblies.
This is absolutely how I also see and understand FreeCAD Parts... 8-)
Last edited by saso on Sat Jan 20, 2018 11:24 am, edited 16 times in total.