SOLVESPACE -- parametric 2d/3d CAD

(you are viewing a thread; or go back to list of threads)

geometry falls apart (by Paul)
I've created a geometry made of chained rectangles.
When I drag the one end and move it along, the dragged part break apart from the model. All stops with "solve failed: unsolvable constraints". Did I do anything wrong?
Sun Apr 23 2017, 04:14:33, download attachment solve_failed2.slvs
(no subject) (by Jonathan Westhues)
The sketch is fine, but the solver sometimes fails with big moves. Try dragging slower.
Sun Apr 23 2017, 04:32:56
Found this on Youtube (by NIPA)
I found this on youtube a few days ago. I believe Alexey Egorov is still working on it.
Mon Apr 24 2017, 06:42:29
(no subject) (by EvilSpirit(Alexey Egorov))
This improvements will be released soon. But this actually not solves the inital problem: the equations used for parallel/perpendicual is so fragile and can be easily broken.
You can look at this video where I made the same improvement and better parallel/perpendicular equations (using atan2 function).
Tue Apr 25 2017, 06:05:45
Also apply atan2() function to angle constraints? (by Paul Milenkovic)
I have found that angle constraints are only valid over a range between 0 and 180 deg. The end values of this range at 0 and at 180 deg are also "singular" in they give a constraint violation. Furthermore, an angle of 190 deg "reflects back" to 170 deg.

There are work-arounds: I can give an angle of 0.00001 to get close enough to 0 deg, and I can apply an angle constraint in a robot to a pair of perpendicular edges of neighboring links to get control of a robot joint through the positive and negative angles around 0 or 180 deg for parallel lines.

But if you are working on an improvement to parallel/perpendicular constraints using the atan2() function, will this also help improve the angle constraint to give it a 360-deg capability? Such a capability will be of help in modeling robots and other mechanical linkages using SolveSpace. Thanks!
Tue May 30 2017, 15:23:06
(no subject) (by EvilSpirit(Alexey Egorov))
Yes, the atan2 will improve 2d contraints (chirality preserving, 0...360 range etc). But for 3d this approach can't work the same way
Thu Jun 1 2017, 04:27:36
How does NX have 0-360 deg angle range? (by Paul Milenkovic)
I see your point. For a pair of skewed lines, their projection into the plane normal to their common normal has an angle, but you can only decide between 0-180 deg and 0-minus 180 deg if you assign an arbitrary direction along the common normal.

But then how does the Siemens NX software do this? I can link a pair of solids with a "concentric constraint" of a pair of circular edges, one in each sold (such as the edge of a circular hole). I can assign an angle constraint to a straight-line edges, again, one on each sold, and I can rotate one solid relative to the other through a full 360 degrees.

Maybe the other constraint besides the angle gives a direction to the common normal? For example in SolveSpace, there is no "concentric constraint" that I know of, but I accomplish this with a parallel constraint between a pair of normals in combination with a coincident constraint between a pair of points, again, one member of the pair on each solid body. Maybe the parallel-constrained normals linking the two bodies can generate the "preferred direction" out of the plane containing the projected lines constrained in angle? This could give a 360-deg articulation of a robot joint?

If I think about it, maybe I could constrain some "control lines" in a plane with an angle that could "clock through 360 deg" and use those control lines to articulate a robot joint angle? I'll work on that.
Thu Jun 1 2017, 18:36:02
(no subject) (by EvilSpirit(Alexey Egorov))
This problem can be solved through using angle constarint for normals (two coordinate basis) with specail equations. When we have the full information about orientation, we can manage 0..360 angles (or even support any angle value for robotics simulation)
Fri Jun 2 2017, 01:43:05
(no subject) (by EvilSpirit(Alexey Egorov))
But your approach with parallel also will work good, but generally not the common case when using for 2d or thinking about gui. The problem with angle between normals is in the normal nature: actually this is coordinate basis of three axis, but really this is just one of them, so it is good to generate three of constrained normals instead of one and then we can manage all the cases of basis constraining.
Fri Jun 2 2017, 01:52:35
(no subject) (by EvilSpirit(Alexey Egorov))
BTW OnShape introduces some other way to make assemblies: you just can choose two coordinate basis and make the common joint connections between them. No pain.
Fri Jun 2 2017, 08:03:46
Post a reply to this comment:
Your Name:
Your Email:
(no HTML tags; use plain text, and hit Enter for a line break)
Attached file (if you want, 5 MB max):
© 2008-2018 SolveSpace contributors. Most recent update Nov 22 2018.