Split Creased Surfaces Setting

rhinocommon

#1

Hi,

How do you access the user’s current setting for splitting creased surfaces in RhinoCommon? In Rhino.NET, this was RhUtil.RhinoApp().AppSettings().GeneralSettings().m_bSplitCreasedSurfaces, but I cannot seem to find this setting in the RhinoCommon library. Thanks!

Best,
Dan


#2

@dansnyder,

is this what you´re searching for ?

c.


#3

Thanks, Clement, but this seems to only enact a split and is not a get/set on the user’s current setting. I’m looking specifically for the user’s application setting.


#4

Hi Dan,

I do not think the global CreaseSplitting setting is exposed yet, at least i cannot find it :slight_smile:

But it may be vague to rely on it since the affected commands can override it using the SplitAtTangents command options. These can be found in the registry if this helps for the respective command under:

HKEY_CURRENT_USER\Software\McNeel\Rhinoceros\5.0x64\Scheme: Default\Command Defaults

c.


(Dale Fugier) #5

You can control kink splitting when adding Breps to the document.

http://4.rhino3d.com/5/rhinocommon/?topic=html/M_Rhino_DocObjects_Tables_ObjectTable_AddBrep_3.htm

Is this what you need?


#6

Hey @dale, i think this is related to what i need, which is a “SplitAtTangents” option (as with the Rhino-command) when using Brep.CreateFromLoft().

I am lofting two identical closed polycurves consisting of 60 segments each, that can be lines or arcs, and i need a resulting brep consisting of 60 surface segments. Hovewer, the loft result always consists of less than that, some surfaces are combined.

Your link is not working anymore, but i assume this is the new version:

http://developer.rhino3d.com/api/RhinoCommon/html/M_Rhino_DocObjects_Tables_ObjectTable_AddBrep_3.htm

The linked page is still rather undocumented, but from what i can see, the AddBrep() method appears to have an option “splitKinkySurfaces”. However, i am still getting these combined surfaces.

Is there anything i can do but loft each curve-segment individually and combine the surface segments later on?

Best regards from Vienna,

Heinz


(Dale Fugier) #7

Hi @lungenstrudel,

To "split at tangents, use BrepFaceList.SplitFacesAtTangents.

if (null != brep)
  brep.Faces.SplitFacesAtTangents();

– Dale


#8

Thank you very much, @dale, this helps a lot! :+1: