Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Few DOF shown in group where all entities are constrained #599

Closed
ghost opened this issue May 8, 2020 · 3 comments
Closed

Few DOF shown in group where all entities are constrained #599

ghost opened this issue May 8, 2020 · 3 comments
Labels

Comments

@ghost
Copy link

ghost commented May 8, 2020

System information

  • SolveSpace version: 3.0~f36ac500
  • Operating system: Debian 10 buster (x86_64)

Expected behavior

If all entities are constrained there should be 0 DOF in such group.

Actual behavior

Actually there are few DOF shown in group where all entities are fully constrained.

Additional information

Take a look on g008-* group inside linked SLVS-file:

pic.1

@whitequark
Copy link
Contributor

Take a look on g008-* group inside linked SLVS-file:

You shouldn't post SLVS files as text, since they aren't text files and get corrupted if you do that. Use a zip archive to attach them.

Actually there are few DOF shown in group where all entities are fully constrained.

The behavior you're seeing is caused by constraining a point in the workplane to a line in 3d perpendicular to the workplane:

Screenshot_20200509_014949

In other words, the degree of freedom is present analytically (the equations have free variables corresponding to this DOF), but not numerically (the sketch happens to have a shape that prevents the DOF from letting the point move).

If you were to alter the sketch so that the highlighted line is not perpendicular anymore, then the DOF would come into play. So this isn't a bug: it's showing you that your sketch can potentially exhibit more freedom in different circumstances. To avoid this, constrain the point not to a line but for example to a point in the same corner.

@ghost
Copy link
Author

ghost commented May 9, 2020

In other words, the degree of freedom is present analytically (the equations have free variables corresponding to this DOF), but not numerically (the sketch happens to have a shape that prevents the DOF from letting the point move).

As me it looks exactly like a bug, because there is only one possible position for point in plane constrained on line, which are perpendicular to actual plane.

@whitequark
Copy link
Contributor

@Symbian9 How many degrees of freedom does a gyroscope in gimbal lock have? There isn't a single correct answer to this question; you can say "two" if you look at it numerically, or "three" if you do it analytically, and SolveSpace currently does the latter.

Inciedntally, nearly every sketch SolveSpace says has 0 degrees of freedom actually does have a nonzero amount of them. For example, consider this sketch with "0 DOF":
Screenshot_20200509_054347

And this one, also with "0 DOF":
Screenshot_20200509_054618

But wait, they're the same sketch! In fact you can relax the constraints (for convenience; not actually required but makes it much easier to do this) and change the shape of the 1st sketch to be like the 2nd. That's a degree of freedom, though discrete and not continuous like usual, so it's not counted.

To summarize, the DOF number shown by SolveSpace is an abstraction, and the choice of what exactly counts as a DOF is arbitrary. That's why this isn't a bug.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant