diff --git a/User-Stories.md b/User-Stories.md index 3f8c1e3..b387b8e 100644 --- a/User-Stories.md +++ b/User-Stories.md @@ -18,4 +18,12 @@ I am trying out solvespace to understand how things go in that setting for doing - I decided to start with the rectangular panels, as they are individually rigid, and connecting them with the appropriate constraints creates the entire polyhedron. - It is very easy to draw one such a rectangle in SolveSpace: activate the current planar sketch (actually in starts activated in a new drawing), use the Rectangle tool, and then constrain the W and H to the desired dimensions. And the bonus points come easily, too: you can just hit the extrude button and it makes a rectangular solid with one face being the rectangle, and then constrain the third dimension of that solid. -- Now I just want to make more boxes. Unfortunately, it does not seem that SolveSpace has a "free copy" operation that will let me just duplicate this box, except with the ability to rotate/translate arbitrarily in space as a rigid body. However, there does appear to be a contributed branch that adds such an operation, so I am going to try to compile from source and then go onto that branch. \ No newline at end of file +- Now I just want to make more boxes. Unfortunately, it does not seem that SolveSpace has a "free copy" operation that will let me just duplicate this box, except with the ability to rotate/translate arbitrarily in space as a rigid body. However, there does appear to be a contributed branch that adds such an operation, so I am going to try to compile from source and then go onto that branch. +- OK, compiling from source went ultra-smoothly, and then rebasing the branch `copy-groups` from https://github.com/phkahler/solvespace.git on current master went smoothly, and then restarting SolveSpace with this I was then easily able to make a copy of the first box. And making corresponding vertices of the first and copy boxes coincide was totally smooth, and sure enough, they snapped into a configuration in which the boxes were connected at a vertex. However, then selecting adjacent edges -- one from each of the two boxes -- and trying to constrain their angle to 108° (since they form two consecutive edges of a regular pentagon) led SolveSpace to assert +``` +SOLVE FAILED! unsolvable constraints +the following constraints are incompatible + c00c-points-coincident + c00d-angle +``` +This was just kind of astonishing, since (a) without the c00d-angle constraint, SolveSpace reported that the copy box had three degrees of freedom, which seems like they must correspond to the orientation of that box as a whole, so it's unclear why it can't just use one of those degrees of freedom to ensure the angle I specified; and (b) if I just make two line segments and make each the same length and then make two endpoints coincide and then constrain their angle to 108°, SolveSpace has no problem. So maybe there is something just superficially wrong with the boxes; but (i) I am not sure nor have the time how we might debug that, and (ii) if not, then clearly the tactic of "just skin SolveSpace" seems totally dead, in that at the point where things went awry, it still seemed like just a "toy" problem. Kind of a pity because I do really need to know the answers here, and I was hoping SolveSpace was going to find them for me! \ No newline at end of file