Introduction to the NURBS Curveback Reparation Capability Module

This function is encapsulated in a library function called ResurfSurfmap. NURBS curvatures were achieved for the backlash compensation. Full function calls code reference cases

 

API Call Process

Called API must be strictly enforced in the following form:

Step 1: Initialize I don't know. Call surfmap_start() Initialization;

Step 2: Enter original gridI don't know. By Call surfmap_import_origstl() Read.stl file import original grid. Or call.surfmap_set_origmesh() Imports raw grid data.

Step 3: Enter the target gridI don't know. By Call surfmap_import_tragetstl() Read the .stl file import target grid. Or call.surfmap_set_newmesh() Imports target grid data.

Step 4: Enter original NURBS curveI don't know. Call surfmap_AppendNurbsData() ,surfmap_Append2DLoop_start(), surfmap_Append2DNurbCurveInLoop(), surfmap_Append2DLoop_end() Equivalent functions import original NURBS curve data;

Or call.surfmap_import_origsurface_igs() Importing surface data from igs files.

Step 5:Set VariableI don't know. Call surfmap_setFeed() Set a curvature;

Step 6: Execute Curve TransformI don't know. Call surfmap_domap() Executing curvatures;

Step 7: Acquiring data on new curves after transformation, and data on the cut boundary curves on new curves

Call surfmap_GetNewFaceCount() Number of new pieces to be acquired;

Call surfmap_GetLoopCount() Number of clippings obtained from the face of the face;

Callsurfmap_GetNurbs(a) Access to the chalk data corresponding to faceid;

Callsurfmap_Get2DTrimmingCurveCount() How many shearing curves are available on a ring;

Callsurfmap_Get2DTrimmingCurve(b) Obtain data from the 2D cropper NURBS curve;

Or call.surfmap_export_newsurface_igsDirectly export the surface data to anigs file;

Step 8: Curve transformation over.I don't know. Callsurfmap_end() Ending arctic deformation;

 

API Parameter Description

  extern "C" __declspec(dllimport) void surfmap_Start();

Functions: Initialization. The interface is the function that must be first called.

Parameters: The interface does not have parameters.

 

  extern "C" __declspec(dllimport) bool surfmap_import_origstl(char filename[1024]);

Functions: Imports the .stl file of the original grid.

Enter parameterschar filename[1024] Path to: .stl file;

Return valuetrue : Success;false: Failure;

 

  extern "C" __declspec(dllimport) bool surfmap_import_tragetstl(char filename[1024]);

Functions: Imports the .stl file of the deforming target grid.

Enter parameterschar filename[1024] Path to: .stl file;

Return valuetrue : Success;false: Failure;

 

extern "C" __declspec(dllimport) void surfmap_AppendNurbsData(double* surf_cpx, double* surf_cpy, double* surf_cpz, double* surf_weight, int u_num, int v_num,
int is_surf_rational, int u_degree, int v_degree, double* u_knot, double* v_knot);

Functions: Add an original NURBS curve.

Enter parameter description

 

 

extern "C" __declspec(dllimport) void void surfmap_Append2DLoop_start();

Functions: If the additional side is the cut side, start adding a clipping to the side. Adds the cropring in the order in which you add the outside ring to the inner ring. The outermost ring consists of a tailor curve in the direction of the reverse clockwise, and the inner circle in the direction of the clockwise.

Enter parameter description: None

 

extern "C" __declspec(dllimport) void surfmap_Append2DNurbCurveInLoop(double* cpu, double* cpv, double* curve_weight, int ctrlp_num, int is_curve_rational, int degree, double* knot);

Functions: Add a 2D curve to the new cropring.

Enter parameter description

 

extern "C" __declspec(dllimport) void surfmap_Append2DLoop_end();

Functions: End of adding cropring.

Enter parameter description: None

 

extern "C" __declspec(dllimport) void surfmap_setFeed(double feed);

Functions: Sets a curvature.

Enter parameter description: double feed: a value between (0,1.0) controls a surface morphing.

 

extern "C" __declspec(dllimport) bool surfmap_domap();

Functions: Execute a curvature.

extern "C" __declspec(dllimport) int surfmap_GetNewFaceCount();

Functions: the number of new faces to be obtained.

 

extern "C" __declspec(dllimport) int surfmap_GetLoopCount(int faceid);

Functions: get the number of clippings on a new side.

Description of output parameters: int faceid: id.

 

extern "C" __declspec(dllimport) int surfmap_Get2DTrimmingCurveCount(int faceid, int loopid);

Functions: to get the number of shearing curves on the loopid root ring on the new face of faceid.

Description of output parameters

 

extern "C" __declspec(dllimport) bool surfmap_GetNurbs(int faceid, int* u_num, int* v_num, int* u_degree, int* v_degree, double** u_knot, double** v_knot, double** cpx, double** cpy, double** cpz);

Functions: Get data on the new NURBS curve.

Description of output parameters

 

extern "C" __declspec(dllimport) void surfmap_Get2DTrimmingCurve(int faceid, int loopid, int curveid, int* ctrlp_num, int* degree, double** knot, double** cpu, double** cpv);

Functions: given curved id (faceid), given to the id (loopid) of the cutring, extracts the curveid 2D curve data from the boundary ring.

Output Parameters

Data of curved boundary curve:

 

extern "C" __declspec(dllimport) void surfmap_end();

Functions: End of the curve.

 

Back to top