Sketcher tutorial

A place to share learning material: written tutorials, videos, etc.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
timmwille
Posts: 17
Joined: Sat Jan 23, 2021 12:41 am

Re: Sketcher tutorial

Post by timmwille »

[/quote]
Maybe just clearly state the license, something like CC NC-BY-SA
[/quote]

Well CC-BY-SA or CC-BY would also work, NC Licensed work is only for private use and teaching etc. would be excluded, collaboration will be hard and it is not an official Open Source Licesens. So in short just go for a simple CC-BY (name the source/author) or CC-BY-SA (name the source/author and keep License intact also for changes made → copyleft). Up to you, but yes regarding your question, if not stated with URL to License text it is all (automatically) protected by copyright, can not be collaborated on in worst case.

https://choosealicense.com/licenses/cc-by-4.0/
or
https://choosealicense.com/licenses/cc-by-sa-4.0/

In a repository github.com or gitlab.com it is just a bit easier to handle all this (as those platforms are long years representatives of collaboration and have it all integrated)
nelsonseyes
Posts: 2
Joined: Mon Mar 15, 2021 9:45 pm

Re: Sketcher tutorial

Post by nelsonseyes »

Here are a few more observations that may assist in improving this
very fine document.

>> version of January 22, 2021

>> Exercise 1 Create a diagonal line where none of the endpoints lies on the X or Y axis.

This would be better as "... where *neither* of the endpoints ..."
since there are only two (vs. "... none of the vertices ..." would be
correct, since there are more than two vertices in any two-dimensional
shape (if the set of vertices of interest has not previously been
narrowed by some description or selection)).

>> Exercise 1, at the end of the last list item.

At least in version 0.19 the path is actually:
Preferences→Sketcher→ *Display* →Geometry *c*reation ”Continue Mode”

>> 5 Common Usage, 2nd paragraph, 2nd sentence

At least in version 0.19 the path is actually:
Preferences→Sketcher→ *Display* →Geometry *c*reation ”Continue Mode”

>> 5 Common Usage, 3rd paragraph, 1st sentence

It would be better to describe the key as "... the Esc (escape) key ..."
in this first instance, and the as "... Esc ..." in the
subsequent five occurences in this and the next two paragraphs. This
makes the text match literally what appears on most instances of the
physical key itself, and the capital letter may reduce the chances of
a reader interpreting this word as an adjective, rather than a
reference to a specific key. I suspect you have seen some
documentation which uses a different typeface, etc. for literal
keyboard commands; since FreeCAD is driven so much by selections in
the graphical user interface rather than literal keyboard entry, you
may not wish to complicate this document with such a convention. Same
observation for section 9 Polyline, and for the last sentence in
section 18 Applying constraints.

>> 7 Circles, Point-on-Object, 2nd paragraph

It would be good to give a forward reference to the forthcoming
section 39 or an external citation to the conecpts of padding and
pocketing, e.g.
https://wiki.freecadweb.org/PartDesign_Pad
and
https://wiki.freecadweb.org/PartDesign_Pocket
as even experienced Sketcher users who remain in the mostly
two-dimensional world of Sketcher, Draft, etc. may be puzzled.

>> Exercise 8, end of third paragraph

I am unsure that "sketch-based feature" is appropriate here? Maybe
"Part Design workbench extrusion features"?

>> Exercise 15, last two paragraphs

This would be less confusing if upon the first mention of a block
constraint there were a forward reference to section 29 (for those for
whom this is an unknown term).

>> 14 Conical sections

The second sentence will be better once the missing word is supplied
"... selected this icon *it* is replaced with ...."

>> Exercise 19

I believe "non-trivial" should be hyphenated, rather than merely two
words (although I see that one English dictionary collapses it to one
non-hyphenated word).

>> 18 Applying constraints

At least in version 0.19 the path is actually:
Preferences→Sketcher→ *Display* →Constraint *c*reation ”Continue Mode”

I would see merit in detailing how to apply an existing e.g. length
constraint to another edge, rather than creating a redundant
constraint containing the same value. This supports the goal of
"improving readability and parametricity" noted in the opening
paragraph of Part III.

I would suggest including the use of values from a companion
spreadsheet at this point.
https://wiki.freecadweb.org/Spreadsheet ... xpressions
https://wiki.freecadweb.org/Spreadsheet_SetAlias
  • Within FreeCAD, switch to the Spreadsheet workbench
  • At the top of the Tasks tab of the Combo View, select the Close command button
  • Create a spreadsheet.
  • In the Model tab of the Combo View, right select the Spreadsheet,
    and from the resulting context menu Rename it to something meaningful,
    e.g. Dimensions. Then when you subsequently need another sheet for
    another purpose, e.g. Results, it too can be given a more useful name
    than Spreadsheet001.
