Why have bot "sketches" and "drafts" / Why can't I use constraints in drafts?

Post here for help on using FreeCAD's graphical user interface (GUI).
Forum rules
and Helpful information
IMPORTANT: Please click here and read this first, before asking for help

Also, be nice to others! Read the FreeCAD code of conduct!
DanielC
Posts: 8
Joined: Sat May 28, 2016 5:59 pm

Why have bot "sketches" and "drafts" / Why can't I use constraints in drafts?

Post by DanielC »

Hello,

I am new to FreeCAD and I love the "constraints" feature that you get inside a sketch. I find that constraints make a lot of sense to me and I'm wondering why I cannot use them in draft mode. In fact, I don't even understand why FreeCAD makes a distinction between sketches and drafts and seemingly cripples each one in a different way. From my naive point of view, it seems like there should be one workbench to draw in 2D, which should include constraints, and those 2D drawings should be usable for everything FreeCAD uses sketches for. As far as I can tell (again, I'm new) it seems like a draft can be used in the same ways as a sketch; but the draft is harder to draw because you cannot use constraints.
User avatar
DeepSOIC
Veteran
Posts: 7896
Joined: Fri Aug 29, 2014 12:45 am
Location: used to be Saint-Petersburg, Russia

Re: Why have bot "sketches" and "drafts" / Why can't I use constraints in drafts?

Post by DeepSOIC »

Hi!
Draft and Sketch are very very different code-wise. They are even written in different programming languages (Draft in Python, Sketcher in C++).

And I can see any sensible way of merging sketcher and draft even from user point of view. Well, apart from adding BSpline/Bezier curve support to sketcher. As for that, no one seems to be brave enough to start coding B-Splines in sketcher.
ickby
Veteran
Posts: 3116
Joined: Wed Oct 05, 2011 7:36 am

Re: Why have bot "sketches" and "drafts" / Why can't I use constraints in drafts?

Post by ickby »

DanielC wrote:Hello,

I am new to FreeCAD and I love the "constraints" feature that you get inside a sketch. I find that constraints make a lot of sense to me and I'm wondering why I cannot use them in draft mode. In fact, I don't even understand why FreeCAD makes a distinction between sketches and drafts and seemingly cripples each one in a different way.
There is a historic reason for both existing parallel, draft was coded earlier, but it is not the only reason.
From my naive point of view, it seems like there should be one workbench to draw in 2D, which should include constraints, and those 2D drawings should be usable for everything FreeCAD uses sketches for. As far as I can tell (again, I'm new) it seems like a draft can be used in the same ways as a sketch; but the draft is harder to draw because you cannot use constraints.
But what about the people that don't like constraints and want to draft more manual? We also hear from time to time complaints about sketches and constraints being annoying :)

Personally I use both, dependend on my use cases. And I think that is hte best way of looking at them: different toolset to achieve the same result.
DanielC
Posts: 8
Joined: Sat May 28, 2016 5:59 pm

Re: Why have bot "sketches" and "drafts" / Why can't I use constraints in drafts?

Post by DanielC »

ickby wrote: But what about the people that don't like constraints and want to draft more manual? We also hear from time to time complaints about sketches and constraints being annoying :)
I don't understand that response. If you don't like constraints, don't use them. To me this feels like if I said "FreeCAD should let me draw squares" and you replied "what about people who don't want to draw squares?". Is there a reason why it is impossible to choose whether you want to use constraints or not? Have I missed something?
ickby wrote: Personally I use both, dependend on my use cases. And I think that is hte best way of looking at them: different toolset to achieve the same result.
But they DON'T achieve the same result. Or at least, I haven't figured out how. As far as I can figure out, sketches are only used when you want to modify a 3D drawing. As far as I can figure out, you cannot use sketches if you want to make a 2D drawing, the way you can with drafts.

On a related question: How do I get dimensions on a draft? That comes out naturally with sketches. I guess there must be a way to do it with a draft, but I can't figure it out.
User avatar
yorik
Founder
Posts: 13640
Joined: Tue Feb 17, 2009 9:16 pm
Location: Brussels
Contact:

Re: Why have bot "sketches" and "drafts" / Why can't I use constraints in drafts?

Post by yorik »

One important thing for me is missing in setches, which makes me use Draft most of the time, is the snapping stuff. In construction you work a lot with imported 2D data (plans of existing buildings, etc), so you snap a lot when creating new objects.

I always have in the back of my mind the idea to recode the entire snapping interface of Draft in C++ to make it faster and available to other workbenches too, but I lacked courage so far ;)
User avatar
DeepSOIC
Veteran
Posts: 7896
Joined: Fri Aug 29, 2014 12:45 am
Location: used to be Saint-Petersburg, Russia

Re: Why have bot "sketches" and "drafts" / Why can't I use constraints in drafts?

Post by DeepSOIC »

yorik wrote:One important thing for me is missing in setches, which makes me use Draft most of the time, is the snapping stuff. In construction you work a lot with imported 2D data (plans of existing buildings, etc), so you snap a lot when creating new objects.
In 0.17, you should be able to link to imported geometry as external geometry in sketcher!
User avatar
yorik
Founder
Posts: 13640
Joined: Tue Feb 17, 2009 9:16 pm
Location: Brussels
Contact:

Re: Why have bot "sketches" and "drafts" / Why can't I use constraints in drafts?

Post by yorik »

DeepSOIC wrote:In 0.17, you should be able to link to imported geometry as external geometry in sketcher!
It looks like I still only explored a very small part of all the new stuff ;)
julianfoad
Posts: 48
Joined: Wed May 06, 2015 9:17 pm
Location: England
Contact:

