PartDesignNext Diagram

About the development of the Part Design module/workbench. PLEASE DO NOT POST HELP REQUESTS HERE!
wandererfan
Posts: 882
Joined: Tue Nov 06, 2012 5:42 pm

PartDesignNext Diagram

Postby wandererfan » Tue Jul 19, 2016 3:28 pm

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 155 times
DeepSOIC
Posts: 4466
Joined: Fri Aug 29, 2014 12:45 am
Location: Saint-Petersburg, Russia

Re: PartDesignNext Diagram

Postby DeepSOIC » Tue Jul 19, 2016 3:41 pm

<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
Posts: 4466
Joined: Fri Aug 29, 2014 12:45 am
Location: Saint-Petersburg, Russia

Re: PartDesignNext Diagram

Postby DeepSOIC » Tue Jul 19, 2016 3:59 pm

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).
DeepSOIC
Posts: 4466
Joined: Fri Aug 29, 2014 12:45 am
Location: Saint-Petersburg, Russia

Re: PartDesignNext Diagram

Postby DeepSOIC » Tue Jul 19, 2016 4:02 pm

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
Posts: 2418
Joined: Wed Oct 05, 2011 7:36 am

Re: PartDesignNext Diagram

Postby ickby » Tue Jul 19, 2016 4:35 pm

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.
wandererfan
Posts: 882
Joined: Tue Nov 06, 2012 5:42 pm

Re: PartDesignNext Diagram

Postby wandererfan » Wed Jul 20, 2016 11:56 am

Thank you. I understand a little better.

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

Re: PartDesignNext Diagram

Postby sgrogan » Thu Jul 21, 2016 1:29 am

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.
bejant
Posts: 4091
Joined: Thu Jul 11, 2013 3:06 pm

Re: PartDesignNext Diagram

Postby bejant » Thu Jul 21, 2016 10:08 am

Diagram from the OP:
20160721a.png
20160721a.png (45.49 KiB) Viewed 763 times
My Part Design tutorials on YouTube (aimed at beginners).
wandererfan
Posts: 882
Joined: Tue Nov 06, 2012 5:42 pm

Re: PartDesignNext Diagram

Postby wandererfan » Thu Jul 21, 2016 2:33 pm

sgrogan wrote:@wandererfan, any chance for an updated version of your diagram?

PDN2.png
PDN2.png (39.83 KiB) Viewed 741 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 16 times
User avatar
NormandC
Posts: 12066
Joined: Sat Feb 06, 2010 9:52 pm
Location: Québec, Canada

Re: PartDesignNext Diagram

Postby NormandC » Thu Jul 21, 2016 2:45 pm

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.