A convention that may be useful to suggest is that in the spreadsheet one may choose:
- to place numeric values in column A,
- right select each cell in column A to open the Properties dialog,
-- within the dialog select the Alias tab and type in a desriptive name,
e.g. BoltDiameter
-- select this text string to copy it,
-- select the OK command button,
- to place (a reminder of) the alias name (for the value in column A) in column B
-- by typing e.g. an underscore then pasting the text string copied just above.
If each alias name in column B were entered bare without change,
column B would merely display the same value as shown in column A. By
pre-pending the alias name with e.g. an underscore,
e.g. _PlateThickness, that character string will remain visible in
column B for the descriptive benefit to the human reader. Note well
that even if today 10mm is the correct dimension for both BoltDiameter
and for PlateThickness, one should have two values each of 10mm with
these two different aliases. Then tomorrow when one of those
dimensions must be changed to 12mm the edit will be simple, and the
semantic descriptions will remain accurate. The motivation for
providing a reminder of the alias in column B is to prevent the delays
for opening the Properties dialog and switching to its Alias tab when
one wishes to recall the name. (There does not seem to be a way other
than mouse selection to open the Properties dialog, although there is
a keyboard shortcut to switch to its Alias tab once it is opened.)

When a set of data has been captured in the spreadsheet, switch back
to the Sketcher workbench. Now select the e.g. vertical length
constraint, select the edge, and in the dialog beside the Length label
select the [round icon with the "f(x)" label]. In the resulting
"Formula editor" dialog, make use of FreeCAD's autocompletion.
E.g. Typing merely "Di" will likely shorten the list of possible
completions to only one "<<Dimensions>>.", which you can select by
using the cursor down arrow key. The typing merely "Bo" will likely
shorten the list of possible completions to only one
"<<Dimensions>>.BoltDiameter", which you can again select with only
one keypress. Select the OK command button twice, and your
parameterized length constraint is applied.

>> 20 Coincidence, last sentence

This would be idiomatically better as "... comes *in* handy ..." or
"... *becomes* handy ..."

>> last phrase just above [section] 26 Tangency

The correct reference would be "( *exercise* 28 on page 65)".

>> 27 Equality

I would suggest adding some observations about using this Equality
constraint multiple times for repeated dimensional data in preference
to selecting Length or Horizontal length or Vertical length
constraints repeatedly with the same (purely numeric) value (assuming
aliases to a shared numeric value in a spreadsheet as suggested for
section 18 are not used). Specifically state the advantage of needing
to edit only one value in one place versus multiple edits of the same
value in multiple constraints when the sketch needs to be modified or
reused. The disadvantage is that if there are several or many
e.g. edges with the same equality constraint, there is not one long
list of the n edges. Rather one must sort through the (n-1) pairwise
equality constraints to find the one at the root with the numeric
value to be changed.

>> 37 Driven dimensions, below Exercise 36, 2nd list item

It would reduce confusion to explicitly state that the toggle [icon]
can be found on the context menu revealed when selecting a Constraint,
and that it has the flyover text of "Set the toolbar, or the selected
constraints, into driving or reference mode". Even on full HD
monitors, the toolbar can overflow off the right hand edge of the
screen, leaving the reader wondering where the desired icon might be
found.

>> 37 Driven dimensions, below Exercise 36, 3rd list item

A citation to:
https://wiki.freecadweb.org/Sketcher_To ... Constraint
would be helpful here.
chrisb
Veteran
Posts: 54273
Joined: Tue Mar 17, 2015 9:14 am

Re: Sketcher tutorial

Post by chrisb »

Thank you very much for your thorough comments. Some changes in the preferences happened unattended and had to be transferred to the other languages as well.
nelsonseyes wrote: Mon Mar 15, 2021 10:46 pm This would be better as "... where *neither* of the endpoints ..."
done
>> Exercise 1, at the end of the last list item.
Preferences→Sketcher→ *Display* →Geometry *c*reation ”Continue Mode”
Done, wherever it occurred
It would be better to describe the key as "... the Esc (escape) key ..."
Done, wherever it occurred. If "Esc" was not near a previous occurrence, I have repeated the explanation in brackets.
>> 7 Circles, Point-on-Object, 2nd paragraph

It would be good to give a forward reference to the forthcoming
section 39 or an external citation to the conecpts of padding and
pocketing,
Done, I even wrote already something in that section now
>> Exercise 8, end of third paragraph

I am unsure that "sketch-based feature" is appropriate here? Maybe
"Part Design workbench extrusion features"?
I have to think about this. The statement applies to subtractive features as well, and the construction lines can be used when defining patterns. So for now I added the word "directly", now reading "... which don't contribute directly to any sketch-based..."
>> Exercise 15, last two paragraphs

