PartDesignNext Diagram

About the development of the Part Design module/workbench. PLEASE DO NOT POST HELP REQUESTS HERE!
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Post Reply
User avatar
wandererfan
Veteran
Posts: 6326
Joined: Tue Nov 06, 2012 5:42 pm
Contact:

PartDesignNext Diagram

Post by wandererfan »

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
Attachments
PDN.pdf.zip
not really a zip file
(23.85 KiB) Downloaded 223 times
User avatar
DeepSOIC
Veteran
Posts: 7896
Joined: Fri Aug 29, 2014 12:45 am
Location: used to be Saint-Petersburg, Russia

Re: PartDesignNext Diagram

Post by DeepSOIC »

<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>
User avatar
DeepSOIC
Veteran
Posts: 7896
Joined: Fri Aug 29, 2014 12:45 am
Location: used to be Saint-Petersburg, Russia

Re: PartDesignNext Diagram

Post by DeepSOIC »

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).
User avatar
DeepSOIC
Veteran
Posts: 7896
Joined: Fri Aug 29, 2014 12:45 am
Location: used to be Saint-Petersburg, Russia

Re: PartDesignNext Diagram

Post by DeepSOIC »

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.
ickby
Veteran
Posts: 3116
Joined: Wed Oct 05, 2011 7:36 am

Re: PartDesignNext Diagram

Post by ickby »

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.
User avatar
wandererfan
Veteran
Posts: 6326
Joined: Tue Nov 06, 2012 5:42 pm
Contact:

Re: PartDesignNext Diagram

Post by wandererfan »

Thank you. I understand a little better.

wf
User avatar
sgrogan
Veteran
Posts: 6499
Joined: Wed Oct 22, 2014 5:02 pm

Re: PartDesignNext Diagram

Post by sgrogan »

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.
"fight the good fight"
User avatar
bejant
Veteran
Posts: 6075
Joined: Thu Jul 11, 2013 3:06 pm

Re: PartDesignNext Diagram

Post by bejant »

Diagram from the OP:
20160721a.png
20160721a.png (45.49 KiB) Viewed 2721 times
User avatar
wandererfan
Veteran
Posts: 6326
Joined: Tue Nov 06, 2012 5:42 pm
Contact:

Re: PartDesignNext Diagram

Post by wandererfan »

sgrogan wrote:@wandererfan, any chance for an updated version of your diagram?
PDN2.png
PDN2.png (39.83 KiB) Viewed 2699 times
The original is in Dia (Gnome's Visio) if anybody wants a copy, I'll post it.

wf
Attachments
PDNDiagramv2.zip
Really a zipped pdf!
(22.76 KiB) Downloaded 68 times
User avatar
NormandC
Veteran
Posts: 18589
Joined: Sat Feb 06, 2010 9:52 pm
Location: Québec, Canada

Re: PartDesignNext Diagram

Post by NormandC »

wandererfan wrote:Really a zipped pdf!
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.
Post Reply