Oh, that’s a great idea actually, and would be easy to implement, we will definitely consider it.
An alternative that I might even prefer, would be to just fix the original curve while adjusting the attached curve. It’s not clear that there would ever be a situation where one wants the original curve to move, especially since in most cases there is no intuitively satisfying assumption about how the original curve should move.
An example is to sketch a line, then sketch a second line attaching somewhere in the midsection of the first. If I then grab the handle where the second line is attached and drag it, the original line moves in a sort of arbitrary way. I can see the presence of some algorithm for moving the line, but it’s never what I actually want.
I think in almost all cases, the user wants the original line to stay fixed and the connection point to slide along it. That is after all the behavior when one initially attaches the new line to the old. It’s true that with great care one can avoid moving the original curve, but having spent considerable time and effort perfecting the original curve, I really don’t want it to change. Sometimes the change is not very perceptible.
So in summary, I feel the default behavior should be that either the original curve is fixed while adjusting the attached curve, or else it would be easy to lock and unlock entire assemblies.
Yes, that’s correct, we should highlight the changed points I think.
If you work with complex splines, the point locking can be clumsy indeed. Select and lock is a great idea.
Another related issue is that once two curves are attached, there is no way to detach them. So I might attach a new curve near the end of an existing section, spend considerable time setting it’s angles etc. then decide I actually want it attached to another section a few millimeters away. Now I need to delete it and start all over.
I’m not sure how you would implement that. If the original curve were fixed and you pulled the new curve far enough away it could pop off? Or you could “shake” it off?
Actually we did not want to implement that, as it would make UX clumsy, and redrawing is not a big deal. But shake could be a good idea, however, it is not completely clear to me what should happen if there are multiple curves join in a single point.
Also, you can undo if you accidentally joined two curves.
True, but that does not really help my example.
I am looking to create aerodynamic shapes for sailboat hulls, cabins, foils, etc, where a great deal of effort goes into creating continuities and precise gradients, etc. It’s discouraging when I need to undo something I spent a lot of time specifying.
I realize there are more powerful tools for marine architecture but I so love the way your software is evolving! I was hoping to do my designs in Shapr3D and export them to perform hydrodynamics and drag and lift calculations etc.
Exciting project! If you could share more detail in email, I would be very interested. firstname.lastname@example.org
I did ponder the multiple endpoint problem. I agree that’s a quandary. And i understand the appeal of “you can just undo”.
But in developing complex models, a great deal of effort may go into specifying connected curves. Redrawing can be a big deal, in my experience with Shapr3d so far. I understand the interface design dilemma. At the same time, I really think that in principle, any connection between two parts should be able to be disconnected without having to delete nor go through a long series of undos.
Just my thoughts. It’s possible that other users will echo my request down the line as they develop more complex projects and this can be confronted in a future version. I’ll let you know if I think of a natural feeling UI that resolves this.
Here’s a goofy idea off the top of my head, though it would violate your aesthetic differentiation between finger and pen. Hold down one curve with your finger while you detach (pull apart) the other! That would not work where three curves join in a single point though.
But I do love how I can use my finger and pen together so effectively in Shapr3d.
Actually we did experiment with such “tricky” UIs (finger+pencil). The problem is that usually people are NOT very dexterous Like you wouldn’t imagine how much they aren’t… Early prototypes of Shapr featured all kinds of interesting multitouch gestures, but they all failed on user tests
Good to know. I admit dexterity is not my strong point!
I think the simplicity and consistency of your app’s use of pen and paw is a great virtue.
Thinking more about the proposal to allow “locking” of entire curves, it’s not clear what should happen where the endpoints join with other curves. Right now locking is a property of the control point, and where the two curves terminate in a single point, they share that property. So if you simply overlay the proposed feature on the existing one, then locking a curve would also lock the endpoint of an adjacent curve that was not selected.
If “locked” could be made a property of a curve as well, perhaps indicated by an icon in the midsection, like the other constraints, there would be no confusion about that. Furthermore, it would create a rationale for allowing users to drag unlocked curves apart from locked curves, potentially solving the “multiple curves join in a single point” dilemma.
Probably a locked feature would simply lock the all points of the curves. I would not introduce another feature for that, it would make things complicated, and if you don’t want the end points to be locked, it is really very little effort to unlock them.
Right. I support your campaign for simplicity. And consistency.
But I still think the shared/united/bound endpoints creates an unnatural limitation. It hampers me, in any case.
Well, what if we would show a “disjoin” button next to the lock in this case? That would work.
Bug: Sketch a line, enter transform, select freeform (still no cancel/exit), select line, select copy (i.e. YES), drag the line. A new copy appears. Select OK (check mark). Attempt to select original line - it will not select.
Note: if you attempt to delete the new line, the old line is deleted.
Note: if you enter constraints mode and adjust an endpoint of the original line, it becomes selectable.
Hmm… that’s an idea. Would it appear next to all connected/joined endpoints, whether locked or not?
I’m happy to let this simmer for a while. In any event, I really appreciate your attention to my concerns.
This behavior effects all the transforms.
Bug: Sketch two intersecting lines, enter transform, select rotate, select one line to rotate, the other for the pivot, then enter angle, but before hitting okay/check, set copy=yes. Then tap ok. The item does not copy.
Not sure what I expect to happen here, since the item has already rotated when I select copy. Maybe copy should be disabled at this point?
Bug? (Maybe i already noted this?) Create a new workspace, sketch something, open Groups: new sketch group is not active.
Likewise, change axes (e.g. Front), sketch, new group does not become active.