Part design sketch plane correct order: XY, YZ, ZX

Have some feature requests, feedback, cool stuff to share, or want to know where FreeCAD is going? This is the place.
Forum rules
Be nice to others! Read the FreeCAD code of conduct!
jruiz
Posts: 95
Joined: Tue Oct 28, 2014 1:07 pm

Part design sketch plane correct order: XY, YZ, ZX

Postby jruiz » Mon Sep 10, 2018 1:46 am

Hi.
In my opinion, it is needed to modify one of the names of the planes (and its "orientation") one can select when making a sketch.
I think that instead of XY, XZ, YZ, the appropriate planes should be XY, YZ and ZX (in this order).
If i, j and k are unit vector along X, Y and Z axes respectively, vector algebra tell us that the following vector multiplications hold:
i x j = k, j x k = i and k x i = j
One of the effects of selecting XZ plane instead of the ZX is that the extrusions of the sketches on the former plane "grow" to the negative direction of the Y axis (by the way, i x k = - j ). Of course it can solved by inverting the extrusion sense, but it has not to be this way.

Regards
chrisb
Posts: 18223
Joined: Tue Mar 17, 2015 9:14 am

Re: Part design sketch plane correct order: XY, YZ, ZX

Postby chrisb » Mon Sep 10, 2018 2:42 am

That sounds sensible, and I frequently wondered why I had to reverse some directions of attached sketches. This might clarify things. From a systematic view it would be a change from alphabetic order to cyclic order.

However, I am not sure if this is compatible with current models. I am a big friend of clear basics, but if this was changed internally we need a migration concept as well.
Opus
Posts: 91
Joined: Wed Nov 08, 2017 5:36 pm

Re: Part design sketch plane correct order: XY, YZ, ZX

Postby Opus » Mon Sep 10, 2018 3:31 am

jruiz wrote:
Mon Sep 10, 2018 1:46 am
If i, j and k are unit vector along X, Y and Z axes respectively, vector algebra tell us that the following vector multiplications hold:
i x j = k, j x k = i and k x i = j
The common mnemonic is the right-hand rule: https://en.wikipedia.org/wiki/Right-hand_rule.
chrisb wrote:
Mon Sep 10, 2018 2:42 am
However, I am not sure if this is compatible with current models.
Why? It's just a matter of user interface, isn't it?
Extrusion based on sketch built according to the XZ plan is right.
Last edited by Opus on Tue Sep 11, 2018 6:19 am, edited 1 time in total.
User avatar
DeepSOIC
Posts: 6971
Joined: Fri Aug 29, 2014 12:45 am
Location: Saint-Petersburg, Russia

Re: Part design sketch plane correct order: XY, YZ, ZX

Postby DeepSOIC » Mon Sep 10, 2018 8:39 am

current names are consistent with the way sketch axes are mapped to body/model axes.
XY: H_axis = X, V_axis = Y
XZ: H_axis = X, V_axis = Z
YZ: H_axis = Y, V_axis = Z

Now if we change to ZX, the sketch would end up in a very unnatural orientation. Renaming them just for sake of math doesn't help, IMO.
jruiz
Posts: 95
Joined: Tue Oct 28, 2014 1:07 pm

Re: Part design sketch plane correct order: XY, YZ, ZX

Postby jruiz » Mon Sep 10, 2018 8:57 am

chrisb wrote:
Mon Sep 10, 2018 2:42 am
... we need a migration concept as well.
I agree...
But I think this way FreeCAD would gain (a little of) math robutness...
jruiz
Posts: 95
Joined: Tue Oct 28, 2014 1:07 pm

Re: Part design sketch plane correct order: XY, YZ, ZX

Postby jruiz » Mon Sep 10, 2018 9:37 am

DeepSOIC wrote:
Mon Sep 10, 2018 8:39 am
current names are consistent with the way sketch axes are mapped to body/model axes.
XY: H_axis = X, V_axis = Y
XZ: H_axis = X, V_axis = Z
YZ: H_axis = Y, V_axis = Z

Now if we change to ZX, the sketch would end up in a very unnatural orientation. Renaming them just for sake of math doesn't help, IMO.
How about adding the third axis...?
XY: H_axis = X, V_axis = Y, Axis pointing to us Z
XZ: H_axis = X, V_axis = Z, Axis pointing to us -Y
YZ: H_axis = Y, V_axis = Z, Axis pointing to us X

XZ: H_axis = Z, V_axis = X, Axis pointing to us Y

But beyond the viewpoint of the sketches, the effect of extruding a sketch on XZ to -Y is inconsistent with the "other" extrusions modes and it seems to me inconvenient when designing.
User avatar
DeepSOIC
Posts: 6971
Joined: Fri Aug 29, 2014 12:45 am
Location: Saint-Petersburg, Russia

Re: Part design sketch plane correct order: XY, YZ, ZX

Postby DeepSOIC » Mon Sep 10, 2018 9:49 am

juiz wrote:
Mon Sep 10, 2018 9:37 am
-Y is incoinsistent with the "other" extrusions modes and it seems to me inconvenient when designing.
I agree, but your proposal replaces this minor inconvenience with a major inconvenience. We can switch XZ to (-X)Z to get rid of both inconveniences, at a cost of another minor inconvenience.
jruiz
Posts: 95
Joined: Tue Oct 28, 2014 1:07 pm

Re: Part design sketch plane correct order: XY, YZ, ZX

Postby jruiz » Mon Sep 10, 2018 10:11 am

DeepSOIC wrote:
Mon Sep 10, 2018 9:49 am
... your proposal replaces this minor inconvenience with a major inconvenience...
Are you referring to the work of recoding or to any other mayor inconvenience?
User avatar
DeepSOIC
Posts: 6971
Joined: Fri Aug 29, 2014 12:45 am
Location: Saint-Petersburg, Russia

Re: Part design sketch plane correct order: XY, YZ, ZX

Postby DeepSOIC » Mon Sep 10, 2018 10:12 am

DeepSOIC wrote:
Mon Sep 10, 2018 8:39 am
Now if we change to ZX, the sketch would end up in a very unnatural orientation.
jruiz
Posts: 95
Joined: Tue Oct 28, 2014 1:07 pm

Re: Part design sketch plane correct order: XY, YZ, ZX

Postby jruiz » Mon Sep 10, 2018 10:39 am

DeepSOIC wrote:
Mon Sep 10, 2018 10:12 am
DeepSOIC wrote:
Mon Sep 10, 2018 8:39 am
Now if we change to ZX, the sketch would end up in a very unnatural orientation.
Well... "very unnatural orientation"... It is question of opinions (in my opinion :) )
I have to put on a balance "unnatural orientation" and and "extruding to a negative axis orientation"...
It would be good to have the option of choosing which of these "schemes" one want to use.
Last edited by jruiz on Mon Sep 10, 2018 10:55 am, edited 1 time in total.