Modeling best practices tutorial
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Be nice to others! Respect the FreeCAD code of conduct!
-
- Posts: 12
- Joined: Fri Mar 03, 2017 2:51 am
Modeling best practices tutorial
Hey all, I wrote a tutorial on designing a chair with parametric modeling using best-practice techniques I've picked up. Makes extensive use of reference planes, and shape binders, so it's definitely written with 0.17 in mind. The idea is to design a chair using parameters (seat height, seat thickness, chair height) and a reference sketch (showing feet position) which can all be safely modified to create a stable and modifiable part. In my humble opinion, cross references are a must for CAD design, because they let you have several parts dependent on each other in powerful ways. In this case, the chair legs are boxes with a height that goes up to the bottom of the seat, wherever the seat bottom is, and in the cross section of the reference sketch.
At the moment, the tutorial is a PDF, on Google Drive: https://drive.google.com/file/d/1CPTAFF ... sp=sharing and I would like to put it on the wiki as well, but just wanted to get a basic version that people can comment on with improvements. Let me know what you think, and if I'm going against other FreeCAD best practices.
At the moment, the tutorial is a PDF, on Google Drive: https://drive.google.com/file/d/1CPTAFF ... sp=sharing and I would like to put it on the wiki as well, but just wanted to get a basic version that people can comment on with improvements. Let me know what you think, and if I'm going against other FreeCAD best practices.
Re: Modeling best practices tutorial
I read your tutorial and will comment my observations here. Don't take them too serious, I mention details that might not seem worth mentioning and people tell me sometimes that I criticise too much. I mention these things anyway because I know from own experience that some kind of blindness is involved when having worked too long on a certain topic.sjgallagher2 wrote: ↑Sun May 06, 2018 6:02 pm At the moment, the tutorial is a PDF, on Google Drive: https://drive.google.com/file/d/1CPTAFF ... sp=sharing and I would like to put it on the wiki as well, but just wanted to get a basic version that people can comment on with improvements. Let me know what you think, and if I'm going against other FreeCAD best practices.
Overall I appreciate your tutorial!
And here are my comments:
- I wouldn't start the introduction with something negative. People not knowing SolidWorks are not interested, for people knowing SolidWorks it is immediately repellent by shouting at them something like "you won't get happy with this". It is valuable at a later point, but I would start with things that FreeCAD can do.
- At the end of the first section I would include a TechDraw image with the relevant measures.
- You state
I don't agree on this. Creating a new part or body on top level it has its origin in the global (0,0,0) origin. If they are inside a container they are placed relative to the origin of their parent - which itself might be placed relative if it is contained as well in e.g. a part.Something that is worth noting is that in FreeCAD, there is no global origin. - Screenshots: Making the Window narrower would result in a bigger scale and make things easier to read. The Python console could be made smaller or hidden.
- I am not sure about the Floor DatumPlane. It is technically useless because the plane is the same as the principal plane. It just gives a name to it.
- From an educational point of view it might be sensible to start on the floor. From a modeling point of view it would be easier to start with the seat, and add the four legs in one sketch.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
-
- Posts: 12
- Joined: Fri Mar 03, 2017 2:51 am
Re: Modeling best practices tutorial
Chris, thanks for your comments. I agree maybe the wording is negative at first. For the floor datum plane, it is used because the floor can be offset to position the model in the z-direction, with a single parameter. Also, it creates a step of abstraction from the origin planes, because the 'floor' is conceptually different from the XY plane. I like the idea of starting the sketch at the seat and moving from there for modelling, but I do think the ground-up approach is useful for learning. I can make a note in the tutorial.
- Joel_graff
- Veteran
- Posts: 1949
- Joined: Fri Apr 28, 2017 4:23 pm
- Contact:
Re: Modeling best practices tutorial
When I read it, I thought the same, though I really don't know that much about parametric modeling practices. If the negatives you listed are especially significant to your tutorial (and are worth addressing), I would recommend observing the lack of functionality, but then show how that can be overcome some other way in FreeCAD. If it isn't relevant to the tutorial, I wouldn't bother mentioning it.sjgallagher2 wrote: ↑Tue May 08, 2018 3:49 pm Chris, thanks for your comments. I agree maybe the wording is negative at first.
Still, good tutorial. It presents an approach I wasn't familiar with - which is a good thing!
FreeCAD Trails workbench for transportation engineering: https://www.github.com/joelgraff/freecad.trails
pivy_trackers 2D coin3D library: https://www.github.com/joelgraff/pivy_trackers
pivy_trackers 2D coin3D library: https://www.github.com/joelgraff/pivy_trackers
-
- Posts: 4
- Joined: Thu Aug 02, 2018 7:22 am
Re: Modeling best practices tutorial
Great work done buddy.
Re: Modeling best practices tutorial
@sjgallagher2 would you be willing to incorporate the feedback from other users ?sjgallagher2 wrote: ↑Sun May 06, 2018 6:02 pm At the moment, the tutorial is a PDF, on Google Drive: https://drive.google.com/file/d/1CPTAFF ... sp=sharing and I would like to put it on the wiki as well, but just wanted to get a basic version that people can comment on with improvements. Let me know what you think, and if I'm going against other FreeCAD best practices.
Alone you go faster. Together we go farther
Please mark thread [Solved]
Want to contribute back to FC? Checkout:
'good first issues' | Open TODOs and FIXMEs | How to Help FreeCAD | How to report Bugs
Please mark thread [Solved]
Want to contribute back to FC? Checkout:
'good first issues' | Open TODOs and FIXMEs | How to Help FreeCAD | How to report Bugs
Re: Modeling best practices tutorial
@sjgallagher2 I like the tutuorial very much. As a still starting FreeCAD user I would love to see advanced issues like that to appear in the wiki, thanks a lot for your efforts! For me your wording is good to understand and the process is overall well explained. I found I could apply some of your proposals directly to several of my little projects. Very useful!sjgallagher2 wrote: ↑Sun May 06, 2018 6:02 pm In my humble opinion, cross references are a must for CAD design, because they let you have several parts dependent on each other in powerful ways. In this case, the chair legs are boxes with a height that goes up to the bottom of the seat, wherever the seat bottom is, and in the cross section of the reference sketch.
[...]
Let me know what you think, and if I'm going against other FreeCAD best practices.
Here is some specific feedback:
- It was not clear to me why you introduce a shape binder. You did not explain it. I tested the cross-referenced master sketch approach in a quick model and it seemed to work fine without a shape binder. Maybe you could expand that a bit.
- Is there a way to see in the model tree whether or not a sketch is a cross-referenced sketch? To me they look the same. Also the attachment mode is the same. Should you know please point it out
- Are there some penalties for enlarging the scope of the sketch to "other parts and free objects" and enabling the use of cross-references? I am asking because I found that projecting geometry into a sketch is fragile to changes (due to Topological Naming I guess), so linking to other sketches underneath might be a better way, gerenally.
- Please have a look at the new copy dialog in V0.19 (see screenshots, they appear when you press "Ctrl-C" in the tree.), maybe its a good thing to already include it . You can do more things, but the wording and appearance is quite different (e.g. does not mention "copy" at all) so that people might be confused in the future when reading your reference to the old dialog.
- I would have love to see a screenshot that shows the situation where the height formula for the leg extrude is being entered. Myself, I was a long time not aware that you could enter anything beside numbers in those boxes, maybe others find it helpful as well.
Re: Modeling best practices tutorial
Great write up.
Thanks for sharing your tips.
I did have one question, when I try to recreate the chair I find that the Dependency Graph shows some red lines as per the image below. Is this something I did wrong or are the red lines not an issue? (I should mention that I'm just starting out with FreeCAD so I find I often miss the nuances ).
Thanks for sharing your tips.
I did have one question, when I try to recreate the chair I find that the Dependency Graph shows some red lines as per the image below. Is this something I did wrong or are the red lines not an issue? (I should mention that I'm just starting out with FreeCAD so I find I often miss the nuances ).
- Attachments
-
- Screenshot - 2020-10-19 , 10_13_00 AM.png (131.95 KiB) Viewed 4788 times
Re: Modeling best practices tutorial
Red lines are always a concern. They mean that you have illegally linked between PD bodies, without using shape binders or some other method.
The illegal links do not always cause fatal problems, but they almost always indicate a very fragile model that will break easily with any future operations.
Gene
Re: Modeling best practices tutorial
Thanks for your input Gene. I'll have to have a closer look at what I did. Cheers.GeneFC wrote: ↑Mon Oct 19, 2020 4:45 pm
Red lines are always a concern. They mean that you have illegally linked between PD bodies, without using shape binders or some other method.
The illegal links do not always cause fatal problems, but they almost always indicate a very fragile model that will break easily with any future operations.
Gene