This would be less confusing if upon the first mention of a block
constraint there were a forward reference to section 29 (for those for
whom this is an unknown term).
I am again not sure with this, because I haven't added forward references for the other constraints. Should I add them too? I have this general remark about the dilemma, that there is no good hierarchical structure for explaining sketches: geometric elements are near to nothing without their constraints, and constraints don't even exist without geometric elements.
>> 14 Conical sections

The second sentence will be better once the missing word is supplied
"... selected this icon *it* is replaced with ...."
I made it more explicit: "Once you have selected one of the options, the icon is replaced with the last chosen selection."
Question: is the comma after "options" correct?
>> Exercise 19

I believe "non-trivial" should be hyphenated, rather than merely two
words (although I see that one English dictionary collapses it to one
non-hyphenated word).
I followed now Webster's spelling in one word (my spelling was definitely wrong)
>> 18 Applying constraints

I would see merit in detailing how to apply an existing e.g. length
constraint to another edge, rather than creating a redundant
constraint containing the same value. This supports the goal of
"improving readability and parametricity" noted in the opening
paragraph of Part III.
I have deferred this to section 36, which I have reworked now to make things more clear.

I would suggest including the use of values from a companion
spreadsheet at this point.
Many thanks for the proposal and the work you have put into this, but I will not introduce spreadsheets at this point. They will (someday) get their own chapter. I do this for two reasons:
I don't want to introduce spreadsheets before sketches, because there wouldn't be an immediate application for them.
The other reason is more educational and more subtle: In the many models I have seen I see that using spreadsheets make people lazy. They don't really think about their sketches and rather use some spreadsheet value, because it is so easily available.
This can be convenient and it is of course ok to do it, and people may be faster in developing their models, but it is not the message I want to transport. I want people really to understand what they are doing and how to create good sketches. This is of course biased by my personal view of what a good sketch is.
>> 20 Coincidence, last sentence

This would be idiomatically better as "... comes *in* handy ..." or
"... *becomes* handy ..."
"comes in handy" is it now.
>> last phrase just above [section] 26 Tangency

The correct reference would be "( *exercise* 28 on page 65)".
Done (excellent find!)
>> 27 Equality

I would suggest adding some observations about using this Equality
constraint multiple times for repeated dimensional data in preference
to selecting Length or Horizontal length or Vertical length
constraints repeatedly with the same (purely numeric) value (assuming
aliases to a shared numeric value in a spreadsheet as suggested for
section 18 are not used). Specifically state the advantage of needing
to edit only one value in one place versus multiple edits of the same
value in multiple constraints when the sketch needs to be modified or
reused. The disadvantage is that if there are several or many
e.g. edges with the same equality constraint, there is not one long
list of the n edges. Rather one must sort through the (n-1) pairwise
equality constraints to find the one at the root with the numeric
value to be changed.
This applies not only to equality but to most geometric constraints. Like you I think that this is so important, that it deserves its own section. Currently this is in the now already partially reworked "Dos and Don'ts", but I will elaborate on this even further.
>> 37 Driven dimensions, below Exercise 36, 2nd list item

It would reduce confusion to explicitly state that the toggle [icon]
can be found on the context menu revealed when selecting a Constraint,
and that it has the flyover text of "Set the toolbar, or the selected
constraints, into driving or reference mode". Even on full HD
monitors, the toolbar can overflow off the right hand edge of the
screen, leaving the reader wondering where the desired icon might be
found.
With the default configuration this toolbar starts at the very left. However, on small screens the toolbar with the geometric tools can be truncated. As it is unknown if and where this happens, I have added a remark to to the section axplaining the toolbar in general.
>> 37 Driven dimensions, below Exercise 36, 3rd list item

A citation to:
https://wiki.freecadweb.org/Sketcher_To ... Constraint
would be helpful here.
I wonder if I should add in all or none of the sections a link to the corresponding documentation; what do you think?
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
chrisb
Veteran
Posts: 54273
Joined: Tue Mar 17, 2015 9:14 am

Re: Sketcher tutorial

Post by chrisb »

I have uploaded the new version.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
nelsonseyes
Posts: 2
Joined: Mon Mar 15, 2021 9:45 pm

Re: Sketcher tutorial

Post by nelsonseyes »

chrisb wrote: ... Exercise 15 ... I am again not sure with this, because I haven't added forward references for the other constraints. Should I add them too? I have this general remark about the dilemma, that there is no good hierarchical structure for explaining sketches: geometric elements are near to nothing without their constraints, and constraints don't even exist without geometric elements.
Many of the other constraints have more simply self-describing names (for at least some users), which reduces the need for universal forward references. (Readers with short attention spans may ask for universal backward references ....)

