PartDesignNext Diagram
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Be nice to others! Respect the FreeCAD code of conduct!
- wandererfan
- Veteran
- Posts: 6326
- Joined: Tue Nov 06, 2012 5:42 pm
- Contact:
PartDesignNext Diagram
I made this diagram to help me understand PDN. Would appreciate it if experts could confirm or refute my understanding.
Next step is to figure out how all the various Placements work together.
Thanks,
wf
Next step is to figure out how all the various Placements work together.
Thanks,
wf
- Attachments
-
- PDN.pdf.zip
- not really a zip file
- (23.85 KiB) Downloaded 223 times
- DeepSOIC
- Veteran
- Posts: 7896
- Joined: Fri Aug 29, 2014 12:45 am
- Location: used to be Saint-Petersburg, Russia
Re: PartDesignNext Diagram
<offtopic> I dislike when files are uploaded with fake extensions to avoid extension blocks. Just because getting this PDF requires more steps from my side compared to if it were an actual zip containing a pdf. I have to save it, then locate the saved file, change extension, and then open. Compared to opening the link + opening the file from within zip unpacker program. </offtopic>
- DeepSOIC
- Veteran
- Posts: 7896
- Joined: Fri Aug 29, 2014 12:45 am
- Location: used to be Saint-Petersburg, Russia
Re: PartDesignNext Diagram
Things that do not look all right to me:
Part contains bodies - no. Not only bodies, and not even only Part::Features.
And it is unclear to me, what you meant by "Body contains Doc Object". Body isn't supposed to contain arbitrary doc objects.
It's a hard question if Body can contain Draft objects. It may be possible technically, but there is no GUI tools for that apart from using one as base feature for body.
I'd differentiate them as so:
* Part is a general-purpose container with Placement.
* BodyBase is a container with placement, that has Shape. Shape of body is supposed to provide the final geometry (usually, solid) that was the goal of all the objects the body contains.
* Body is a derivative of BodyBase, specialized for PartDesign. Its shape is guaranteed to be a single solid (or empty, if body is incomplete).
Part contains bodies - no. Not only bodies, and not even only Part::Features.
And it is unclear to me, what you meant by "Body contains Doc Object". Body isn't supposed to contain arbitrary doc objects.
It's a hard question if Body can contain Draft objects. It may be possible technically, but there is no GUI tools for that apart from using one as base feature for body.
I'd differentiate them as so:
* Part is a general-purpose container with Placement.
* BodyBase is a container with placement, that has Shape. Shape of body is supposed to provide the final geometry (usually, solid) that was the goal of all the objects the body contains.
* Body is a derivative of BodyBase, specialized for PartDesign. Its shape is guaranteed to be a single solid (or empty, if body is incomplete).
- DeepSOIC
- Veteran
- Posts: 7896
- Joined: Fri Aug 29, 2014 12:45 am
- Location: used to be Saint-Petersburg, Russia
Re: PartDesignNext Diagram
Another thing is that it is planned to change implementation of all this part-body stuff. See this thread:
viewtopic.php?f=10&t=15490
So I advise you to not go terribly in-depth on supporting them.
viewtopic.php?f=10&t=15490
So I advise you to not go terribly in-depth on supporting them.
Re: PartDesignNext Diagram
Hello,
as deepsoic noted the implemention of Containers is ongoing. I'm currently finalising my "Extension" implementation, but well, it's summer, life is fast and coding progress is slow
I'm not perfectly familiar wit the code shema you have in your pdf, but I try:
1. Part and body always contain exactly one Origin. Local coordinate systems in freecad can exist without origin, but those two objects are OriginGroups which always have one.
2. Body cannot hold arbitrary document objects. But Part can, hence this little box should be moved to Part
3. Body can only hold PartDesing::Feature, no Part Feature and no Draft objects. There may be other objects with a shape like body that can group more general in the future, but currently not.
as deepsoic noted the implemention of Containers is ongoing. I'm currently finalising my "Extension" implementation, but well, it's summer, life is fast and coding progress is slow
I'm not perfectly familiar wit the code shema you have in your pdf, but I try:
1. Part and body always contain exactly one Origin. Local coordinate systems in freecad can exist without origin, but those two objects are OriginGroups which always have one.
2. Body cannot hold arbitrary document objects. But Part can, hence this little box should be moved to Part
3. Body can only hold PartDesing::Feature, no Part Feature and no Draft objects. There may be other objects with a shape like body that can group more general in the future, but currently not.
- wandererfan
- Veteran
- Posts: 6326
- Joined: Tue Nov 06, 2012 5:42 pm
- Contact:
Re: PartDesignNext Diagram
Thank you. I understand a little better.
wf
wf
Re: PartDesignNext Diagram
This is a very informative thread.
@wandererfan, any chance for an updated version of your diagram? I think it helps ickby and DeepSOIC answer the questions.
It definitely brings me closer to understanding how PDN is designed to work.
@wandererfan, any chance for an updated version of your diagram? I think it helps ickby and DeepSOIC answer the questions.
It definitely brings me closer to understanding how PDN is designed to work.
"fight the good fight"
Re: PartDesignNext Diagram
Diagram from the OP:
- wandererfan
- Veteran
- Posts: 6326
- Joined: Tue Nov 06, 2012 5:42 pm
- Contact:
Re: PartDesignNext Diagram
The original is in Dia (Gnome's Visio) if anybody wants a copy, I'll post it.sgrogan wrote:@wandererfan, any chance for an updated version of your diagram?
wf
- Attachments
-
- PDNDiagramv2.zip
- Really a zipped pdf!
- (22.76 KiB) Downloaded 68 times
Re: PartDesignNext Diagram
yorik, Jim, what do you guys think of adding PDF to the list of supported filetypes by the forum? I don't remember why we didn't in the past.wandererfan wrote:Really a zipped pdf!