Re: Why have bot "sketches" and "drafts" / Why can't I use constraints in drafts?

Post by julianfoad »

DanielC wrote:... I don't even understand why FreeCAD makes a distinction between sketches and drafts and seemingly cripples each one in a different way. From my naive point of view, it seems like there should be one workbench to draw in 2D, which should include constraints, and those 2D drawings should be usable for everything FreeCAD uses sketches for. As far as I can tell (again, I'm new) it seems like a draft can be used in the same ways as a sketch; but the draft is harder to draw because you cannot use constraints.
I feel the same. Having two separate and different sets of tools for 2D drawing doesn't make sense from a usability point of view. I see a better future in which there is a single set of drawing tools and constraints can be applied anywhere in a 2D plane.

I have some ideas about how this could work well. I wonder if anyone else does? Where's the best place to discuss and record these sorts of longer-term design goals? I'd love to be able to come here and read about people's plans and ambitions for the future of FreeCAD, like the way the FreeCAD online help page called "Arch Concept" describes the goals of the Arch module. The http://www.freecadweb.org/wiki/index.ph ... Program.21 page says something about "things are not planned ahead" but I'm sure that doesn't mean nobody has any idea what they want at all :-)
DanielC
Posts: 8
Joined: Sat May 28, 2016 5:59 pm

Re: Why have bot "sketches" and "drafts" / Why can't I use constraints in drafts?

Post by DanielC »

You guys know more about 2D drawing than I do. If you wanted to somehow merge "Sketch" and "Draft" into a single 2D drawing tool, what do you think it should look like? Alternatively, is there a reason why merging sketches and drafts would be fundamentally a bad idea?


What I like about drafts:

- Constraints!
- The way you move and resize objects. It just feels easy and natural.
- Trim edge.
- Draw on a face of a 3D object!

What I like about drafts:

- Splines and Bezier curves!
- The snap feature is nice.

What I dislike about drafts:

- I really don't like the way you move and resize objects. I find it very awkward.


In principle, if sketcher had b-splines, Bezier curves, and the snap feature, would there be any need for draft? Or is there really a fundamental reason why FreeCAD really must have the two?
cox
Posts: 971
Joined: Wed Nov 26, 2014 11:37 pm

Re: Why have bot "sketches" and "drafts" / Why can't I use constraints in drafts?

Post by cox »

One thing about Draft that I can not see Sketcher do as easily is 3D drafting, making geometry freely in 3D space, augmenting existing geometry with lines on multiple planes for using Part:Advanced Utility to make shapes.

I mean It could be done, but might not be as effective, creating (in worst case) etc. one line for each sketch seams a bit excessive to me.
Need help? Feel free to ask, but please read the guidelines first
Post Reply