Reshaping form using control points?

Next
 From:  Playdo
5183.1 
Is it possible to reshape an object using its control points?

I know that this can be done with a 2d spline but can it be done with a 3d form?

Take a cube for example,

If the surfaces aren't joined and I try moving the control points, it reshapes but the surfaces come apart from each other. But if I join the surfaces, I am unable to move the control points.

I'm obviously missing the correct workflow here.
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
5183.2 In reply to 5183.1 
Hi Playdo - when surfaces are joined you can't turn on their control points, that's because the way NURBS surfaces work the joined pieces may only be sharing a "trim edge" where they touch and not have their underlying surfaces control points actually touch.

There's some explanation of this here:
http://moi3d.com/faq#Q:_Why_does_show_points_work_for_some_objects_but_not_others.3F

Because of the way surfaces work by having "underlying surfaces" and "trim edges", it is usually not part of the workflow to edit solids by pulling control points around, with NURBS modeling you usually only edit curves that way and not solids. Usually if you want to edit a solid you delete it and edit some of the curves used to construct it and then re-construct it (by sweeping or whatever you were using) to make the updated one.

The overall workflow is far different from how polygon modeling works - it's much more of a focus in polygon modeling to tweak control points on 3D objects, and if that's really the style that you want to do (which works well for organic models), then you would want to be using a polygon mesh style modeling program to do that kind of work and not MoI. MoI is stronger in much different workflows than that - in MoI it's more of a focus to focus your drawing and editing effort on a few curves, then construct objects from those curves and slice things with boolean operations. The whole "underlying surface" and "trim curve" type methods that get in the way of editing control points of solid is also what makes boolean operations work so much better in MoI than they do in a polygon modeling program - in a poly modeling program booleans are very problematic.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
5183.3 In reply to 5183.1 
Hi Playdo, and actually a plain simple cube (drawn with Draw solid > box) is a special case where it will actually work to leave it as a joined solid and turn on control points. That's because in that particular case all the underlying surfaces share the same control points where they touch each other, the surfaces touch at "natural edges" of their underlying surfaces instead of only at some kind of trim curve edge.

You can turn on control points for a joined-together set of surfaces if all surfaces touch control points with their adajcent ones.

If you do any booleans you will quickly get trim curves created though.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Playdo
5183.4 
Hi. Thanks Michael. I think I'm right in saying that in Rhino you have the ability to alter a solid shape using a control cage. Will you be adding this and other deformers to Moi?
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
5183.5 In reply to 5183.4 
Hi Playdo, yes I do want to add in a control cage deformation to MoI in the future, and actually so far in MoI v3 the major new features in v3 are for the "Flow" and "Twist" deformation tools which are already implemented in the current v3 beta release (and also included in the new v2.5 Mac OSX release as well).

You can see some various examples of MoI's Flow in action here:
http://moi3d.com/forum/index.php?webtag=MOI&msg=4856.2

And some examples of Twist here:
http://moi3d.com/forum/index.php?webtag=MOI&msg=4614.1


Flow is pretty flexible and can produce a lot of different effects like for example you can use it to do bending by doing a flow from a straight line as the base curve to an arc as the target curve. So it covers a lot of different types of deformations in that one tool.


The box control cage style editing is somewhat of a different style thing than editing surfaces directly though, it won't exactly be a replacement for polygon modeling style surface control point editing. If you want something that behaves like polygon editing you would still want to use a polygon editing program to get.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Playdo
5183.6 In reply to 5183.5 
Looking good. Will the control cage be in v3 and will you be able to set the number of control points on the cage?

What would you say is the closest software solution to the flexibility of sub-d modelling with the benefit of booleans? I never used T-Splines, but not sure what is happening with it

Thanks
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
5183.7 In reply to 5183.6 
Hi Playdo,

> Looking good. Will the control cage be in v3 and will you be able to set
> the number of control points on the cage?

I don't know for sure yet if it will be in v3 (possibly it will, I just can't guarantee it right now though), but when I do get a chance to work on it I do want to allow you to set the number of points in the cage and for some things like a shear or taper effect just setting a minimal 4 corner points would be useful.

You can actually get some effects similar to that using Flow right now - for example here I've got an object embedded inside of a base plane, and then the target plane is constructed from a loft between the 2 curves shown highlighted:




You can then select the object that you want to "cage deform" and then run the Flow command, pick the simple base plane as the base surface and the other lofted curvy one as the target surface and it will produce this kind of deformation:



That's basically similar to using a cage deform to pinch in the sides for example.



> What would you say is the closest software solution to the flexibility of sub-d
> modelling with the benefit of booleans?

It probably is doing sub-d modeling and then using a conversion tool to convert the sub-d surface to NURBS and then doing the booleans on the NURBS after that.

