Rhinocommon development support, and setting SubD vertices in the Rhino WIP

I have started digging into SubD workflows in the Rhino 7 WIP, and it’s really amazing what can be done. First of all, thanks to the McNeel team for adding this native functionality to Rhino, and exposing it in GH and Rhinocommon as well. The transformation potential to so many modeling workflows is really off the charts!

Of course, as users, we will always want more more more, and I am writing to ask a couple of things:

  • First is just a general question about plans/goals for Rhinocommon support for SubDs. I can see that there is already access to the underlying data structures of the SubD, but it seems to be very basic at this point. Are there plans to further flesh out what methods for creating and modifying SubDs may be exposed in Rhinocommon?
  • Second is a specific ask for functionality, which would be enabling the specification of vertex locations in their smoothed/limit state directly with Rhinocommon. Unless I am missing something, it seems currently only possible to set the ControlNetPoint location in “flat” space. But the UI in Rhino allows for the direct editing of vertices in the smoothed state, which is massively helpful when trying to approximate existing geometry, or in general have more accurate sculptural control over output. It would be amazing if in Rhinocommon it was possible to specify the location of vertices in the smoothed state directly…it would open up so much procedural control over SubD objects.

Thanks for the great work!

@dale Is this possible in the C++ SDK right now? Enough that we could wrap it in RhinoCommon?

Hi @dave_stasiuk,

I believe your talking about the difference between control points and surface points (PointsOn vs EditPtOn). Is this correct? If so, tt’s all in C++ and stable there. So it just needs wrapped in .NET and stuffed into GH.

Can you please provide an example showing what you are starting with and what he would expect as output? Otherwise, there’s enough tools in that area that we can wrap a dozen and miss what you actually wants to accomplish.

Thanks,

– Dale

1 Like

Hi Dale-

Thanks for the feedback. If I understand correctly, the SubDVertex.ControlNetPoint currently gives access to the control point of a given vertex (PointsOn), and what I would like to do is have access to the surface points for editing (EditPtOn):

I am aware that when one surface point is edited, it affects the locations of other surface points. This is okay, as I can run this through multiple passes (either a set number, or until some threshold is met). But it would just be really helpful to be able to set the EditPt vertex location programmatically.

Hope this is clear…

Hi @dave_stasiuk,

I’ve logged your request - https://mcneel.myjetbrains.com/youtrack/issue/RH-59542

Thanks,

– Dale

1 Like

Thanks so much Dale!