chrisb wrote: "Once you have selected one of the options, the icon is replaced with the last chosen selection."
Question: is the comma after "options" correct?
Yes.

chrisb wrote: I wonder if I should add in all or none of the sections a link to the corresponding documentation; what do you think?
I suggested this link in this case because of the illustration of some of the icons being displayed in blue while others remained red. In the case of many other sections, the information in this document is sufficient or more informative than what is currently available in the wiki. But some of the pages in the wiki may be improved over time, different people learn more quickly in different styles (e.g. visual vs. verbal), and it could save you the subjective decisions to just link each of your relevant sections to the matching wiki page. If you choose that route, I would suggest including ' target="_blank"' within each of those link references, so that the wiki page would open in an adjacent tab of the viewer's web browser (if they are using their web browser as their PDF viewer) rather than replacing your document within their view.

Since the PDF reveals you are already using:
https://en.wikibooks.org/wiki/LaTeX/Hyperlinks
the hyperref package for your internal table of contents and cross-references, this should not require re-tooling your workflow. (I guess:
https://www.w3.org/WAI/WCAG21/Technique ... 1#examples [see Example 4]
reveals some of the complexity that explains the apparent lack of a libre software solution (other than LibreOffice Draw) which can open a PDF and insert working hyperlinks and write / Export a PDF with the added hyperlinks.)
chrisb
Veteran
Posts: 54273
Joined: Tue Mar 17, 2015 9:14 am

Re: Sketcher tutorial

Post by chrisb »

Thanks for all the suggestions and the effort you invested!
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
openBrain
Veteran
Posts: 9041
Joined: Fri Nov 09, 2018 5:38 pm
Contact:

Re: Sketcher tutorial

Post by openBrain »

chrisb wrote: Fri Mar 19, 2021 12:25 am I have uploaded the new version.
Could you send the new source to "translators" so we can diff and eventually update translations ? Thx
chrisb
Veteran
Posts: 54273
Joined: Tue Mar 17, 2015 9:14 am

Re: Sketcher tutorial

Post by chrisb »

openBrain wrote: Mon Mar 22, 2021 5:29 pm Could you send the new source to "translators" so we can diff and eventually update translations ? Thx
I have sent a PM to you and jruiz. Let me know if you need the whole package with all images.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
cr77
Posts: 1
Joined: Wed May 12, 2021 9:14 am

Re: Sketcher tutorial

Post by cr77 »

Many many thanks for this amazing tutorial !
I'm not newbie in 2D CAD, quite autodidact, and used to 3D global vision thanks to my job, but this tutorial saved my life as a 'standard' learner in 3D modelling, this is exactly what I looked for.
Modelling 3D ergonomic furniture for my sewing atelier is my basic need, nothing to compare with tricky constructions I looked at. These exercices and explanation are just perfect at my level requirements.
You make a huge and incredible work. I'm involved in documentation and translation in an opensource project too, thus I know what's behind.

PS : une française qui te dit merci !
MrWhoopie
Posts: 2
Joined: Tue Aug 10, 2021 8:05 pm

Re: Sketcher tutorial

Post by MrWhoopie »

Very impressive tutorial! I'm very new to FreeCAD, but have a few years experience with SolidWorks and much more with MicroStation. As far as I remember, I have never seen constraints and sketching explained so well.
I am discovering potential differences between FreeCAD and what I saw about sketching in SW. I don't suggest mentioning another system in your tutorial, but maybe it will be helpful for others moving "from there to here" to to see some of the differences as they would naturally come up in the tutorial.
Maybe if I mention some thoughts about what you are already doing this way, I can better explain what I mean:
(These are not literal quotations, just some words I remember about the thought)
- "sketches should not have more than about a hundred constraints."
- "a suggestion to break up sketches, and not to do everything in one."
- The discussion about using External References.

If I understand the FreeCAD lingo, SW users seems to encourage using a layout sketch. Some subsequent work would then use parts of the layout sketch as external dimensions in subsequent sketches. This way, changes to the layout sketch propagate through the rest of the design. (This isn't an attempt to copy any of their IP! It is simply a description of a first impression regarding philosophical differences there and here!) My suggestion is that if this is good practice in FreeCAD, maybe include an example that shows how to do this. If it is not a good idea, maybe make reference to why this should not be done.

I am very excited to learn much more about FreeCAD! Your tying dimensions to a spreadsheet looks very powerful. I am hopeful this might mean different configurations might be possible, now or later.

Enough for now. Keep up the wonderful work!

Mike

BTW, MrWhoopie was a cartoon character who had a 3DBB (Bulletin Board) he used to explain things. I wanted one almost sixty years ago! With CAD I finally get one, and FreeCAD appears to be a wonderful answer to that desire!
Post Reply