Re: [cgma-dev] Why can't I create surfaces from curves
Hey Andy, The error message seems to indicate it's trying to make a surface which isn't planar.. maybe thats a good starting point? Are there other flags to hand that function by chance? Cheers, Patrick On 07/23/2015 02:34 PM, Andrew Davis wrote:
Hi Guys
I have the following function that I've added to my version of iGeom,
ITAPS_API void iGeom_createSurface2(iGeom_Instance instance, /*in*/ iBase_EntityHandle *input_curves, /*in*/ int num_curves, /*out*/ iBase_EntityHandle *geom_entity, int* err) { CubitVector p1(0, 0, 5); RefVertex* v1 = gmt->make_RefVertex(p1);
CubitVector p2(0, 0, -5); RefVertex* v2 = gmt->make_RefVertex(p2);
CubitVector p3(0, 5, 0); RefVertex* v3 = gmt->make_RefVertex(p3);
CubitVector p4(0, -5, 0); RefVertex* v4 = gmt->make_RefVertex(p4);
RefEdge* e1 = gmt->make_RefEdge(ARC_CURVE_TYPE,v1,v2,&p3); RefEdge* e2 = gmt->make_RefEdge(ARC_CURVE_TYPE,v1,v2,&p4);
DLIList<RefEdge*> curves; curves.insert(e1); curves.insert(e2);
RefFace* tmp_surface = gmt->make_RefFace(PLANE_SURFACE_TYPE, curves, false); *geom_entity = reinterpret_cast<iBase_EntityHandle>(tmp_surface); RETURN ((tmp_surface ? iBase_SUCCESS : iBase_FAILURE)); }
When I run this, I can sucessfully create the vertices, and create curves from those verts using make_RefEdge. When I try to create a surface from those two ref edges I get the following error.
WARNING: In AcisGeometryEngine::make_FACE At this time, cannot make a FACE that isn't planar or best fit. ERROR: In AcisModifyEngine::make_Surface Cannot make Surface object. ERROR: Couldn't make new RefFace.
If I save the file as acis and examine the results in Cubit, they appear as they should (minus the surface). I can, in Cubit, make surface then, sweep and do all the operations that I want to.
Is there something that I', just misunderstanding about CGM / gmt that means I'm using this wrong?
Thanks
Andy
participants (1)
-
Patrick Shriwise