Datum Plane orientation request

About the development of the Part Design module/workbench. PLEASE DO NOT POST HELP REQUESTS HERE!
RatonLaveur
Posts: 339
Joined: Wed Mar 27, 2019 10:45 am

Re: Datum Plane orientation request

Postby RatonLaveur » Sat Aug 31, 2019 2:02 pm

Hey Chopin, i suggest you read page 6 of this thread carefully.

Basically this thread pits three concepts together and against each other:
1. The mathematical definition of a plane (no origin, no center, no positive or negative normal vector)
2. The user case of creating and using a plane in freecad (needs an attachment for sketches and intuitive visualisation)
3. The implementation of a plane creation tool in freecad which needs to reconcile both concepts 1.and 2.
User avatar
Zolko
Posts: 385
Joined: Mon Dec 17, 2018 10:02 am

Re: Datum Plane orientation request

Postby Zolko » Sat Aug 31, 2019 7:15 pm

RatonLaveur wrote:
Sat Aug 31, 2019 2:02 pm
1. The mathematical definition of a plane (no origin, no center, no positive or negative normal vector)
why is this important ? If a user is concerned about mathematical purity he should use Mathematica and not FreeCAD.

3. The implementation of a plane creation tool in freecad which needs to reconcile both concepts 1. and 2.
why does it need to ? What happens if it doesn't ? What problem are you trying to solve ? A center and coordinate system are provided by default, out of convenience (inheritence), if a user doesn't need/want them he can silently ignore them.
try the Assembly4 workbench for FreCAD v0.19
installable with Tools > Addon Manager, new version 0.7. Simple tutorial here
RatonLaveur
Posts: 339
Joined: Wed Mar 27, 2019 10:45 am

Re: Datum Plane orientation request

Postby RatonLaveur » Sat Aug 31, 2019 10:01 pm

Zolko, we fully agree. I was merely catching up our friend C_h_o_p_i_n on the different ideas that were recently approached by several posters namely Chrisb, myself, saso, Jee_Bee, DeepSOIC, and yourself

In order to resume the conversation at a post that in my opinion resumes very well the possible conclusions of the conversation:
DeepSOIC wrote:
Fri Aug 30, 2019 4:52 pm
So, for a potential developer (me, possibly), here's a list of things to do.
* add CS marker to datum planes, at least for the time it is being attached.
(that way, it will be easier to understand what roll,pitch and yaw do)
* (if possible) make datum plane's top and bottom look different.
* new attachment mode for sketches, to treat a plane as a plane.
* make the new attachment mode default for sketches made on datum planes.
* an option in preferences to change it back, for those who can't adapt to use LCS instead of a datum plane.
* make it easy to attach sketches to LCS object in PartDesign.
Does that sound good?
Cheers,

J.
User avatar
saso
Posts: 1330
Joined: Fri May 16, 2014 1:14 pm
Contact:

Re: Datum Plane orientation request

Postby saso » Sun Sep 01, 2019 10:11 am

in what ever parametric cad you have (except FreeCAD, so we can have a comparison) please do this as shown in the image:
- red CS, represents the origin of a part
- blue rectangle represents a sketch that is created on the XY plane of the origin
- magenta rectangle represents datum plane that is created on the edge of the blue sketch (as thru line or point and a line as normal, depending on the datum plane creating options of the cad... in any case it is perpendicular to the blue sketch)
- green rectangle represents a sketch on the magenta plane

now please tell or show, where can you see the origin of the magenta plane? where is by default the origin of the green sketch?

Untitled.png
Untitled.png (3.89 KiB) Viewed 303 times

on the magenta plane the user should be able to palce any number of sketches all with their own origins at different positions and even orientation, depending on what they reference their origins from (from part origin, from one of the vertices of the blue sketch,...). it makes no sense for a plane to have an origin (center) by itself. following the logic that it could be added because of convenience or because it is constructed (in some cases) like that, would mean that for the same reasons we can also add this to the datum point and line, result would be that we would have 4 datum elements that are basically all the same, an LCS.

the visual rectangle that you see in an cad environment (orange in FreeCAD or magenta in this image) is only an visual object that defines the real plane that is invisible and infinite, this rectangle should not be understood as the plane itself, in fact it is actually more like just one of the many objects (for example sketches) that you can crate on it. don't mix the real plane with this visual object that only represents and creates it.

yes, in some cases, depending on the datum plane creation method, it can be that it seems as the plane could have an origin, and it is also ok to have this as the default option for the sketch creation in that case (for a faster workflow), but it is only one of the options that the sketch should have to reference its origin to and it is an option of the sketch not the plane. what it looks like a center of the plane in such cases is only an inherited (implicit) property of the plane creation method.

also, as another example, the magenta rectangle that represents the plane, could be moved to the side (but still representing the same plane, so in Y or Z direction in this case) and this would not affect the position of the green sketch as long as its origin is based on the origin of the part or one of the elements of the blue sketch.
RatonLaveur
Posts: 339
Joined: Wed Mar 27, 2019 10:45 am

Re: Datum Plane orientation request

Postby RatonLaveur » Sun Sep 01, 2019 2:33 pm

I had a long explanation written and realised I'm basically rewriting everything you just did.

Thank you saso for a detailed and correct explanation.

We all agree and all points you make.

DeepSOIC laid out the practical solutions to these points a few posts ago.
chrisb
Posts: 18753
Joined: Tue Mar 17, 2015 9:14 am

