Rhino WIP Feature: Constraints

yes and additionally I would like to have a coincident constraint without parameter as well. I think in most cases I just want to make sure one end of a curve stays on another curve and then specify the rest with dimensions.

2 Likes

Yes, we’ve discussed this before and it needs done. It’s logged as RH-68037.

Yes, that’s correct. I logged it as RH-68553.

1 Like

That makes sense. I opened RH-68554 for it. As this develops further we can figure out how best to combine constraints so there aren’t so many to shuffle through.

3 Likes

That would be a nice thing to have!

Even though I like this idea, the first thing that comes to my mind is how tricky and frustrating can be setting up e.g. Door family in Revit, which solves geometry based on some constraints. Sometimes a lot of constraints, and often not very intuitive, need to be made. Also, if something doesn’t work as expected there is no clear procedure to look at and debug (contrary to the geometry created by Grasshopper). But probably Revit is a poor example and other mechanical software does it way better.

Constraints are great because they offer a quick start and the ability to directly manipulate geometry in the viewport, especially when we have widgets.

What I would like to see is how we could merge the best things from different worlds.

In short:

  • Great viewport input widgets (and customizable panel input)
  • Solid, predictable, easy to debug Grasshopper definition (solver)
  • Some kind of wrapper to make it an independent object (VA GH Style, Smart Block – you name it)

I wonder if such Smart Object could consist of both: Constrains and Grasshopper. For solving 1st step would be constrained geometry manipulation, 2nd step is Grasshopper on top of it.

Another idea is if Grasshopper could create/populate constrained geometry.


@enric I’m jealous of these input widgets and would love to have them inside VA Objects.

1 Like

Thanks Joshua for logging my requests!

So, this means there won’t be a command to remove selected items from a sketch that does not involve the cross button in the panel? If I were to select a bunch of curves in the viewport, would I be able to remove them from a sketch with the button (basically propagating viewport selection to the sketch entities in the panel) or not?

I am eager to test the constraints feature in the immediate future when the widgets are ready. What would happen if I were to open the file in Rhino 7? Will they just be unconstrained curves or should I expect there to be a loss of geometry (incompatibility)?

E: The video looks very promising!

Do any parametric modellers have forward and backward compatibility between versions?

If constraints are going to mess with compatibility between versions then that could be a problem.

No, I was just trying to let you know there is currently a solution. I opened RH-68561 to add a corresponding command.

I don’t anticipate this losing the geometry. As of right now if you save a constrained model from the WIP for Rhino 7 the geometry stays, but of course there are no constraints in Rhino 7.

3 Likes

Very exciting development! Are there any plans to extend this to include the concept of joints, e.g Hinges, in order to simulate moving mechnical assemblies?

7 Likes

RH-68553 is fixed in the latest WIP

1 Like

Thanks for this improvement!
Can’t wait for this.

Every week I lost a lot of time, energy and concentration because of redrawing everything when I need to change thickness of matérial or other things


Also as a teacher, my stydent ask me about this “Where are the constraints please?”.

1 Like

Not sure if anyone else experienced issues with constraints causing BSODs, I tried adding constraints to a segment of a polyline and Serengeti would get stuck with processing and eventually end up with a BSOD 0x00000133 (DPC Watchdog Violation). I checked all of my device drivers and checked for any updates but it seems to happen semi frequently (around 1/5 times).

~b

So far I haven’t got to extensive testing of the constraints but some geometry can cause issues depending on complexity. Does the polyline have lots of vertices? If yes then it could be that trying to solve the constraints requires a lot of software/CPU resources that it will enventually get stuck and crash. If if crashes badly enough it can take down the system. I’ve seen similar behaviour in other software, though I’ve rarely been able to conclusively find out whether it was a bug acting up or just needing way more resources than available and subsequenly crash. It could be a combination.

I suggest contacting Rhino support with the file and a description of what you are doing and they could have a look if it might be a bug somewhere or something that they need to work on to make it (more) crash proof in such situations.

The constraints solver has a timeout if it cannot find a solution, but this still seems like a fairly serious problem. Do you notice any kinds of patterns with this or is it really random? It also might be helpful if you post your system info.

The polyline really simple since it was just a rectangle, I tried adding constraints to one segment and it lead to the BSOD. PC specs wise I’m running with a 7980xe for the CPU and 128gb of ram so running. It is a less common setup on the x299 platform so I’m not sure if that’s the potential source of the issue.

I was hoping to get your full SystemInfo from the SystemInfo command in Rhino. If you could paste the result that’d be great.

image

This does sound like a hardware issue though.

1 Like

Hi Joshua,
“Solve space” has “SolveSpace - Technology” has a powerful solver. It is freeware and May be Mcneel can have a deal and integrate It’s solver.

1 Like

This is all fine, but what I’d really like to see is a (2D is ok) solver for mechanical assemblies.

I know you guys can do this (see 2D walking strandbeest model ex grasshopper).

I have a 2D solver (www.linkagesimulator.com) which is built by one person as a labour of love – its great, but it has an off-kilter and unique interface and input requirements that are not very helpful.

I also have the solvespace program (www.solvespace.com) which is rather powerful, but strangely arcane, and looks like a dos cad program from way back. Its library is available for licensing though


Anyway, being able to solve these kind of mechanical assemblies in rhino itself would be a huge help to me.

For example, see these diagrammatic images of motorcycle / bicycle suspension layouts


cheers

rabbit
IMG-7035
IMG-7036
IMG-7037

2 Likes

Why do you think the SolveSpace solver is preferable?

The only thing I know about the SolveSpace solver is that it’s also being integrated in Blender with the addon called CAD Sketcher, but since this addon is still very much a WIP version, I personally can’t tell how well the solver handles more complex cases (e.g. curvature constraints or tangency constraints between splines and arcs). If @direnc thinks it is preferable, could you show a comparison between the current Constraints in the V8 WIP and in SolveSpace?

I do like the idea of using open source tech, because any features and bug patches added to the solver would mean that users from other platforms, such as Blender’s CAD Sketcher would also benefit.

RH-68002 is fixed in the latest WIP