For the conversion T-splines can be used for that like you mentioned and there's also a new plug-in for Modo called Power Subd-NURBS which is focused on that kind of conversion.

- Michael

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Playdo
5183.8 
Hi Michael,

I really hope you do it. It's so useful to directly push and pull shapes when testing out forms, and I feel there's too much design separation to do that with the technique you showed. Is it worth me adding a vote for it in the top 5 v3 feature thread?

I find that with many lattice cages, they're visually obstructive. Do you have an idea of how you'll implement it? It would be great to hardly notice that it's there, but just enough to use the control points. And perhaps the connecting lines could be nearly transparent, or maybe the visibility could be user specified.

Thanks
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  BurrMan
5183.9 In reply to 5183.7 
""""""""""That's basically similar to using a cage deform to pinch in the sides for example."""""""""""

What about History on Deform? Is that in the works?
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Colin
5183.10 In reply to 5183.6 
Hi Playdo,

**What would you say is the closest software solution to the flexibility of sub-d modelling with the benefit of booleans? I never used T-Splines, but not sure what is happening with it**

FWIW, there's recently been announced another Rhino Plug-in called "Clayoo"
http://www.clayoo.com/

I've personally not tried it, but from the reports I've read, it's working in a similar way to T-Splines.
For those with Rhino & not prepared to now buy into T-Splines, this might prove to be a good option?

HTH, Colin
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
5183.11 In reply to 5183.8 
Hi Playdo,

> Is it worth me adding a vote for it in the top 5 v3 feature thread?

Yup, that's probably a good idea if you want to keep it on the radar.



> I find that with many lattice cages, they're visually obstructive. Do you have
> an idea of how you'll implement it? It would be great to hardly notice that it's
> there, but just enough to use the control points. And perhaps the connecting
> lines could be nearly transparent, or maybe the visibility could be user specified.

Probably the connecting lines would be done in the same way as the control polygon hull that you can see right now when turning on curve control points.

Those hull lines are quite faint - not only are they dotted instead of solid lines but they're also pretty translucent as well, they look like this:



- Michael

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
5183.12 In reply to 5183.9 
Hi Burr,

> What about History on Deform? Is that in the works?

It actually works already right now - you have to enable history updates on the generated object though by selecting it and doing Edit > History > Enable Update. After that if you edit the target surface the flow will be recalculated and the deformed result will update.

I've attached here a 3DM file with it set up - this has a sequence of history all enabled in such a way that if you turn on control points for the right hand curve here:



And then edit it it will automatically update the deformed result like this:






There's a sequence of history set up there where that curve has been mirrored and then lofted between the mirrored pieces, and then the loft result used as the target for the flow.

When you edit the curve, it updates the mirrored one (which I've locked so it's not too easy to accidentally select it anymore) then it updates the lofted result and then since Flow used the lofted surface for the target it then updates the flow too.

Both mirror and loft have history updates enabled on their outputs by default - Flow does not have it enable by default so you have to select its output and enable history updates on it before you will see history being applied to it.

- Michael

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
5183.13 In reply to 5183.10 
Hi Colin, re: Clayoo - it sounds like it's a sub-d modeling system running in Rhino but it generates polygon output at the moment and not NURBS output.

But according to this discussion here it sounds like it will be targeted in the future to do that:
http://www.clayoo.com/forum/topics/first-thoughts

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  BurrMan
5183.14 In reply to 5183.13 
"""""""""Flow does not have it enable by default so you have to select its output and enable history updates on it before you will see history being applied to it.""""""""""

Ahhhh. I was tricked! Control point editing on flowed objects.. Kindof like pulling cage points! Jojo was a wabbit.....
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Colin
5183.15 In reply to 5183.13 
Hi Michael,

Thanks for that info.
I believe there's a number of the jewellery guys who are giving Clayoo a try.
It'll be interesting to hear back what they think of it.

regards Colin
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Playdo
5183.16 
Cheers for that. Those hulls look good. I think it's best when the cage is just visible enough not to be hard to use, but so it doesn't obstruct the model at all. It would be nice to be able to customise the look.

Interesting looking app Colin.

Michael, now you mention it, is there a script to turn on history updates for everything, by default?

Thanks
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
5183.17 In reply to 5183.16 
Hi Playdo,

> Michael, now you mention it, is there a script to turn on history
> updates for everything, by default?

No, there's not currently any way to change the defaults for what things have history automatically turned on and what things don't.

But you can turn on updates for all objects currently in your model by doing a select all and then do Edit > History > Enable updates.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
 From:  Playdo
5183.18 In reply to 5183.17 
That would be a handy checkbox to tick ;)

Cheers for clearing that up, and my other post too.
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged
 

Reply to All Reply to All