USER FORUM

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

3D Assembly of Universal Joint (by Thovthe)
I thought I'd test out the 3D assembly features of SolveSpace with a universal joint but I don't seem to be able to constrain the second yoke. The solver fails on the second regardless of which way I constrain the first one. Is this possible? If so, how so?

In the attached zip I have the parts files and two attempts at assembly.
Sat May 7 2022, 22:02:22, download attachment UniversalJoint.zip
(no subject) (by Andrew)
Attached is a constrained assembly. I used point online, twice, for each part 2 to set it axis position, and point line equal. between each end point, and the orthogonal axis of the joint. You can select a point, then a line, then another point, and another or the same line, and set the distance between the points and the line equal, 'q'.
Sun May 8 2022, 09:48:01, download attachment AssemblyConstrained.slvs
(no subject) (by cmpxchg)
another solution, using same point-on-line constraints to be able to delete a 'parallel line' constraint.
It is not mechanically interactive, unfortunately. Perhaps this could be achieved with an empty sketch and construction lines, and then three objects following the construction lines.
Sun May 8 2022, 10:03:52, download attachment Universaljoint3.zip
interactive version (by cmpxchg)
attached
Sun May 8 2022, 10:28:32, download attachment Universaljoint4.zip
(no subject) (by Paul)
Some day I'd like an assembly group that can contain multiple linked parts, so working mechanisms could be built directly.

But "some day" ideas come around faster than time to code.
Sun May 8 2022, 13:12:30
Trouble and Questions (by Thovthe)
I can open Andrew's file but I had some trouble replicating something similar myself. I've attached a broken file to illustrate my problem.

cmpxchg:
Do you mean like with a cross for the middle bit and two lines for each yoke?
Sun May 8 2022, 23:54:13, download attachment BrokenUJointAssembly.slvs
Re: Paul (by Thovthe)
Like what FreeCAD's assembly3 does with solvespace's kernel?
Sun May 8 2022, 23:56:32
Re: Trouble and Questions (by cmpxchg)
'Do you mean like with a cross for the middle bit and two lines for each yoke? '
Yes, see interactive.slvs in Universaljoint4.zip, g002 group.
The following groups have each a part linked in them, and part is constrained.
Property-browser can show the group when clicked, and scroll down to list the constraints. Hovering over the link will shine a 'flashlight' on each constraint.
Clicking on a constraint will show the items 'constrains', at that point you can press delete (there is no [del] link for that in 3.0?) to cleanup an overconstrained-'red' design.
Mon May 9 2022, 03:49:01
(no subject) (by cmpxchg)
Note that I made the interactive version by exiting the default sketch-in-workplane, and enable 'Anywhere in 3D' mode. A dot joins both lines in the middle (M), a perpendicular constraint make them perpendicatal in a random plane that is formed by the two lines orientation. The position is locked down to the center of the three planes. But the angle of the plane can still freely move.
A triangle with two construction lines with two equal sides makes a handle to control each yoke.
Mon May 9 2022, 03:54:28
Re: Paul (by Paul)
@Thovthe,

>> Like what FreeCAD's assembly3 does with solvespace's kernel?

I've not tried that yet. But since each part in a solvespace assembly is in a new group and groups are constraint-solved in order, it's harder to make mechanisms than it needs to be. I think a linked part could be treated internally as a request like lines and arcs, and then as many as needed could be put in an assembly and the constraints could all be solved simultaneously. Currently I think you need to make a sketch in 3d as a single group and then attach the parts in subsequent groups, then move it by turning off everything but that base sketch.

This feels like it should be done along with hierarchical sketchs, but that may not be necessary to do it.
Mon May 9 2022, 11:25:39
Success and More Questions (by Thovthe)
Following cmpxchg's example, here's a little parallel platform kinematic I made.

It's not a super stable linkage. It seems that if I try to constrain things to avoid certain misbehaviours the solver thinks that the sketch is over-constrained.
To avoid singularities in the linkage; is there some way to assign a range of values to a constraint? Or some other sort of stop/limit?

It was tricky because I can't find a way to copy constructs while inside a 3D sketch.

Is there a good way to **trace** the edges of the volume that the top can reach? I fiddled with stepping the angle on the lower-arms a bit but that involves running the step on one arm many times per angle of each other arm and it breaks sometimes. If not with solvespace maybe someone can pint me at an alternative?

Is there a way to make a 3D sketch into an object? I can't extrude.
Wed May 11 2022, 10:19:38, download attachment DeltaKinematic.slvs
Re: Paul (by Thovthe)
Around the sketch rework:

It seems like the very first step in that direction is making it so that multiple sketches can be in memory at once. To reiterate a question asked elsewhere, "Is this tedious but straight-forward, exciting but tricky or some other permutation?"
Wed May 11 2022, 10:21:30
Bump (by [email protected])
Bumping this in case it was missed under the other reply I made.
Thu May 19 2022, 12:41:00
Post a reply to this comment: