SudDFace surface geometry

Hello ,
with openurbs sdk ,
how I can get the nurbs_surface definition from a SubDFace , and also the nurbs curve from a SubDEdge ?

thanks
Laurent

toNUrbs command, and dupedge command

Hi @eraud,

ON_SubD::BrepForm is not implemented in standalone openNURBS.

– Dale

Hello Dale ,

yes , I can see into opennurbs SDK :

//virtual
bool ON_SubD::HasBrepForm() const
{
return false;
}

//virtual
ON_Brep* ON_SubD::BrepForm( ON_Brep* destination_brep) const
{
return nullptr;
}

and when I use the method ,

bool ON_SubDFace::GetQuadSurface(
class ON_NurbsSurface& nurbs_surface
) const

or

bool ON_SubDFace::GetQuadSurface(
class ON_BezierSurface& bezier_surface
) const

I never get the surface because I always have the same way with :

if ( false == qft.m_bIsCubicPatch )
return false;

I try with a plane and sphere transform to SubD with rhino7

with Rhino , I can export to iges-step these subd , can you tell me if you have a function into opennurbs SDK , for getting the nurbs_surface-curve definition or not ?

thanks
Laurent

No we do not, sorry.

– Dale

Hello Dale ,

as with rhino7 , you can export to step these subd , is it possible to know the algorithm that you use for getting the nurbs definition I will implement the same way ?

thanks
Laurent

Hi @eraud,

Sorry, no, this is not something we are willing to share at this time.

– Dale

Hello Dale ,

ok

thanks
Laurent

Hello Dale ,

I have another ask , for a subd , the associated graphic mesh isn’t store into the 3dm file ?

thanks
Laurent

Dear ,

I found these 2 functions for creating a mesh , but which value for count , I set 3 , is there a better default value ?

bool ON_SubD::GlobalSubdivide(unsigned int count);
ON_Mesh* ON_SubD::GetControlNetMesh(ON_Mesh* mesh, ON_SubDGetControlNetMeshPriority priority) const;

thanks
Laurent

Hi @eraud,

Just use ON_SubD::GetControlNetMesh.

ON_Mesh mesh;
subd.GetControlNetMesh(&mesh, ON_SubDGetControlNetMeshPriority::Geometry);

or

ON_Mesh* mesh = subd.GetControlNetMesh(nullptr, ON_SubDGetControlNetMeshPriority::Geometry);
if (mesh)
{
  // todo...
  delete mesh;
}

– Dale

Hello ,

I download the latest version :
opennurbs-7.0.20255.14200

but if I don’t use the function , bool ON_SubD::GlobalSubdivide(unsigned int count); ,
the method : GetControlNetMesh doesn’t return a good representation of the SubD

subd with white color and mesh with red color .

`

I suppose into Opennurbs SDK , we can’t access to the rhino function from mesh Menu with : From NurbsObject ?

thanks
Laurent

That is correct. OpenNURBS will not mesh NURBS objects.

– Dale