Re: Datum Plane orientation request

Postby chrisb » Sun Sep 01, 2019 2:59 pm

Perhaps we only need a different perspective: The current implementation is not an implementation of an arbitrary plane, but rather the XY plane of a local coordinate system.
It is questionable if there is much benefit in having arbitrary planes. I would appreciate some real use cases.
User avatar
Zolko
Posts: 385
Joined: Mon Dec 17, 2018 10:02 am

Re: Datum Plane orientation request

Postby Zolko » Sun Sep 01, 2019 3:01 pm

saso wrote:
Sun Sep 01, 2019 10:11 am
it makes no sense for a plane to have an origin (center) by itself. following the logic that it could be added because of convenience or because it is constructed (in some cases) like that, would mean that for the same reasons we can also add this to the datum point and line, result would be that we would have 4 datum elements that are basically all the same, an LCS.
1) that's the situation today (yes, a Datum Point in FreeCAD is also an LCS internally).

2) yes, it makes sense from a software point of view: all FreeCAD objects have a Placement (even a chamfer: how ridiculous is that ? It has no use-case, but it's there because it's inherited), and a Placement is a bijective transformation in space, i.e. an local coordinate system.

3) it is not "added" but "built-in" : if you don't want it, it must be actively removed.

4) just out of curiosity : if you place 3 sketches on the same datum plane in your favorite CAD system, will these 3 sketches have their respective origins placed randomly all over the plane, or will they be all in the same place ? If it's the latter, how do you explain it apart that the datum plane itself has an origin, and all sketches are placed on that origin by default ?

5) you still didn't explain: what is the problem you try to solve ? Why can't you simply ignore a datum plane's origin ?
try the Assembly4 workbench for FreCAD v0.19
installable with Tools > Addon Manager, new version 0.7. Simple tutorial here
adrianinsaval
Posts: 63
Joined: Thu Apr 05, 2018 5:15 pm

Re: Datum Plane orientation request

Postby adrianinsaval » Sun Sep 01, 2019 9:54 pm

Zolko wrote:
Sun Sep 01, 2019 3:01 pm
saso wrote:
Sun Sep 01, 2019 10:11 am
it makes no sense for a plane to have an origin (center) by itself. following the logic that it could be added because of convenience or because it is constructed (in some cases) like that, would mean that for the same reasons we can also add this to the datum point and line, result would be that we would have 4 datum elements that are basically all the same, an LCS.
1) that's the situation today (yes, a Datum Point in FreeCAD is also an LCS internally).

2) yes, it makes sense from a software point of view: all FreeCAD objects have a Placement (even a chamfer: how ridiculous is that ? It has no use-case, but it's there because it's inherited), and a Placement is a bijective transformation in space, i.e. an local coordinate system.

3) it is not "added" but "built-in" : if you don't want it, it must be actively removed.

4) just out of curiosity : if you place 3 sketches on the same datum plane in your favorite CAD system, will these 3 sketches have their respective origins placed randomly all over the plane, or will they be all in the same place ? If it's the latter, how do you explain it apart that the datum plane itself has an origin, and all sketches are placed on that origin by default ?

5) you still didn't explain: what is the problem you try to solve ? Why can't you simply ignore a datum plane's origin ?
This exactly what I wanted to say! Also, what is the problem with displaying the underlying LCS during creation? It does not change functionality, the plane is the same as before and will be displayed the same as before after creation, it only makes it easier to understand the controls. I don't see the benefit in removing the LCS either, the plane works just the same.
saso wrote:
Sun Sep 01, 2019 10:11 am
the user should be able to palce any number of sketches all with their own origins at different positions and even orientation, depending on what they reference their origins from (from part origin, from one of the vertices of the blue sketch,...).
I don't understand what is the conflict with this and the request to display LCS during creation? You can have both, putting sketches on the plane's LCS is just the default.
User avatar
Zolko
Posts: 385
Joined: Mon Dec 17, 2018 10:02 am

Re: Datum Plane orientation request

Postby Zolko » Mon Sep 02, 2019 8:53 am

saso wrote:
Sun Sep 01, 2019 10:11 am
the user should be able to palce any number of sketches all with their own origins at different positions and even orientation, depending on what they reference their origins from (from part origin, from one of the vertices of the blue sketch,...).
this already exists and works: select the sketch (in th tree), select MapMode, then select the vertex (point) on the plane where you want the origin to be, as second reference select the datum plane as in "Tangent to Surface", and your sketch is on the plane but its origin is not the origin of the plane. It's probably possible to also orient the sketch's axis, I let you discover that.

This all means that FreeCAD's datum objects are both very powerful and very well thought out: it's obvious that whoever coded those REALLY new what it's about. Their visual representation might be improved though.
try the Assembly4 workbench for FreCAD v0.19
installable with Tools > Addon Manager, new version 0.7. Simple tutorial here
chrisb
Posts: 18753
Joined: Tue Mar 17, 2015 9:14 am

Re: Datum Plane orientation request

Postby chrisb » Mon Sep 02, 2019 9:11 am

Zolko wrote:
Mon Sep 02, 2019 8:53 am
This all means that FreeCAD's datum objects are both very powerful and very well thought out: it's obvious that whoever coded those REALLY new what it's about. Their visual representation might be improved though.
+1, I think it was DeepSOIC.