2700
New functions:
int cvxDwgAutoDimAdd(const svxDimAuto* pDimData, int* idDim);
int cvxDwgLabelDimAdd(const svxDimLabel* pLabel, int* idDim);
int cvxDwgBomTable(const svxDwgBom* pData, int idTbl);
int cvxDwgTableInsert(const svxDwgTblInsert* pData);
int cvxDwgRotateView(const svxDwgRotView* pData);
int cvxDwgLineOffsetDimAdd(const svxDwgLineOffsetDim* pData, int* idDim);
int cvxDwgHoleCallOutDimAdd(const svxDwgHoleCallOutDim* pData,int* numDim, int** idDims);
int cvxDwgLineDimAdd(const svxDwgConsDim* pData, int* idDim);
int cvxDwgBaseLineDimAdd(const svxDwgLineGrpDim* pData, int* idDim);
int cvxDwgContinuousDimAdd(const svxDwgLineGrpDim* pData, int* idDim);
int cvxDwgOrdinateDimAdd(const svxDwgOrdinateDim* pData, int* idDim);
int cvxDwgBalloonDimAdd(const svxDwgBalloonDim* pData, int* idDim);
int cvxDwgFtrCtrlDimAdd(const svxDwgFtrCtrl* pData, int* idDim);
int cvxDwgCenterMarkDimAdd(const svxCenterMark *pzCentMark, int* idDim);
int cvxDwgCenterLineDimAdd(const svxCenterLine* pzCenterLine, int* idDim);
int cvxCfgTblInfosSet(int Id,svxPartCfgInfo* info);
void cvxPartFreeCfgTbl(svxPartCfgInfo **cfginfo);
int cvxPartInqCfgTblInfos(int Id, svxPartCfgInfo** partcfg);
int cvxCompBomExcludedGet(svxEntPath EntPath, int* exclude);
int cvxPartInqAsmIsFlex(int idComp, int* isFlexible);
int cvxPartInqFlexAsmMat(svxEntPath AsmPath, svxMatrix* AsmMat);
int cvxPartInqAsmIsFlexByPath(svxEntPath AsmPath, int* isFlexible);
int cvxDispZoomLimits(void);
int cvxDispZoomIn(int ZoomIn, const svxPoint2f StartPoint, const svxPoint2f EndPoint);
int cvxDwgViewInqChildView(int idView, int* count, int** idViews);
int cvxDwgViewEntitiesAssociate(int idView, int count, int* idEnts);
int cvxDwgRegen(int count, int* idViews, int isRegenUnModifiedView, int isRegenTable, int isPrompt, int isRegenSketch);
int cvxDwgViewDottedBorderGet(int idView, svxPoint2* UpperLeft, svxPoint2* UpperRight, svxPoint2* BottomLeft, svxPoint2* BottomRight);
int cvxDwgViewLocationGet(int idView, svxPoint2* point);
int cvxDwgEntMovePntToPnt(int idEnt, svxPoint2* Start, svxPoint2* End, evxDrawingMoveDirType type, double angle, double scale);
int cvxDwgEntMoveAlongDirection(int idEnt, svxVector2* Direction, double Distance, svxPoint2* BasePoint, double angle, double scale);
int cvxDwgAlignmentGet(int idView, int* align);
int cvxDwgSymAtGet(int idSym, svxSymAttr *symAttr);
int cvxDwgSymAtSet(int idSym, svxSymAttr *symAttr);
int cvxDwgSymSurfNew(int idEnt, svxPoint2* refPoint, const svxSymSurf* data, int *idSymSurf);
int cvxDwgSymWeldNew(int idEnt, svxPoint2* refPoint, const svxSymWeld* data, int *idSymWeld);
void cvxSymWeldFree(svxSymWeld *WeldData);
int cvxDwgViewBrokenSection(svxDwgBrokenSectionData* data, int* idView);
int cvxDwgCrossHatch(int countEnts, int* idEnts, int countPnts, svxPoint2* insides, int isSplit, svxHatchAttr* hatch, int* idEnt);
int cvxDwgInqHatchAttr(int idHatch, svxHatchAttr* HatchAttr);
int cvxDwgHatchAttrSet(int idHatch, svxHatchAttr HatchAttr);
int cvxDwgHatchAssoCrvsGet(int idHatch, int* count, int** AssocCrvs);
int cvxDwgInqHatchIdByView(int idView, int* count, int** idHatchs);
int cvxDwgInqHatchIdByDrawing(int idDrawing, int* count, int** idHatchs);
void cvxBndBoxMerge(const svxBndBox *Box1, svxBndBox *Box2);
int cvxDwgCenMarkCirDimAdd(const svxCenMarkCirDimData* cmcDimData, int* idDim);
int cvxDwgDatumTargDimAdd(const svxDatumTDimData* datumTData, int* idDim);
int cvxDwgDatumDimAdd(const svxDatumDimData* datumData, int* idDim);
int cvxDwgSymmDimAdd(const svxDwgSymmDimData* dimData, int* idDim);
int cvxDwgAngDimAdd(const svxDwgAngDimData* dimData, int* idDim);
int cvxDwgArcDimAdd(const svxDwgArcDimData* dimData, int* idDim);
int cvxDwgViewDetail(const svxDwgDetailData* data, int* idView);
int cvxDwgRadDimAdd(const svxRadDimData* radDimData, int* idDim);
int cvxDwgLabelCoorDimAdd(const svxLabelCoorDimData* coorDimData, int* idDim);
int cvxDwgStkBlnAdd(const svxDwgStkBlnData* stkBlnData, int* idDimCount, int** idDimList);
int cvxDwgAutoBlnAdd(const svxDwgAtBlnData* atBlnData, int* idDimCount, int** idDimList);
int cvxDwgInqViewTypeEx(int viewId, evxViewTypeEx* viewType);
int cvxDwgLnrChmDimAdd(const svxDwgLnrChmDimData* DimData, int* idDim);
int cvxDwgViewBrkLine(const svxBrkLineData* brkLineData, int* brkLnViewId);
int cvxDwgBrkLineAtSet(int brkLnViewId, const svxDwgBrkLineAt* brkLineAt);
int cvxDwgBrkLineAtGet(int brkLnViewId, svxDwgBrkLineAt* brkLineAt);
int cvxDwgViewLayout(svxViewLayoutData* data);
int cvxDwgViewProjection(int idBaseView, svxPoint2* location, int Projection, int DimType, svxViewAt* ViewAttr, int* idProjView);
int cvxListItemToolTipSet(const char* form, int field, int row, const char* toolTip);
int cvxListItemToolTipGet(const char* form, int field, int row, char* toolTip, int size);
int cvxDataSetPntOnEnt(int idx_data, int idFld, const svxPntOnEnt* data);
int cvxConsInqConsData(int idCons, svxConsData *ConsData);
int cvxCompAddTangentCons(svxEntPath *Ent1, svxEntPath *Ent2, svxConsData *ConsData, int *idCons);
int cvxCompAddConcentricCons(svxEntPath *Ent1, svxPoint *Pnt1, svxEntPath *Ent2, svxPoint *Pnt2, svxConsData *ConsData, int *idCons);
int cvxCompAddParallelCons(svxEntPath *Ent1, svxEntPath *Ent2, svxConsData *ConsData, int *idCons);
int cvxCompAddPerpendicularCons(svxEntPath *Ent1, svxEntPath *Ent2, svxConsData *ConsData, int *idCons);
int cvxCompAddAngularCons(svxEntPath *Ent1, svxEntPath *Ent2, svxConsData *ConsData, int *idCons);
int cvxCompAddLockCons(svxEntPath *Comp1, svxEntPath *Comp2, svxConsData *ConsData, int *idCons);
int cvxCompAddDistanceCons(svxEntPath *Ent1, svxPoint *Pnt1, svxEntPath *Ent2, svxPoint *Pnt2, svxConsData *ConsData, int *idCons);
int cvxCompAddMiddleCons(svxEntPath *BaseEnt1, svxEntPath *BaseEnt2, int nCenter, svxEntPath *CenterEnts, svxConsData *ConsData, int *idCons);
int cvxCompAddSymmetryCons(svxEntPath *Plane, svxEntPath *SymEnt1, svxEntPath *SymEnt2, svxConsData *ConsData, int *idCons); 
int cvxCompAddFrameCons(svxEntPath *Datum1, svxEntPath *Datum2, svxConsData *ConsData, int *idCons);
int cvxConsRedefine(int idCons);
int cvxDwgUserSymNew(int count, int *idEnt, svxPoint2 *BasePnt, vxLongName Name, int *idBlock);
int cvxDwgViewInqProjection(int idView, evxViewProjAngle* projection);
int cvxSkChamfer(const svxSkChamferData* chmData,int* idChamfer);
int cvxSkFillet(const svxSkFilletData* filletData, int* idFillet);int cvxDwgViewStandard(const svxViewStandardData* data, int* idView);
int cvxDwgViewStandard(const svxViewStandardData* data, int* idView);
int cvxPartGetFlatSolids(int* cnts, int** solids);
int cvxDataGetAll(int idData, int *numFld, svxFldData **fldData);
void cvxFldDataFree(int Count, svxFldData **fldData);
int cvxPartFtrInqInpEnts(int idFeature, evxEntType type, int *cnt, int **list);
int cvxPartInqFtrTol(int idFeature, double *Tolerance);
void cvxBndBoxTransform(svxMatrix *Mat, svxBndBox*Box);
int cvxDwgViewAuxiliary(const svxAuxViewData* auxViewData, int* idView);
int cvxDwgViewFullSection(const svxFulSecViewData* fulSecViewData, int* idView);
int cvxPartAxisNew(svxAxisData *Axis, int *idAxis);
int cvxCompFileSaveAs(svxEntPath* CompPath, int UpdateFlag, vxPath File);
int cvxPartCSYSNew(svxCSYSData *CSYS, int *idCSYS);
int cvxPartPlaneNew(svxPlaneData *Plane, int *idPlane);
int cvxDataSetMatrix(int idData, int idField, const svxMatrix* mat);
int cvxCmFtrInsertWithoutHoles(evxCmFtrType ftrType,vxName ftrName,int cnt,int *geom,int *idxFtrGrp);
int cvxCmFtrInsertSK(evxCmFtrType ftrType,vxName ftrName,int idxSk,int cnt,int *geom,int *idxFtrGrp);
int cvxCmFtrGetComp(int *comp_cnt,int **idxComp);
int cvxCmGetCrvId(int *numLine,int **lstLines);
int cvxCmFtrInsertHole(vxName ftrName,int cnt,int *geom,double *depths,int *idxFtrGrp);
int cvxCmPlanDispSetMode(evxCmPlanDispMode iMode);
int cvxCmFrameGetMatrix(int idxFrame,svxMatrix *frameMat);
int cvxCmOpAddFrame(int idxOp,int idxFrame);
int cvxCmPlanSkNew(svxMatrix *Plane, int *idEnt);
int cvxPartFaceMesh(int idFace, double chord, double sideSize, int *count, svxTriangle **pnts);
int cvxPartFaceMeshPnts(int idFace, double chord, double sideSize, int *count, svxPoint **pnts);
int cvxPartFtrSuppress(int count, int* idFeatures, char suppress);
int cvxFaceReverseDir(int numFaces, int *idFaces)
int cvxPartSpline(const svxSplineData* PntData, int *idEnt);
int cvxSkSpline(const svxSplineData* PntData, int *idEnt);
int cvxPartNSided(const svxNSidedData * NSidedData, int *idShape);
int cvxPartExplode(const svxExplodeData *ExplodeData, int *numShape, int **idShapes);
int cvxDimIsRadius(int idDim, int* isRadius);
int cvxPopupDefine(const char* name);
int cvxPopupSubMenuSetVisible(const char* name, const char* sub, int visible);
int cvxPopupSubMenuItemInsert(const char* Name, const char* Sub, int index, const char* ActName, const char* Label, const char* Script, const char* Icon);
int cvxPopupSubMenuSeparatorInsert(const char* Name, const char* Sub);
int cvxPopupSubMenuItemRemove(const char* name, const char* Sub, int index);
int cvxPopupMenuCnt(const char* Name, int* cnt);
int cvxPopupSubMenuCnt(const char* Name, const char* Sub, int* cnt);
int cvxPopupSubMenuActionsRemove(const char* Name, const char* Sub, int iFirst, int iLast);
int cvxPopupItemSetVisibleByAction(const char* name, const char* action, int visible);
int cvxPopupItemSetEnabledByAction(const char* name, const char* action, int enabled);
int cvxPopupItemSetCheckedByAction(const char* name, const char* action, int checked);
int cvxPopupItemIsExist(const char* name, const char* action);
int cvxPopupUpdate(const char* Name);
int cvxPopupItemActionGet(const char* name, int item, char* Action, int nByte);
int cvxPopupItemLabelGet(const char* name, int item, char* Label, int nByte);
int cvxPopupItemVisibleGet(const char* name, int item, int* Visible);
int cvxPopupItemRemove(const char* name, int index);
int cvxPopupItemInsert(const char* name, int index, const char* Label, const char* Action);
int cvxPopupItemSetAction(const char* name, int index, const char* Action);
int cvxPopupItemCheckedGet(const char* name, int group, int item, int* Check);
void cvxTreeSetHeaderIcon(const char* name, int field, int section, const char* icon);
int cvxPartInqSmdStatFace(int idShape, int* idFace);
int cvxPartSmdStatFaceSet(int idFace, int* idFtr);
int cvxPartInqFlattens(int* count, int** idFlattens, vxLongName** flattenNames);
int cvxPartSmdFlatSolidExport(int idFlatten, evxExportType type, vxPath filePath,void* data);
int cvxPartSmdFlatPatternExport(int idFlatten, vxPath filePath, const svxDWGData* data);
int cvxPartFtrIsUDF(int idFtr, int* isUDF);
int cvxPartUDFReplace(int idFtr, const vxPath file);
int cvxCmFolderInqOps(vxLongName folder_name,int *op_cnt,int **op_list);
int cvxPartInqSmdStatFcs(int idShape, int* countStat, int** statFcs, int* countPair, int** pairStatFcs);
int cvxRootInqSheetMetal(vxLongName file, vxLongName part, int *shtMetal);
int cvxPartInqShtMetalThick(int idShape, double* thick);
int cvxPartInqSmdPairFaces(int idFace, int *count, int **faces);
int cvxPartInqSmdSrfType(int idFace, evxSmdSurfaceType* type);
int cvxDwgViewInqPartConfig(int idView, vxName partCfg);
void cvxNotifyExit(int opt);
void cvxVersionNum(vxLongName verNum);
int cvxSkAxis(const svxSkAxisData *Axis, int *idAxis);
int cvxPartShell(const svxShellData *Shell, int *idShell);
int cvxPartMove(const svxMoveData *Move, int *idMove);
int cvxPartCopy(const svxCopyData *Copy, int *idCopy);
int cvxPartDraft(const svxDraftData *Draft, int *idDraft);
int cvxSkReadyText(const svxReadyText *RdText, int *idRdText);
int cvxFtrIsSubPart(int idFtr);
int cvxMatToEuler(evxEulerAngSeq Seq, svxMatrix *pMat, svxMatEuler *pzMatEuler);
int cvxMatFromEuler(evxEulerAngSeq Seq, const svxMatEuler *pzMatEuler, svxMatrix*pMat);
int cvxPartEcadRgnSet(const svxEcadRgnSetData* pRgnSetData, int *idFtr);
int cvxPartEcadRgnCut(int idSketch, int *idFtr);
void cvxFontMap(const char* zw3dFont, vxLongName font);
int cvxSkAutoCons(svxConsGeom *BasePnt, int Count, int *idEnts);
int cvxSrfFindPoles(svxSurface*, double tol, int poles[4]);
int cvxSrfGetPole(svxSurface*srf, const svxPoint *dir, svxPoint*pnt);
void cvxSrfPrimFree(svxSrfPrim *SrfPrim);
int cvxComboCurrentItem(const char* sForm, int fldId, int* curIdx);
int cvxComboSetCurrentItem(const char* sForm, int field, int item);
int cvxPartFtrInqAuxFtrs(int idFtr, int* count, int** idAuxFtrs);
int cvxPartFacesOffset(const svxFcsOffsetData* data, int* idFtr);
int cvxPartPlaneAdd(const svxNewPlaneData* plane, int* idPlane);
int cvxPartTrimToCrvs(const svxTrimToCurvesData* trimData, int* idTrim);
int cvxPartInqGroupFtrs(int idGroup, int* count, int** ftrList);
int cvxPartInqGroupList(int* count, int** groups);
int cvxPartCosSkPlane(const svxSketchData* SkData, int isAddHatPtn, const svxHatchPtnData* PatData, int *idSketch);
int cvxSkMove(const svxMoveData2D* data);
int cvxPartTrimToFaces(const svxTrimToFacesData *data, int *idTrim);
int cvxPartFlagHoles(const svxFlagHoleData* data, int* idFtr);
int cvxPartFlagExtThread(const svxFlagExtThreadData* data, int* idFtr);
int cvxCompIsectShpShp(const svxEntPath* basePath, const svxEntPath* opPath, evxFaceTrim trim, int* count, svxCurve** curves);
int cvxRootActivateLoadAsmCtx(vxLongName File, vxLongName Name, int isLoad);
int cvxCompInqOpenShapes(svxEntPath *CompPath, int IgnoreHide, int *numShps, svxEntPath **shpPaths);
int cvxCompShapeInqOpenEdges(svxEntPath *ShpPath, int *numEdg, svxEntPath **edgPaths);
int cvxDwgInqSymObjList(int idSym, int* count, int** listId);
int cvxSkInqAllAxisById(int idSketch, int* count, int** idEnts);
int cvxSkInqCnsById(int idSketch, int* count, int** idEnts);
int cvxSkInqGeomById(int idSketch, int* count, int** idEnts);
int cvxSkInqGeomXById(int idSketch, int* count, int** idEnts);
int cvxSkInqPntById(int idSketch, int* count, int** idEnts);
int cvxSkInqRefById(int idSketch, int* count, int** idEnts);
int cvxSkInqTextById(int idSketch, int* count, int** idEnts);
int cvxPlaneGetData(int idPlane, svxPlaneData* Plane);
int cvxAxisGetData(int idAxis, svxAxisData* Axis);
int cvxCSYSGetData(int idCSYS, svxCSYSData* CSYS);
int cvxViewIsSection(int idView);
int cvxPartInqTempData(int idPart, int* count, int** datas);
int cvxDwgInqBundleDataByDim(int idDim, int* count, svxDwgBundlDimData** data);
int cvxEntInqPicked(int* Count, int** Ents);
int cvxEntInqPathPicked(int* Count, svxEntPath** Paths);
int cvxCompIsUnplacedByPath(const svxEntPath* path, int* isUnplaced);
int cvxCompCfgIdGet(const svxEntPath* path, int* idCfg);
int cvxCompCfgIdSet(const svxEntPath* path, int idCfg);
int cvxPartFtrIsMissRef(int idFeature, char* status);
int cvxPartShowPreview(vxLongName fileName, vxLongName rootName);
int cvxRootInqModByName(vxLongName fileName, vxLongName rootName, int* mod);
int cvxCompEditPartByPath(svxEntPath *compPath);
int cvxPartUDFWizardPathSet(const vxPath path);
int cvxPartUDFInsPathSet(const vxPath path);
int cvxSkAutoAddCoinConsSkipRefGeom(int idSketch, int skipFlag, int solveFlag);
int cvxViewIsStandard(int idView);
int cvxViewActivate(int idView);
int cvxViewInqStandardType(int idView, evxViewStd* type);
int cvxDwgInqDimByView(int idView, int* count, int** idDims);
int cvxDwgInqDimByDrawing(int idDrawing, int* count, int** idDims);

Modify types:
svxRevolveData - Add idAxis and idParent to support that the Axis can be on an entity.
svxViewAt - Add fScaleType to support that the scale type can be selected.
            Add dSclRatioX ,dSclRatioY and dScale to support that the view scale can be set.
svxSymSurf - Add some variables to support leader point.
svxSymWeld - Add some variables to support jog points and leader points.
svxPdfData - Add three variables to support set text output, line width scale factor and export multiple sheet to one pdf file.
svxImportData - Add a variable to support that the general properties can be set.
svxDimAttr - Add five variables.
svxReadyText - Add some variables to support create the ready skethc text by different methods.
svxExtrudeData - Add some variables to support set the start/end value by different methods, set the start/end offset value, set the cap type and offset type.
svxRevolveData - Add some variables to support set the start/end value by different methods, offset type and end cap type.
svxSweepData - Add some variables to support set the X-axis/Z-axis by different methods, offset type and end cap type.
svxChamFlltData - Add some variables to support set-list data, set the radius/setback by "To Point", the offset type of the Chamer feature.
evxExtNumMethod - rename it evxDistanceMethod, this method can be used with many commands.
svxPartCalcAttrData - Add two variables.
svxHoleData - Add some variable.
svxPtnData - Add some variable to support set the toggle position.
svxSmdExtrudeTabData - Add new variable "idMergeShape", the mereged shape must be set since 2700.

New types:
evxAutoEntType - Auto Dimension select geometry entity type
evxAutoDimType - Auto Dimension dimension type
evxAutoPlacement - Auto Dimension placement
evxAutoInclude - Auto Dimension Including
svxAutoSet - Auto Dimension seting
svxDimAuto - Auto Dimension data
svxDimLabel - Label data
svxDwgBom - BOM Data
evxBomset - BOM Settings
evxOrderType - BOM Order
evxIndentedType - BOM Indented
evxLevelSet - BOM Level Settings
svxDwgTblInsert - Insert Table
evxOriginType - Insert Table Origin
evxRotViewType - Rotate View Type
evxAxisType - axis type
svxDwgRotView - Rotate View
svxDwgHoleCallOutDim - Hole callout data
svxDwgConsDim - constraint data
svxDwgLineOffsetDim - Linear Offset data
svxDwgLineDim - Linear data
svxDwgLineGrpDim - BaseLine Continuous data
svxDwgOrdinateDim - Ordinate data
svxDwgBalloonDim - Balloon data
evxDimLineOffset - DmOff type
evxDimLineType - DmLin type
evxDimLineMode - DmLinGrp mode
evxBalloonCon - Balloon text condition
evxCalloutEmt - Hole callout element
svxDwgFtrCtrl - Feature Control data
svxCenterMark - Center Mark data
svxCenterLine - Center Line data
evxCenterLineType - Center Line type
evxCentDimType - Center Mark type
evxDrawingMoveDirType - Drawing move direction type.
evxCfgThreadCmd - Hole type
svxCf - conversion factor
svxPartCfgInfo - config table infos
evxDwgBndMethod - Drawing Broken Section Boundary Method
evxDwgDepthType - Drawing Broken Section Depth type
svxDwgBrokenSectionData - Drawing Broken Section input infos
svxSymAttr - Attribute data of symbol in drawing.
svxHatchAttr - hatch attributes
evxLineWidth - line width
evxHatchType - hatch type
evxHatchPtnType - hatch pattern method
svxPartDimAttr - dimension attribute data in part
evxViewLocationType - drawing view location type
svxViewLocationData - drawing view location data
svxViewLayoutMethod - drawing view layout method
svxViewLayoutData - drawing view layout data
svxConsData - custom data of assembly constraint
svxCenMarkCirDimData - center mark circle dim data
evxDatumTargDimType - datum target dim type
svxDatumTargDimData - datum target dim data
svxDwgDetailData - detail data
evxDatumDimType - datum dim type
svxDatumDimData - datum dim data
evxSymmDimType - symmetry dim type
svxDwgSymmDimData - symmetry dim data
evxAngDimType - angular dim type
svxDwgAngDimData - angular dim data
svxDwgArcDimData - arc dim data
evxRadDimType - radial or diametric dim type
svxRadDimData - radial or diametric dim data
svxLabelCoorDimData - label coordinate dimension data
svxPntOnEnt - point on the entity data
evxViewProjAngle - drawing view projection angle
svxViewStandardData - drawing view standard data
svxFldData - data of the field
evxPlaneMethods - Plane Methods
evxPlaneAlign - Plane Orientation Align type
svxImportUGData - setting properties if import prt file
svxImportSTEPData - setting general properties if import stp/step file
svxPlaneData - template command Plane input data
evxAxisMethods - Axis Methods
svxAxisData - template command Axis input data
evxCSYSMethods - CSYS Methods
svxCSYSData - template command CSYS input data
svxSplineData - 3d/2d spline data
svxSplinePnt - 3d/2d spline points data
evxPlacingType - placing type of spline command
svxNSidedData - N-Sided command data 
evxRefitOpt - refit option of N-Sided command
svxExplodeData - Explode command data
svxSkAxisData - sketch axis command data
evxExportExcludeColor - exclude color
evxExportExcludeWidthStyle - exclude width and style
svxFcsOffsetData - faces offset data
evxNewPlaneMethods - New Plane Methods
evxOnCrvDirType - Plane direction type
svxNewPlaneData - New template command Plane input data
svxTrimToCurvesData - template command Trim to Curves input data
evxTrimCrvsProjtype - projection types of "trim to curves"
svxHatchPtnData - cosmetic sketch hatch pattern definition data.
evxMoveType2D - Move and Copy Methods(2D)
svxMoveData2D - template command Move data(2D)
svxMovePntToPnt2D - copy/move entities form point to point (2D)
svxAlongDir2D - copy/move entities along a direction (2D)
svxShellData - sShell command data
svxMoveData - Move command data
svxCopyData - Copy command data
svxDraftData - Draft command data
evxSmdSurfaceType - Sheet Metal surface type
evxEulerAngSeq - two categories of rotation sequences for Euler angles
svxMatEuler - euler angles and translate vector
evxClearHoleType - hole type of clearance hole
evxHoleOpt - hole option
evxFlagThreadDepthType - flagged as thread hole depth type
svxFlagHoleData - flag hole data
evxThreadHoleClass - thread class for flag holes
svxEcadRgnSetData - Ecad regen set data
svxDwgBundleDimData - data of dimension bundle
svxTrimToFacesData - Trim to faces command data

-------------------------------------------------------------------------
26.31
New functions:
int cvxDataSetPntOnEnt(int idx_data, int idFld, const svxPntOnEnt* data);
int cvxPartSmdUnfold(const svxUnfoldData *Unfold, int *idSmdUnfold);
int cvxPartSmdFold(const svxFoldData *Fold, int *idSmdFold);
int cvxPartSmdCloseCorner(const svxCloseCornerData* CornerData, int *idSmdCorner);
int cvxPartSmdAtGet(svxSmdAt* at);
int cvxPartSmdAtSet(const svxSmdAt* at);
int cvxPartSmdLouver(const svxLouverData *LouverData, int *idSmdLouver);
int cvxPartMkEntExternal(int idEnt, int external);
int cvxPartSmdNormalCut(const svxNormalCutData* pData, int* numShape, int** idShapes);
int cvxPartSmdPunch(const svxPunchData* pData, int* idShape);
void cvxSkRegen();
int cvxSkInqDimType(int idDim, evxConsDimType *type);
int cvxSkAutoAddCoinCons(int idSketch)
int cvxCrvMinMaxRad(int idCurve, double* minRad, double* maxRad, int* isFlat);
int cvxPartSmdExtrudeTab(const svxSmdExtrudeTabData* data, int* idExtTab);
int cvxPartSmdExtrudeFlange(const svxExtrudeFlangeData* data, int* idExtFlange);
int cvxPartSmdFullFlange(const svxSmdFullFlangeData* data, int* idFull);
int cvxPartSmdProfFlange(const svxSmdFlangeProfData* data, int* idFlange);
int cvxPartSmdPartialFlange(const svxSmdPartialFlangeData* data, int* idPartial);
int cvxPartSmdHemFlange(const svxSmdHemFlangeData* data, int* idHem);
int cvxFilesSaveTo(int Count, vxLongName *FileList, vxPath Path);

New types:
svxPntOnEnt - point on the entity data
svxUnfoldData - unfold command data
svxFoldData - fold command data
svxCloseCornerData - close corner data
svxSmdAt - sheet metal attribute
evxSkChamferOpt - option of chamfer
evxSkChamferTrimOpt - option of trim in chamfer 
evxSkChamferExtenOpt - control the path of extended curves and faces in chamfer 
svxSkChamferData - information of chamfer 
svxSkFilletData - information of fillet 
svxLouverData - louver command data
svxNormalCutData - normal cut command data
svxPunchData - punch command data
evxSmdKFactorType - K-factor Definition type
evxSmdPosition - Smd Flange Parameters Position
evxSmdBendLengthType - Smd Bend Attributes Length type
evxSmdRelief - Smd Relief type
svxSmdReliefData - Smd Relief data
evxSmdCornerRelief - Smd Relief type of Corner Attributes
svxSmdFullFlangeData - template command Smd Full Flange data
evxSmdHemBendType - Smd Bend Type of Hem Flange
svxSmdFlangeProfData - template command Smd Flange with Profile data
svxSmdPartialFlangeData - template command Smd Partial Flange data
svxSmdHemFlangeData - template command Smd Hem Flange data
evxSmdCalCustom - the enumeration is used to determine whether the values in the "svxSmdReliefData" are custom
evxExtFlangeType - Smd extrude type
evxViewPrjAngType - view projection type
evxViewDimType - view dimension type
svxPrjSetting - Projection or Auxiliary view's projection settings
svxViewArrow - view projection arrow
svxAuxViewData - Auxiliary view data
evxSecMtdType - section method type
evxLocType - section location
svxViewSecMtd - section method
svxViewSecLine - section line
svxViewSecOp - section option
svxFulSecViewData - full section view data
evxExtNumMethod - the distance method of the distance field
svxSrfPrim - add svxSurface data

-------------------------------------------------------------------------
26.30
New functions:
int cvxSkInqAllAxis(int *Count, int **idEnts);
int cvxAxisInqDir(int idAxis, svxPoint *pPnt, svxPoint *pDir);
int cvxSkInqAxisDir(int idAxis, svxPoint2 *pPnt, svxPoint2 *pDir);
int cvxPartInqDimIdxs(vxLongName File, vxLongName Part, int *Count, int**IdList);
int cvxPartFacesetSew(int count, int *shapes, svxSewData* param, int *newFtr);
int cvxPartTrimmedPlane(svxTrimPlnData *data, int *newShp);
int cvxFileInqSubType(vxPath fileName, evxFileSubtype *fileSubtype);
int cvxSkIsExternal(int IdSketch);
int cvxSkInqExternalSk(int idSketch, vxLongName fileName, vxLongName rootName, vxLongName skName);
int cvxPartInqFtrAssoPart(int idFeature, vxLongName file, vxLongName part);
int cvxDwgUserSymObjGet(const int idSymUser, int *nObj, int** idObjs);
int cvxDwgSetRefPart(const char *File, const char *Root, int idxView, svxCompName *oldPart, svxCompName *newPart);
int cvxFaceIsPlanar(int idFace);
int cvxCrvIsLine(int idCurve);
int cvxPartRib(svxRibData *Rib, int *idRib);
int cvxPartLip(svxLipData *Lip, int *idLip);
int cvxPartStock(svxStockData *Stock, int *idShape);
int cvxPartThicken(svxThickenData *Thicken, int *idShape);
int cvxPartDivide(svxDivideData *Divide, int *numShape, int **idShapes);
int cvxPartSimplify(int numEnts, int *idEnts, int *idSimplify);
int cvxPartInlay(svxInlayData *Inlay, int *idInlay);
int cvxPartSmdDimple(svxDimpleData *Dimple, int *idDimple);
int cvxPartMirrorGeom(svxMirrorGeom *Mirror, int *NumNewEnts, int **idNewEnts);
int cvxPartMirrorFtr(svxMirrorFtr *Mirror, int *idFtr);
int cvxFaceRadialIntegrity(int idFace, double *URatio, double *VRatio);
int cvxVecParallelChk(int Orient, svxVector *V1, svxVector *V2, double CosTol);
int cvxPntEntLoc(svxPoint *Pnt, int idEntity, evxPntLocation *PntLoc);
int cvxMatPntVecs(svxPoint *Origin, svxVector *xAxis, svxVector *yAxis, svxMatrix *Mat);
int cvxPartInqEdgeOpen(int idEdge);
int cvxPartCurveChainFind(int nSeeds, int *idSeeds, int type, int *Count, int **idCrvs);
int cvxPartFaceEdgesFind(int nSeeds, int *idSeeds, evxEdgeLoopType type, int *Count, int **idEdges);
int cvxPartActiveAsLCS(int id);
int cvxPartInqEdgeShape(int idEdge, int *idShape);
int cvxPartExtendFace(svxExtendData *data, int*newFtr);
int cvxPartInqEqnAssociatedSet(int idEqn, int* idSet);
int cvxPartEqnDelete(int idEqn);
int cvxPartVarGetById(int idEqn, svxVariable* Variable);
int cvxEqGetDescById(int idEqn, char* desc, int size);
int cvxEqSetDescById(int idEqn, char* desc);
int cvxEqRegen(int idEqn);
int cvxPartInqEqnAllId(int* cntList, int** idList, int* cntSets, int** idSets);
int cvxPartInqEqnSetMembers(int idSet, int* count, int** idList);
int cvxFormGetSize(const char* Form, int *Width, int *Height);
int cvxFormResize(char* Form, int Width, int Height);
int cvxFormAdjustSize(const char* Form);
int cvxTreeGetColumnCount(const char* form, int field);
int cvxTreeGetColumnWidth(const char* form, int field, int col);
void cvxTreeSetColumnHidden(const char* form, int field, int col, int hide);
int cvxTreeIsColumnHidden(const char* form, int field, int col);
int cvxTreeSetItemFlag(const char*form, int field, int count, int *ids, int flag);
int cvxTreeGetItemFlag(const char*form, int field, int id, int* flag);
int cvxTreeSetItemTextColor(const char*form, int field, int id, int col, svxColor* color);
int cvxTreeDeleteSubItem(const char*form, int field, int id);
int cvxTreeEditItemByComboBox(const char *form, int field, int id, int col, const char *Options, const char *Images, int curIndex);
int cvxTreeItemIsExpand(const char*form, int field, int id);
int cvxTreeExpandItem(const char*form, int field, int id, int option);
void cvxTreeExpandAll(const char*form, int field);
void cvxTreeCollapseAll(const char*form, int field);
int cvxTreeAutoResizeColumn(const char *form, int field, int col);
int cvxCmdExecWithOut(int idData, int *idOut);
int cvxSkEllipse(svxEllipse *ellipse, int *idEnt);
int cvxPartSkPlane(svxSketchData *SkData, int *idSketch);
int cvxPartLoft(svxLoftData *Loft, int *idShape);
int cvxPartShapeFaceOffset(svxFaceOffData *Offset, int *idOffset);
int cvxPartPatternGeom(int Count, int *idEnts, const svxPtnGeom *Pattern, int *idPattern);
int cvxPartPatternFtr(int Count, int *idFtrs, const svxPtnFtr *Pattern, int *idPattern);
int cvxPartInterXCurve(const svxInterCrvData *pSurf, int *idFtr);
int cvxPartCone(svxConeData *Cone, int *idShape);
int cvxPartSphere(svxSphereData *Sphere, int *idShape);
int cvxPartEllipsoid(svxEllsoData *Ellso, int *idShape);
int cvxEntPathAddPick(svxEntPath *entPath);
int cvxSkPnt(svxPoint2 *Point, int *idEnt);
int cvxSkSetWireType(int nEnt, int *idEnt, int type);
int cvxMacroInqPath(vxPath path, vxLongName file);
int cvxListCallbackParamGet(const char* form, int idField, svxListCallBackParam* param);
int cvxPartTrim(svxTrimData *Trim, int *numShape, int **idShapes);
int cvxDimInqTxtPnt(int idDim, svxPoint *TextPnt);
int cvxDimModTxtPnt(int idDim, int center, svxPoint *TextPnt);
int cvxDimInqDimBundles(int idDim, int *Number, int **idBundles);
int cvxDimInqTextType(int idDim, int *Type);
int cvxDimModTextType(int idDim, int Type, char* text);
int cvxPartChamferAll(const svxChamFlltData *Chamfer, int *idChamfer);
int cvxPartFilletAll(const svxChamFlltData *Fillet, int *idFillet);
void cvxTableCellTipSet(const char* Form, int idTable, int Row, int Col, const char* tip);
void cvxTableCellTipGet(const char* Form, int idTable, int Row, int Col, char* tip, int nBytes);
int cvxPartFtrUserAtGet(int idFeature, int *Count, svxAttribute** UserAt);
int cvxPartFtrUserAtSet(int idFeature, int Count, svxAttribute* UserAt);
int cvxPartFtrUserAtDel(int idFeature, int Count, svxAttribute* UserAt);
int cvxCompUserAtGet(svxEntPath *Comp, int *Count, svxAttribute** UserAt);
int cvxCompUserAtSet(svxEntPath *Comp, int Count, svxAttribute* UserAt);
int cvxCompUserAtDel(svxEntPath *Comp, int Count, svxAttribute* UserAt);
int cvxCmCompInqInfo(int *compCnt,vxLongName **compNames,vxLongName **compPaths);
int cvxCmSetOpPoint(int idx_op,svxPoint p0,int field);
int cvxCmSetOpPoints(int idx_op,int num,svxPoint *pts,int field);
int cvxCmFtrInsertNew(evxCmFtrType ftrType,int cnt,int *geom,double *depths,int *idx_FtrGrp);

New types:
svxSewData - faceset sew data
svxTrimPlnData - trimmed plane data
svxExtendData - Extend face data
svxPARAData - Parasolid export data
svxCAT5Data - CATIA V5 export data
svxHTMLData - Html export data
svxListCallBackParam - Listwidget Event data
evxUiEvt - Listwidget Event type
svxDivideData - Divide command data
svxTrimData - Trim command data
svxPtnGeom - Pattern geometry data
svxPtnFtr - Pattern feature data
svxPtnData - Pattern command base input data(the same input of "Pattern geometry" and "Pattern feature")

-------------------------------------------------------------------------
26.11

New functions:
int cvxPartInqAsmFtrList(vxLongName File, vxLongName Part, int *Count, int **Features);
int cvxPartUDFInit(vxPath udfPath);
int cvxPartUDFInqFlds(int *cnt, svxUDFParam** fldParams);
void cvxPartUDFTerm();
int cvxPartUDFExplode(int idFtr);
int cvxPartUDFInqPath(int idFtr, vxPath file);
int cvxPartUDFInqSubFtrs(int idFtr, int* count, int** ftrList);
int cvxPartInqFaceSrfPrim(int idFace, svxSrfPrim *SrfPrim);
int cvxFaceIsConcave(int idFace);
int cvxIsectRayShapes(int nShapes, int *idShapes, evxFaceTrim, svxAxis*, int *Number, svxPoint**, int**);
int cvxIsectRayComps(int nComps, svxEntPath *CompPaths, evxFaceTrim, svxAxis*, int *Number, svxPoint** Points, svxEntPath** FacePaths);
int cvxCompInqPartByPath(svxEntPath *CompPath, vxLongName fileName, vxLongName partName);
int cvxDwgInqViewMod(int idDrawing, int *modified);
int cvxViewSetBndBox(double Scale, const svxBndBox *BndBox);
int cvxSkInqPlane(int idSketch, svxEntPath *plnPath);
int cvxPartInqAsmFolders(vxLongName File, vxLongName Part, int type, int *count, int **Folders);
int cvxPartInqAsmFldChildEnts(vxLongName File, vxLongName Part, int idFolder, int incSubFld, int *count, int **Ents);
int cvxSkInqReadyText(int idSketch, int *Count, int **idEnts);
int cvxSkReadyTextInqText(int idRdText, char **Text, vxLongName Font, double *Size, int *Style, double *Spacing);
int cvxSkReadyTextModText(int idRdText, char *Text, vxLongName Font, double Size, int Style, double Spacing);
int cvxSkReadyTextInqCrvs(int idRdText, int *Count, int **idCrvs);
int cvxSkAddGeomCons(evxGeomConsType type, int subType, int nGeoms, svxConsGeom *geoms, int *Count, int **idCons);
int cvxSkInqCnsType(int idCons, evxGeomConsType *type, int *subType);
int cvxSkInqCnsGeoms(int idCons, int *Count, svxConsGeom **geoms);
int cvxPartInqPMIDimEnts(int idDim, int *Count, svxEntPath **EntPaths);
int cvxSkInqAxis(int idSketch, int *xAxis, int* yAxis);
int cvxDimInqState(int idDim, evxDimState *state);
void cvxReadyTextFree(svxReadyText *RdText);
int cvxPartInqEntBox(int idEnt, svxMatrix *Mat, svxBndBox *Box);
int cvxPartFaceFind(svxFaceFind *findData, int *Count, int **idFaces);

New types:
svxSrfPrim - 3D NURB surface type

-------------------------------------------------------------------------
26.00

New functions:
int cvxLayerInqEnts(int Number, int *numEnt, int **idEnts);
int cvxDwgViewRefCompVisSet(int idView, vxLongName fileName, vxLongName partName, int show);
int cvxPartAddAngleDim(int idEnt1, int idEnt2, svxPoint *TextPnt, int idPlane, int *idDim);
int cvxPartAddChamferDim(int idEnt1, int idEnt2, svxPoint *TextPos, int idPlane, int *idDim);
int cvxPartAddRadDim(int idEnt1, int radRype, const char *, svxPoint *TextPos, int idPlane, int *idDim);
int cvxPartAddArcDim(int idEnt, const char *text, svxPoint *TextPnt, int idPlane, int *idDim);
int cvxPartAddDatumDim(int idEnt1, svxPoint *leadPnt, svxPoint *TextPos, char *text, int idPlane, int *idDim);
int cvxPartAddDatumTargetDim(int idEnt1, int radRype, double diameter, double width, double height, svxPoint *leadPnt, svxPoint *txtPos, char *text, int idPlane, int *idDim);
int cvxPartAddFcsDim(int idEnt1, svxPoint *leadPnt, svxPoint *TextPos, char *text, int idPlane, int *idDim);
int cvxPartAddSymSrfDim(int idEnt1, svxPoint *leadPnt, svxPoint *TextPos, svxRoughTexts *textGrp, int idPlane, int *idDim);
int cvxPartAddLabelDim(int idEnt1, svxPoint *leadPnt, svxPoint *TextPos, char *text, int idPlane, int *idDim);
int cvxAppAction(evxAppAction type, svxAppActionParam* param);
int cvxDwgViewRefEntAtGet(int idRefEnt, int *clrByView, int *typeByView, int *widthByView, svxLineAt *entAt);
int cvxDwgViewRefEntAtSet(int idRefEnt, int clrByView, int typeByView, int widthByView, const svxLineAt *entAt);
int cvxDwgUserTableCreateByTemplate(vxName name, vxPath tplPath, svxPoint2 *pnt, int origin, int *idTable);
int cvxDwgTableRowHeightSet(int idTable, int Row, double Height);
int cvxDwgTableColWidthSet(int idTable, int Col, double Width);
int cvxDwgGetTableSize(int iTblIdx, int *pRowNum, int *pColNum);
int cvxDwgTableRowInsert(int idTable, int Row);
int cvxDwgTableRowDelete(int idTable, int Row);
int cvxDwgTableColInsert(int idTable, int Col);
int cvxDwgTableColDelete(int idTable, int Col);
int cvxDwgTableCellAtGet(int idTable, int Row, int Col, svxTextAt *TextAt);
int cvxDwgTableCellAtSet(int idTable, int Row, int Col, svxTextAt *TextAt);
int cvxTreeSetItemCheckable(const char *form, int field, int id, int checkable);
evxTreeCheckState cvxTreeGetItemCheckState(const char *form, int field, int id);
void cvxTreeSetItemCheckState(const char *form, int field, int id, evxTreeCheckState checkState, int extToChild);
int cvxTreeGetPrevSiblingItem(const char*form, int field, int id, int* prevId);
int cvxTreeGetNextSiblingItem(const char*form, int field, int id, int* nextId);
int cvxTreeMoveItems(const char *form, int field, int numNodes, int *ids, int insParentId, int siblingId);
int cvxLayerGetAllCategory(int *numCate, vxLongName** categories);
int cvxLayerInfoExport(vxPath file);
int cvxLayerInfoImport(vxPath file, int overWrite);
int cvxCmFrameInsert2(vxName frame_name, svxMatrix frame_mat, int *idx_frame);
int cvxCmOpGetIdxFromName(vxLongName op_name,int *op_index);
int cvxCmInqIndexFromName(evxCmObjType objClass, vxLongName sName, int *index);
int cvxFileNewSingle(vxPath fileName, evxFileType fileType, evxFileSubtype fileSubtype, const char * templateName, char* fileDescription);
int cvxDataGetItemList(int idData, int idField, int *Count, int **idItems);
int cvxDataGetItemData(int idItem, svxData *Data);
void cvxDataInqActive(int *idData);
int cvxCmdAction(evxCmdAction type, svxCmdActionParam* param);
int cvxFileKeep(int fKeepOpen);
int cvxPartUserAtGet(vxLongName File, vxLongName Root, int *Count, svxAttribute** UserAt);
int cvxPartUserAtSet(vxLongName File, vxLongName Root, int DelOrgAt, int Count, svxAttribute* UserAt);
int cvxPartAtItemGetInFile(vxLongName File, vxLongName Root, evxAtItemId itemId, svxAttribute *At);
int cvxPartAtItemSetInFile(vxLongName File, vxLongName Root, evxAtItemId itemId, svxAttribute *At);
int cvxPartAtItemLockGetInFile(vxLongName File, vxLongName Root, char* AtLable, evxAtItemLockStatus* AtLockState);
int cvxPartAtItemLockSetInFile(vxLongName File, vxLongName Root, char* AtLable, evxAtItemLockStatus AtLockState);
int cvxPartInqFtrGroup(int idFeature, int *idGroup);
int cvxSrfAxis(svxSurface*, svxPoint *startPnt, svxPoint *endPnt);
int cvxFileLoadList(int state, int *count, vxLongName **fileList);
int cvxFileSessionClear(vxLongName file);
int cvxCompInqConstraints(svxEntPath *CompPath, int *count, int **cons);
int cvxConsInqType(int idCons, evxConsType *consType);
int cvxConsInqRefEnts(int idCons, int *count, svxEntPath **entPaths);
int cvxPartInqConstraints(vxLongName File, vxLongName Part, int *count, int **cons);
int cvxEntClassNumByPath(svxEntPath *entPath);
int cvxFaceInqBend(int idFace, int *bendFlag, double *bendRad, double *neutralRad, double *angle, double *thick, double *kFactor, double *flatTol);
int cvxCompInqConsState(int idComp, evxConsState *consState);
int cvxPartInqFtrParentFtrs(int idFeature, int getAll, int *cnt, int **list);
int cvxPartInqFtrChildFtrs(int idFeature, int *cnt, int **list);
int cvxDwgInqSymType(int idSym, evxSymbolType *type);
int cvxDwgSymLinkGet(const int idSymLink, vxPath filePath);
int cvxDwgSymLinkExport(const int idSymLink, vxPath filePath);
int cvxDwgInqSymEnts(int idSym, int *Count, int **idEnts);
int cvxDwgInqViewType(int idView, evxViewType *type);
int cvxDwgInqDimGripPnts(int idDim, int *Num, svxPoint **Pnts);
int cvxDwgDimAtGet(int idDim, svxDimAttr *dmAttr);
int cvxDwgDimAtSet(int idDim, svxDimAttr *dmAttr);
int cvxDwgViewInqRefEnts(int viewId, int *count, int **idRefEnts);
int cvxDwgRefEntDataGet(int idRefEnt, svxRefEntData *data);
int cvxRootAtItemGet(vxLongName file, vxLongName root, evxAtItemId itemId, svxAttribute *at);
int cvxRootAtItemSet(vxLongName file, vxLongName root, evxAtItemId itemId, svxAttribute *at);
void cvxAuxFrameSetDirXYZOrgBuddy(int idData, int idXFld, int idYFld, int idZFld, int idOrgFld);
void cvxMoveSetAuxFrameElem(int iElem);
int cvxFormFieldGetCallback(const char* form, int field, void** callback);
void cvxDatumLocalVis(int iVisible);
int cvxTableUnselectAll(const char* Form, int idTable);
int cvxDataDelItem(int idData, int idField, int iEnt);
void cvxPickDataClear();
int cvxMoldCompGetBndBox(int iCompCnt, int* pCompList, svxBndBox* pBnd);

Modified functions:
int cvxFileAction(evxDocAction type, svxDocActionParam *param);
int cvxDataGrpRem(int idData, int idField, int index);
int cvxDwgInqBorderTitle(int idDrawing, int *idBorder, int *idBorderSkt, int *idTitle, int *idTitleSkt);
int cvxDwgViewGeomInqList(int viewId, int option, int *count, int **indices);
int cvxCmFtrInsert(evxCmFtrType ftrType,int idx_CmComp,int cnt,int *geom,int *idx_FtrGrp);

Modified types:
svxCompData - Add a variable CopyPart for to indicate if it needs to copy part.
evxDocAction - Add newFile action type of enumeration.
svxDocActionParam - modify callback function.
evxTableType - Add a new type of revision table.
evxCmFtrType - Add some new feature types.

New types:
svxRoughTexts - surface roughness text data.
evxAppAction - application action type.
svxAppActionParam - application action parameters.
evxCmdAction - command action type.
svxCmdActionParam - command action parameters.

Notes:
cvxDataGetItem() - The previously undocumented function cvxDataGetItem has
been renamed to cvxDataGetItemData and is now published in the API documentation
under that new name.

-------------------------------------------------------------------------
25.00

New functions:
int cvxTableSetSelRange(const char* Form, int idTable, svxRectangle *SelRange, int bSelect);
int cvxPartInqShapeOpen(int idShape, int *isOpen);
int cvxIsectFaceFace(int idFace1, int idFace2, evxFaceTrim Trim, int TangentOk, int *Count, svxCurve **Curves);
int cvxFilterActiveGet(vxName Filter);
int cvxFileNameCheck(char* fileName,int nBytes);
int cvxPartCalcAttrGet(int idPart,svxPartCalcAttrData* attr);
int cvxCompGetRefPart(int *Count, vxLongName** FileName, vxLongName** RootName);
int cvxRootRenameMulti(int Count, vxLongName *FileName, vxLongName *RootName, vxLongName *NewFileName, vxLongName *NewRootName, int fDelOriginal);
int cvxPartAtItemDel(evxAtItemId itemId, vxLongName label);
int cvxDwgUserTableCreate(vxName name, int iRow, int iCol, svxPoint2 *pnt, int origin, int *idTable);
void cvxDwgTableCellsMerge(int idTable, int minRow, int maxRow, int minCol, int maxCol, int kFirstData);
void cvxDwgTableCellsUnMerge(int idTable, int minRow, int maxRow, int minCol, int maxCol);
int cvxCompVisGet(svxEntPath *CompPath, int *Vis);
int cvxCompVisSet(svxEntPath *CompPath, int Vis);
void cvxCompHighlight(svxEntPath*CompPath, svxColor *color);
void cvxCompUnHighlight(svxEntPath*CompPath);
int cvxGetEntPath(char *Prompt, evxEntInpOpt Opt, int EmptyOk, svxEntPath *Path);
int cvxGetEntPaths(char *Prompt, evxEntInpOpt Opt, int EmptyOk, int *Count, svxEntPath **Paths);
int cvxEntInqPathSelected(int *Count, svxEntPath **Paths);
int cvxPartUserAtExport(vxLongName filePath);
int cvxCompInqRenderMode(svxEntPath *CompPath, int *RenderMode);
int cvxCompIsUnplaced(int idx_Comp, int* isUnplaced);
int cvxCompSetRenderMode(svxEntPath *CompPath, int RenderMode);
int cvxCrvLen2(int idCurve, double T1, double T2, double *Length);
int cvxCrvGetPntAtDist(int idCurve, double StartT, double Length, double *T, svxPoint *Point);
int cvxPartInqVertexEdges(int idEdge, int EndPnt, int *Count, int **Edges);
int cvxPartInqAxis(int *Count, int **Axis);
int cvxPartInqCsys(int *Count, int **Csys);
int cvxPartInqFaceFillet(int idFace, int *isFilletFace);
int cvxFaceRadius(int idFace, double *Radius);
int cvxDwgGeomGetView(int idGeom, int *idView);
int cvxDwgInqBorderTitle(int idDrawing, int *idBorder, int *idBorderSkt, int *idTitle, int *idTitleSkt);
int cvxDwgSymWeldDataGet(const int idSymWeld, svxSymWeld* data);
int cvxDwgSymWeldDataSet(const int idSymWeld, const svxSymWeld* data);
int cvxCrvInqContinuity(int Count, int *Curves, int *Continuity);
int cvxCustomViewAdd(char *Name, int LyrVis, int ObjVis, int *idView);
int cvxCustomViewActivate(int idView);
int cvxCustomViewDel(int idView);
int cvxCustomViewId(vxName Name, int *idView);
int cvxCompFaceAtGet(const svxEntPath *CompPath, svxFaceAt *At);
int cvxCompFaceAtSet(int Count, svxEntPath *CompPath, svxFaceAt *At);
void cvxFormLogKill(char *Form);
int cvxLicTypeCheck();
int cvxDatumDispModeGet(int idDatum, evxDatumDispMode *DispMode);
void cvxDatumDispModeSet(int idDatum, evxDatumDispMode DispMode);
int cvxPartAtItemDesGet(evxAtItemId itemId, char* AtLable, char* AtDes, int nBytes);
int cvxPartAtItemDesSet(evxAtItemId itemId, char* AtLable, char* AtDes);
int cvxPartAtItemLockGet(char* AtLable, evxAtItemLockStatus* AtLockState);
int cvxPartAtItemLockSet(char* AtLable, evxAtItemLockStatus AtLockState);
int cvxPartInqLoopInner(int idLoop, int *isInner);
void cvxRibbonSetStatus(int enable);
int cvxSrfDiameterEval(svxSurface*, double U, double V, double *Diameter);
int cvxEntGetAngle(int ent1, int ent2, double *angle);
int cvxDwgInqDimEnts(int idDim, int *count, int **idEnts);
int cvxCmInqOpName(int idx_op, vxLongName opName);
int cvxSkIsCosmetic(int IdSketch);
int cvxFileAction(evxDocAction type, svxDocActionParam *param);

Modified functions:
int cvxFileExport(evxExportType Type, vxPath Path, void* Data);

Modified types:
svxImportData - Add a reserved variable, which should be NULL for API developers currently.

New types:
evxDocAction - File action type.
svxDocActionParam - File action parameters.

-------------------------------------------------------------------------
24.00

New functions:
void cvxEchoColorAtSet(svxWireAt *at);
void cvxEchoColorAtGet(svxWireAt *at);
int cvxEntLayerId(int idEntity, int* LayerId);
int cvxTableComboSet2(const char* Form, int idTable, int Row, int Col, char *Options, char *Images);
int cvxTableIndexComboSet2(const char* Form, int idTable, int Row, int Col, char *Options, char *Images);
int cvxTableInputComboSet2(const char* Form, int idTable, int Row, int Col, char *Options, char *Images);
int cvxTableComboSetOption(const char* Form, int idTable, int Row, int Col, int Index, char *IdxText);
int cvxTableComboGet(const char* Form, int idTable, int Row, int Col, int* Index, char* Text, int nBytes);
int cvxTableCellTextSet2(const char* Form, int idTable, int Row, int Col, char* Text, char* Image);
int cvxTableCheckSet(const char* Form, int idTable, int Row, int Col, int Check);
int cvxTableIsCheck(const char* Form, int idTable, int Row, int Col);
int cvxTableDateSet(const char* Form, int idTable, int Row, int Col, int Date, evxDateType DateType);
int cvxTableDateGet(const char* Form, int idTable, int Row, int Col, int* Date, evxDateType* DateType);
int cvxTableColorSet(const char* Form, int idTable, int Row, int Col, const svxColor* Color, int ClrIdx, uchar Type);
int cvxTableColorGet(const char* Form, int idTable, int Row, int Col, svxColor* Color, int ClrIdx, uchar* Type);
int cvxTableNumSet(const char* Form, int idTable, int Row, int Col, const char* Num);
int cvxTableNumGet(const char* Form, int idTable, int Row, int Col, char* Num, int Bytes);
int cvxTableTypeGet(const char* Form, int idTable, int Row, int Col, evxTableCellType* Type);
int cvxTableCallBackParamGet(const char* Form, int idTable, svxTableCallBackParam* Param);
void cvxTableCallBackParamFree(svxTableCallBackParam *param);
void cvxTableCellEnableSet(const char* Form, int idTable, int Row, int Col, int State);
int cvxTableRowInsert(const char* Form, int idTable, int Row);
int cvxTableRowRemove(const char* Form, int idTable, int Row);
int cvxTableRowCnt(const char* Form, int idTable);
int cvxTableColInsert(const char* Form, int idTable, int Col);
int cvxTableColRemove(const char* Form, int idTable, int Col);
int cvxTableColCnt(const char* Form, int idTable);
int cvxMessageBox(int MsgType, int WndMode, const char* Title, const char* Message, const char* Btn1Str, const char* Btn2Str, int* Action);
int cvxEntLineAtGet(int idLine, svxLineAt* At);
int cvxEntLineAtSet(svxLineAt* At, int Count, int* idEnts);
int cvxPartCopyTransformList(const int Count, const int* Entities, const svxMatrix *Mat, int* EntCnt, int **idList);
void cvxFilterListGet(int *count, vxName *filterList);
void cvxDispZoomAllIncludeDim(int Redraw);
void cvxEntUnPickAll();
void cvxEntUnPickLast();
void cvxAuxFrameShow(int idData, int entField, int matField);
void cvxVisDispStatusGet(evxVisualDispItem Item, int *isOn);
int cvxDataGetMatrix(int idData, int idField, svxMatrix *Matrix);
int cvxEntIsElectrode(int idEntity);
int cvxTableGetSelRange(const char* Form, int idTable, int *RangeCnt, svxRectangle **SelRange);
int cvxPartInqCrvLists(int *Count, int **CrvLists);
int cvxPartInqAnnoTexts(int *Count, int **Texts);
int cvxPartAddLineDim(int idEnt1, int idEnt2, svxPoint *TextPos, int idPlane, int *idDim);
int cvxPartAddSymmetryDim(svxPntOnEnt iEntId, svxPntOnEnt iCenterLineId, svxPntOnEnt TextPnt, int idPlane, int* idDim);
int cvxPartAddCoorDim(svxPoint *LeaderPnt, int idParent, svxPoint *TextPnt, int idDatum, int idPlane, int *idDim);
int cvxEntGetDistance(int ent1, int ent2, svxPoint *p1, svxPoint *p2, double *dist);
int cvxDimInqPos(int idDim, svxPoint *pPos);
void cvxColorFilter(int colorIdx);
int cvxCrvEval2(const int idCurve, const double t, const int level, svxEvalCurv* eval);
int cvxCrvEvalCrvtr(const int idCurve, const double t, svxPoint *point, svxPoint *normal, double *curvature);
int cvxFaceGetMaxCurvature(const int, const svxPoint2, svxPoint *, svxPoint *, svxPoint *, double *, double *, double *, svxPoint *, svxPoint *);
int cvxFaceGetArea(const int faceId, const double tolerance, double *area);
void cvxDispZoomAt(const svxPoint point, const float factor);
int cvxDispWindowRectGet(const int includeFrame, const int isGlobal, int* x, int* y, int* h, int* w);
int cvxDimInqType(int idDim, evxDimType *type);
int cvxDwgSymSurfDataGet(int idSymSurf, svxSymSurf*data);
int cvxDwgSymSurfDataSet(int idSymSurf, svxSymSurf*data);
int cvxEntRgbSetNoAt(svxColor Color, int Count, int *idEnts);
int cvxCompIferCheck(svxEntPath *BaseComp, svxEntPath *ChkComp, int SubAsmAsWhole, int IgnoreHidden, int *IferCnt, svxIferChkResData **IferResults);
int cvxCompInqPaths(svxEntPath *CompPath, int Depth, int IgnoreHidden, int *PathCnt, svxEntPath **lstPath);

Modified functions:
int cvxDwgDimAtGet(int idDim, svxDimAttr *dmAttr);
int cvxDwgDimAtSet(int idDim, svxDimAttr *dmAttr);
int cvxLayerInfoGet(int number, svxLayerInfo *pLayerInfo);
int cvxLayerInfoSet(int number, const svxLayerInfo *pLayerInfo);
int cvxFieldInitFont(const char *Form, int idField, const char *Name, int hasZwFont);
int cvxPartSkIns2(vxLongName File,vxLongName Name,int idPlane,int iAsso,int*idSketch);

New types:
svxWireAt - wire attribute for echo.
svxLineAt - entity line attribute
evxVisualDispItem - visual display item
svxSymSurf - surface roughness data

Modified types:
evxInfoLayerFlag - Add VX_LAYER_INFOR_FLTR types.
svxLayerInfo - Add category to store filter information of layer.
svxConsDim - Add dimTxtOrient, LeaderAlign, trmTyp1, trmTyp2, dimLineSize, extLineSize, dimLineType, extLineType, dimTxtBold, dimPrefixFlag.
evxDimType - Add some new types.

-------------------------------------------------------------------------
23.10

New functions:
int cvxSkAddPolyline(int cntPnt, svxPoint2* pnts, int addCns);
int cvxTableCellTextSet(char *Form, int idTable, int Row, int Col, char*text);
int cvxTableCellTextGet(char *Form, int idTable, int Row, int Col, char*text, int nBytes);
int cvxPathSet(vxPath path);
char cvxFileInqAssemMode(void);
int cvxPartInqFtrRegenStat(int idFeature, char *stat);
int cvxDwgGetDimTextBox(int idDim, double *tbWid, double *tbHgt, double *chSlp, svxPoint2 *txtPt);
int cvxDimValModNoUpdate(int idDim, char* exp);
int cvxRootIsAsm(vxLongName File,vxLongName Part,int *isAsm);
int cvxEntTextLocGet(int idText, svxTextLoc *loc);
int cvxDimInqText(int idDim, int subDim, char **pStr);
int cvxDwgViewPnt3DTo2D(int viewId, svxPoint pnt3D, svxPoint2 *pnt2D);
int cvxUserActionStatusSet2(int type, int value);

Modified types:
evxExportType - Add VX_EXPORT_TYPE_IGES and VX_EXPORT_TYPE_STEP types.
evxAtItemId - Add VX_AT_SHEETPATH, VX_AT_CAMPATH and VX_AT_SHEETCODE.

-------------------------------------------------------------------------
23.00

Modified types:
svxExtrudeData - Add numBooleanEnts and *BooleanEnts to support combine extrusion with
specified shapes.

Modified functions:
cvxPartEncapsulate - Two new arguments were added to control the form of encapsulation
used and to specify whether or not to keep feature dimensions.

New function:
void cvxSetMSMMoldInstalled(int IsInstalled);
void cvxSetMSMPressInstalled(int IsInstalled);
int cvxDataSetPntByPath(int idData, int idField, svxEntPath *, svxPoint*);
int cvxShellAtGet(int, svxPartAttribute *At);
int cvxShellAtItemGet(int, evxAtItemId itemId, svxAttribute *At);
int cvxShellAtItemSet(int, evxAtItemId itemId, svxAttribute *At);
int cvxPartDelGrpFtr(int idFtr, int delFtrs);
int cvxPartFtrPlayTo(int, int);
int cvxPartInqPoints(int *count, int **histObjIdx);
int cvxXnUndoCount();
void cvxXnBundle(int iCount, const char* xn_name);
int cvxConfigSetColor(const char *Name, evxColor Color);
int cvxConfigSetInteger(const char *Name, int Value);
int cvxConfigSetNumber(const char *Name, double Value);
int cvxConfigSetOption(const char *Name, const char* Option);
int cvxConfigSetRgb(const char *Name, svxColor *Rgb);
int cvxConfigSetString(const char *Name, char *Str);
int cvxConfigSetYesNo(const char *Name, int YesNo);
int cvxDwgViewRotate(int idView, double angle);
int cvxDwgTableAdjustSize(int idTable);
int cvxDwgViewGeomGetShapeId(int geomId, char *fileName, int fileNameBytes, char *partName, int partNameBytes, svxEntPath *pickPath, int *geom3DId, int *shapeId);
int cvxDwgViewGeomInqList(int viewId, int option, int *count, int **indices);
int cvxDwgViewPnt2DTo3D(int pnt2DId, svxPoint *pnt3D);
int cvxItemGetCheckState(char *Form, int idField, int idItem, int *checkState);
int cvxDimModTxt(int idDim, int subDim, char *pStr);
int cvxPathIsDebug(const char *FolderName);
int cvxAssemCompVisAll(int *nSize, int **ppath_mode);
int cvxEntGetInhSubIdx(int idx_ent, int klass, int sub_class, int *subIdx);
int cvxInstPartAsShp(const svxCompData *,);
int cvxInstShpGetMatrix(int idShape, svxMatrix *Matrix);
void cvxFileInqOpen(char* Name, int nBytes);
int cvxFieldEnableGet(char *Form, int idField);
int cvxAsmUpdateCompRef(const char *, const char *);
int cvxLibPartIns(const svxCompData *Comp, const char *InstanceName, const char *ValStr, int fFileType, int fInsShape, int *idComp);
int cvxLibPartAdjust(int idComp, const vxLongName File, const vxLongName Part, const char *ValStr, const char *InstanceName);
int cvxEntSetNameTag(int idx_ent, char *name);
int cvxTreeItemsCount(const char*form, int field);
void cvxTreeSetColumnCount(const char* form, int field, int count);
int cvxTreeHeaderGetSize(const char* form, int field, int* wid, int* hi);
void cvxTreeSetHeaderText(const char* form, int field, int col, const char* text);
int cvxTreeSetHeaderTextAlignment(const char* form, int field, int col, evxAlignFlag align);
void cvxTreeSetColumnWidth(const char* form, int field, int col, int width);
int cvxTreeSetSelectionMode(const char* form, int field, int mode);
int cvxTreeSetSelectionBehavior(const char* form, int field, int behavior);
int cvxTreeAddItem(const char *form,int field,int parentId,int siblingId,const char *label,
    int imgIdx,int folderIdx,evxTreeItemType itemType,int dbIdx,int itemflag,int *outItemId,const char* cmdName);
int cvxTreeSetItemIconNameByColumn(const char *form, int field, int id, int col, const char* iconName);
int cvxTreeSetItemTextByColumn(const char* form, int field, int id, int col, const char* text);
void cvxTreeGetItemTextByColumn(const char* form, int field, int id, int col, char* text, int size);
int cvxTreeSelectItem(const char *form, int field, int id);
int cvxTreeUnselectAll(const char *form, int field);
int cvxTreeIsItemSelected(const char*form, int field, int id);
int cvxTreeGetDBIdByItem(const char *form, int field, int id, int*dbid);
int cvxTreeGetCbParam(const char*form, int field, int id, svxTreeCbParam* param);
int cvxTreeDeleteItem(const char*form, int field, int id);
int cvxTreeEditItemByLineEdit(const char *form, int field, int id, int col, const char *defaultLabel);
int cvxTreeGetChildItem(const char*form, int field, int id,int index, int*child);
int cvxTreeGetChildrenCount(const char*form, int field, int id,int *count);
int cvxTreeGetParentItem(const char*form, int field, int id, int *parent);
int cvxTreeGetDescendants(const char *sName, int field, int isAll, int parent, int *num, int **ids);
int cvxTreeGetSelectedItems(const char *form, int field, int *count, int **ids);

-------------------------------------------------------------------------
22.10

New functions:
int cvxSkAddConsDim(evxConsDimType type, svxConsDim* pData);
int cvxSkBlockInqRefs(int idBlock, int*count, int**idEnts);
int cvxDwgViewInqOrgPnt(int idView, svxPoint2*pnt, int *idEnt);
int cvxFileInqAsm(char* Name, int nBytes);
void cvxMsgDisp2(char *Text, int leval);
int cvxLayerExists2(int Number);
int cvxLayerIdModify(int srcNumber,int tarNumber);

--------------------------------------------------------------------------
22.00

New functions:
int cvxPartCfgActivate(int idCfg);
int cvxPartPhyAttrCalc(vxLongName Name);
int cvxPartAtItemGet(evxAtItemId itemId, svxAttribute *At);
int cvxPartAtItemSet(evxAtItemId itemId, svxAttribute *At);
int cvxPartShapeStructGet(int idShape, svxWeldAttr *at);
int cvxCompSuppressGet(int idComp, int *suppress)
int cvxPartInqCfgList(int *Count, int **CfgList);
int cvxPartInqActiveCfg(int *idCfg);
int cvxFileInqAssociatedList(int *count, vxPath ** fileList);
int cvxEntTextNew(char* String, int Type, svxPoint2 Pnt[2], int*idEnt);
int cvxEntTextAtGet(int idText, svxTextAt*At);
int cvxEntTextAtSet(int idText, svxTextAt*At);
int cvxDwgTableExport(int idTable, vxPath path);
int cvxDwgInqGeom(int idDrawing, int *count, int **idEnts)
int cvxDwgSymImgNew(svxSymImg*data, int embed, int locked, int *idSymImg);
int cvxDwgSymImgAtSet(int idSymImg, svxSymImg*data);
int cvxDwgSymImgAtGet(int idSymImg, svxSymImg*data);
int cvxDwgInqText(int idDrawing, int *count, int **idEnts)
int cvxDwgAtItemGet(evxAtItemId itemId, svxAttribute *At);
int cvxCmdMacro2(char *path);
void cvxUserActionStatusGet(int *disableStatus);
void cvxUserActionStatusSet(int disable);
int cvxDwgTableLinkToExcel(int idTable, vxPath path);
int cvxDwgTableCellSet(int idTable, int Row, int Col, char* Value);
int cvxCompSuppress(int idComp, int suppress);
int cvxDwgTableCellGet(int idTable, int Row, int Col, char* Value, int nBytes);
int cvxFileImport(svxImportData *importData);
int cvxSkBlockInqDim(vxLongName blockName, int *Count, int **idEnts);
int cvxDwgDimAtGet(int idDim, svxDimAttr *dmAttr);
int cvxDwgDimAtSet(int idDim, svxDimAttr *dmAttr);
int cvxSkBlockInqGeomX(vxLongName blockName, int *Count, int **idEnts);
int cvxSkInqCrvConnect(int iCount, int *idCrvs, int *iUnMatch, int *iOverMatch);
int cvxSkEntWireType(int entId, int *type);
int cvxRootInqSymbol(vxLongName file, int *iCount, vxLongName**names);
int cvxDwgInsertSymbol(vxLongName fileName, vxLongName symName, svxPoint2 *pnt, int*symId);
int cvxPartSetCustomStr(int idComp, const char *CustomString, int *idStr);
int cvxPartGetCustomStr(int idComp, int *idStr, char **CustomString);
int cvxEntNameByPath(const svxEntPath *Path, vxLongName Name);
int cvxSkAddConsDim(evxConsDimType type, svxConsDim* pData);

Modified functions:
int cvxCmCompGetAttr(int idx_Cmcomp,int cnt,evxCmCompAtrr *attr,svxCmAttrValue *value)-
int cvxCmCompGetAttr(int idx_Cmcomp,int cnt,evxCmCompAtrr *attr,svxCmAttrValue **pValue),
output the component's attributes list accrodiong to the input evxCmCompAtrr list.
--------------------------------------------------------------------------
21.10

New functions:
int cvxPartInqTagNames(int *Count,vxLongName** Names);
int cvxSkInqBlockReferences(int idSketch, int *Count, int **idEnts);
int cvxSkInqSketchBlocks(int *Count, int **idEnts, vxLongName **Names);
int cvxSkBlockActivate(int idBlock, int UpdateGUI);
int cvxSkBlockGetSketch(int idBlock, int *idSketch);
int cvxSkBlockRefGetDefinition(int idRef, int *idBlock);
int cvxSkBlockInqGeom(vxLongName blockName, int *Count, int **idEnts);
int cvxSkBlockInqPnt(vxLongName blockName, int *Count, int **idEnts);
void cvxFileDescriptionSet(vxPath Name, char *Description);
int cvxFileDescriptionGet(vxPath Name, vxLongName Description);
int cvxSkInqDimRefFlag(int idDim,int* refFlag);
int cvxDimInqVar(int idDim, svxVariable* Var);
int cvxDimValMod(int idDim, char* exp);

Modified functions:
cvxPartInqShapeBox - If the target object class is VPART, get tight fitting bounding box instead of
merging the bounding box with the shape's faces bounding box. If the second parameter is NULL, 
initializes it to the identity matrix.

--------------------------------------------------------------------------
21.00

New functions:
void cvxPathDelAll(void);
void cvxEntSetTrans (int iTrans, int Count, int *idEnts);
int cvxDwgInqPart(char* rootName, int *iCount, svxCompName **partList);
int cvxPartVolumAndMassGet(vxLongName Name, double *dVolume, double *dMass );
int cvxDwgAtGet(int idDrawing, svxDrawingAt *drawingAt);
int cvxPartDatum2(svxMatrix *Frame, int iCode, int *idDatum);
void cvxUnitTypeGet(char*,char*,char*);
int cvxDwgAtSet(int idDrawing, svxDrawingAt *drawingAt);

Modified functions:
cvxMsgDisable - Disabling messages now suppresses some message
dialogs, too.
cvxPartInqFaceTx - Texture map origin point is now output correctly in
world coordinates.
cvxFileOpen -  Root status doesn't need to be initialized

New types:
evxTextureLoc - Relative location of texture map.
svxDrawingAt - Sheet Format Attributes structure

Modified types:
svxTextureAt - Add location field to define texture map's location
relative to its origin.

--------------------------------------------------------------------------
20.10

New functions:
void cvxConfigGetColor(const char *Name, evxColor *Color);
int cvxConfigGetInteger(const char *Name, int *Value);
int cvxConfigGetNumber(const char *Name, double *Value);
int cvxConfigGetOption(const char *Name, const char *Options);
int cvxConfigGetRgb(const char *Name, svxColor *Rgb);
int cvxConfigGetString(const char *Name, char *Str, int nBytes);
int cvxConfigGetYesNo(const char *Name, int *YesNo);
void cvxDispRgbGet(evxDispAttrib Type, svxColor *Rgb);
void cvxDispRgbSet(evxDispAttrib Type, const svxColor *Rgb);
int cvxEntByUid(const svxUid *Uid, int *idEntity);
int cvxEntUidGet(int idEntity, svxUid* Uid);
int cvxEntUidSet(int idEntity, const svxUid* Uid);
int cvxFieldInitFont(const char *Form, int idField, const char *Name);
int cvxPartVarSubstitute(char *Str, int nBytes, int *Truncated);
int cvxPartVarSubstituteResize(char **Str);
int cvxEqGetExpByName(char* name, char *exp, int size);
int cvxRootInqMod(int *mod);
int cvxRootInqModSinceRegen(int *mod);

--------------------------------------------------------------------------
20.00

New functions:
int cvxCmdStateGet(vxName CmdName, evxCmdState *isEnable);
int cvxCmdStateSet(vxName CmdName, evxCmdState State);
void cvxColorfToColor(const svxColorf* rgbf, svxColor* rgb);
void cvxColorToColorf(const svxColor* rgb, svxColorf* rgbf);
evxColor cvxColorNear(const svxColor* rgb);
int cvxColorRGB(evxColor color, svxColor* rgb);
int cvxDwgActivate(vxLongName drawingName);
int cvxDwgFind(vxLongName rootName, vxLongName drawingName, int *idDrawing);
int cvxDwgInqActive(char *drawingName, int nBytes);
int cvxDwgInqDims(int idDrawing, evxDimType *dimTypeList, int dimTypeCount, int *count, int **dims);
int cvxDwgInqTables(int idDrawing, evxTableType type, int *count, int **tables );
int cvxDwgInqList(int idRoot, int *count, int **idDrawings);
int cvxDwgInqName(int idDrawing, char *drawingName, int nBytes);
int cvxDwgInqViews(int idDrawing, evxViewType type, int *count, int **views);
int cvxDwgViewInqPart(int idView, svxCompName *part);
void cvxEchoEscDisable();
void cvxEchoEscRestore();
int cvxEntInqSelected(int *Count, int **Ents);
void cvxFileOpenList(int *count, vxLongName **fileList);
int cvxFileSave3(int Close, int DisPrompt, int Related);
int cvxFileVersionGet(vxPath file, int* version);
int cvxFileIsModified(vxPath Name, int* Modified);
int cvxPartFacetsMod(int idBlock, svxFacets *Facets);
int cvxPartFacetsSetAt(int idBlock, const svxFaceAt *At);
int cvxPartFacetsSetTx(int idBlock, const svxTextureAt *Tx);
int cvxPartInqFaceTxFile(int idFace, vxPath Path);
int cvxPartInqFacetsTxFile(int idBlock, vxPath Path);
int cvxPartInqFtrEnts(int idFeature, evxEntType EntType, int *Count, int **Ents);
double cvxRoundNumber(double Num, double Step, double Tol, int Dir);
int cvxShtInqSymbol(evxSymbolType type, int *Count, int **idEnts);
int cvxSkVarAdd(svxVariable *Variable);
int cvxSkVarGet(svxVariable *Variable);
int cvxSkVarSet(int Count, svxVariable *Variables);
int cvxSkInqVars(int *Count, svxVariable **Variables);
int cvxSkInqArea(int nCrv, int *idCrvs, svxPoint2 *innerPnt,
          svxPrfAreaProp *aboutCM, svxPrfAreaProp *aboutRf);

Modified functions:
cvxEntName - add a new string size input to support long object name.
cvxFileInqActive - add a new string size input to support long object name.
cvxRootInqActive - add a new string size input to support long object name.
cvxRootInqAsm - add a new string size input to support long object name.

New types:
svxColorf - RGB color components defined as floating point numbers.

Modified types:
evxColor - add VX_COLOR_PURPLE value.
svxFacets - add optional RGB field to define color at each vertex.
svxTextureAt - add use_embed field to use embedded image instead of file.

--------------------------------------------------------------------------
19.10


"#define VX_API_VERSION 1910" was added to VxApi.h so that a dynamically-loaded
DLL can compare the version of the API it was compiled with against the version 
of ZW3D that is invoking it.

New functions:

void cvxGetFileActiveField(int Open, const char* Prompt, const char* Default, const char* Filter);
void cvxGetFolderActiveField(const char* Prompt, const char* Default);
void cvxItemModify(const char* Form, int idField, int idItem, const char* Text);
int cvxMatEigen(const double Mat3x3[3][3], double *Values, svxVector *Vectors);
int cvxPartCopyTransform(int idEntity, const svxMatrix *Mat, int *idCopy);
int cvxPartMoveTransform(int idEntity, const svxMatrix *Mat);
int cvxPartMoveTransformList(int Count, const int *Entities, const svxMatrix *Mat);
int cvxPolyToTri(int PntCount, svxPoint *PntList, int* VtxCount, int** VtxList);

Modified functions:

cvxCmdFunc - An integer return value was added to this function. It returns 0 
if the input function was successfully registered. It returns 1 if a symbol
with the same name as the input function already exists. In this case, the
pre-existing symbol is kept and the input function is ignored. Note that
cvxCmdFuncUnload() can be used to deregister a pre-existing function.

--------------------------------------------------------------------------
19.05

New functions:

int cvxPartCrvSplitAtPnts(int idCurve, int CountPnts, svxPoint *Points, int *CountCrvs, int **NewCrvs);
int cvxCrvGetInflections(int idCurve, int *Count, double **T, svxPoint **InfPnts);
int cvxCrvGetCusps(int idCurve, int *Count, double **T, svxPoint **Cusps);
int cvxPartSetFaceTx(int idFace, svxTextureAt *Tx);
int cvxDispSetLights(int Count, svxLight *Lights);

--------------------------------------------------------------------------


19.0

New functions:

void cvxEchoColorGet(evxColor *Color);
void cvxEchoColorSet(evxColor Color);
int cvxFaceReverse(int numFaces, int *idFaces);
void cvxFormActiveField(int *idField);
int cvxIsectCrvFace(int idCurve, int idFace, int Trim, int TangentOk, int *Count, svxPoint**);
int cvxPartRedefineIsActive(void);
int cvxPartRegenIsActive(void);
int cvxPlnThruPnts(int PntCount, svxPoint *PntList, svxVector *Normal, double *D);
void cvxVecAngle(svxVector *V1, svxVector *V2, double *Angle);

--------------------------------------------------------------------------
18.10

New functions:

void cvxBndBoxInit2(svxBndBox *Box);
int cvxDataGetColor(int idData, int idField, svxColor *Color);
int cvxDataSetColor(int idData, int idField, svxColor *Color);
int cvxDataToFeature(int idData, int idFeature, int ExcludeRegen);
void cvxPartPartialResults(int Disable);
int cvxTplInqFnCust(vxName Name, int NumBytes, char *FnName);
int cvxTplInqFnEcho(vxName Name, int NumBytes, char *FnName);
int cvxTplInqFnInit(vxName Name, int NumBytes, char *FnName);
int cvxTplInqFnTerm(vxName Name, int NumBytes, char *FnName);
void cvxEchoCustomStart();
void cvxEchoCustomEnd();
int cvxGetViewRect(int includeFrame, int isGlobal, int* tlX, int* tlY, int* brX, int* brY);
void cvxGetFolder(char*Prompt, char*Default, char*Path);
int cvxPartRegenFacets(int Count, int *idFaces, int Assembly, int LOD, double Tol);
int cvxSrfEval(svxSurface*Srf,double U,double V,svxPoint*,svxVector*Normal);

Modified functions:

cvxFileClose2 -- Added new option 3 to close file without wiping out all undo-redo data.

Modified structures:

typedef struct svxFacets (added support for UV coordinates corresponding to XYZ vertices)

--------------------------------------------------------------------------
18.05

New functions:

void cvxCmdBuffer(const char *String, int Priority);
int cvxEntBndBox(int idEntity, svxBndBox *Box);
int cvxCompSetPart(int idComp, vxName File, vxName Part);
void cvxDispDataUpdate(void);
int cvxEntMatrixSet(int idEntity, svxMatrix *Matrix);
int cvxEntPathToRoot(svxEntPath *EntPath);

void cvxStlFree(svxSTL *Stl);

--------------------------------------------------------------------------
18.00

New functions:

int cvxDispState(int Option, vxDispState);
void cvxFileClose2(vxName Name, int Option);

int cvxPartFacets(svxFacets *Facets, int *idBlock);
int cvxPartInqBlockPnts(int idBlock, int *Count, svxPointf **Points);
int cvxPartInqBlocks(int *Count, int **Blocks);
int cvxPartInqBlockType(int idBlock, evxBlockType *Type);
int cvxPartInqCrvList(int idCrvList, int *Count, svxEntPick **Curves);
int cvxPartInqEdgePreEdges(int idEdge, int *Count, int **PreEdges);
int cvxPartInqFacets2(int idBlock, svxFacets *Facets);
int cvxPartInqFtrList(int *Count, int **Features);
int cvxPartInqLoopFace(int idLoop, int *idFace);
int cvxPartInqPreEdgeInfo(int idPreEdge, svxPreEdge *PreEdge);
int cvxPartInqShapeFtrs(int idShape,int Option,int *Count,int **Features);
int cvxPartInqView(int idView, svxView *View);
int cvxPartInqViews(int *Count, int **Views);
int cvxPartPntBlock(vxName, int Count, svxPointf *Points, int *idEnt);
int cvxPartRefGeom(svxEntPath*, int Associative, int *idGeom);
int cvxPartViewAdd(svxView *View, int *idView);
int cvxSkActivate(int idSketch, int UpdateGUI);

Modified functions:

void cvxUndoBundleEnd(int RefreshDisplay, int Settings[], int isError);

cvxPartInqFaceFacets2 - Upgraded to retrieve face display, texture and shader attributes
along with facet data.

Modified structures:

typedef struct svxFacets (added display, texture and shader attribute bundles)


--------------------------------------------------------------------------
17.15

New functions:

void cvxEntSketch(int idEntity, int *idSketch);
int cvxPartInqLoopPreEdges(int idLoop, int *Count, int **PreEdges);
int cvxPartInqPreEdgeStartPnt(int idPreEdge, int *idEdge, svxPoint *StartPoint);
int cvxSkInqCns(int *Count, int *idEnts);
int cvxSkInqDim(int *Count, int *idEnts);
int cvxSkInqGeom(int *Count, int *idEnts);
int cvxSkInqGeomX(int *Count, int *idEnts);
int cvxSkInqPnt(int *Count, int *idEnts);
int cvxSkInqRef(int *Count, int *idEnts);
extern int cvxSkInqText(int *Count, int *idEnts);

Modified functions:

cvxPartInqEdgeCrv(); Now queries UV geometry by either parent loop or parent face.
cvxPartInqLoopEdges(); Now outputs edges in the order they occur in the loop.

--------------------------------------------------------------------------
17.10

New functions:

void cvxUndoBundleEnd(int RefreshDisplay, int Settings[]);
void cvxUndoBundleStart(int DisableManager, int Settings[]);
int cvxCompMerge2(evxBoolType Combine,int idComp,int MergeDim, int MergeWire, int *idShape);
int cvxCmHolderInsertAsTemplate(vxPath template_path, vxName file_name, vxName libriary_name,
                                vxName holder_name, int *idx_holder);
int cvxCmSpeedInsertAsTemplate(vxPath template_path, vxName file_name, vxName libriary_name,
                               vxName speed_name, int *idx_speed);
int cvxFileImportStl(const char *path, int *idOut);
int cvxPartCurveOffset(int idCurve, double Dis, int *idOut);
int cvxPartEllipse(svxRectangleData *ellipseData, int *idEnt);
int cvxPartRectangle(svxRectangleData *rectData, int *iCnt, int **idEnt);
int cvxPartProjStl(int idStl, int idPln, double tol, double smth, int *idCurve);
int cvxPartCurveSilh(int idCurve, svxPoint *dir, int *iCnt, int **idList);
int cvxPartFittingCrv(int iCnt, svxPoint *pnts, double tol, double smth, int *idEnt);
void cvxProgress(int iprogress);
int cvxPartInqFacets(int idBlock, svxSTL *zStl);

Deleted functions:

int cvxTplContAdd(int Id,int Opt,char*Name,char*Prompt);
int cvxTplEntAdd(int Id,int Opt,char*Name,char*Prompt,int isList);
int cvxTplEntOpt(int Id,evxEntInpOpt Option,char *Callback,int EmptyOk);
int cvxTplInit(evxCmdType Type,char *Name,char *Description);
int cvxTplInit2(char *ExecFunc,char *StartFunc,char *EndFunc,int Update);
int cvxTplInit3(int NoOptForm, int AutoRepeat, int MidClickRepeat);
int cvxTplInqFld(vxName Name, int *Count, svxTplFld **Fields);
int cvxTplInqFnCust(vxName Name, char *FnName);
int cvxTplInqFnEcho(vxName Name, char *FnName);
int cvxTplInqFnInit(vxName Name, char *FnName);
int cvxTplInqFnTerm(vxName Name, char *FnName);
int cvxTplNumAdd(int Id,int Opt,char*Name,char*Prompt,evxFldNumType);
int cvxTplNumOpt(int Id,char*Global,int Integer,double Step,double Min,double Max);
int cvxTplNumOpt2(int Id,char*Callback,int Slider,int EmptyOk);
int cvxTplOptAdd(int Id,int Opt,char*Name,char*Prompt);
int cvxTplOptItem(int Opt,char *Item);
int cvxTplOptOpt(int Id,char*Global,char*Callback,int CheckBox,int EmptyOk);
int cvxTplPntAdd(int Id,int Opt,char*Name,char*Prompt,int isList);
int cvxTplPntOpt(int Id,evxPntInpOpt Option,char*Callback,int EmptyOk);
int cvxTplStrAdd(int Id,int Opt,char*Name,char*Prompt);
int cvxTplStrOpt(int Id,char*Callback,int EmptyOk);
int cvxTplRegister(void);

Notes:
Add a member variable "iKeep" to struct svxExtrudeData.

--------------------------------------------------------------------------
17.00

New functions:

int cvxCmdFuncUnload(const vxName Name);
int cvxCmdVariableUnload(const vxName Name);
int cvxCmdTemplateUnload(vxPath File);
int cvxActiveLayerNumGet(int* Number);
int cvxActiveLayerNumSet(int Number);
int cvxLayerInfoGet(int Number, svxLayerInfo* pLayerInfo);
int cvxLayerInfoSet(int Number, const svxLayerInfo* pLayerInfo);
int cvxLayerAdd2(const svxLayerInfo* psLayerInfo, int *Number);
int cvxLayerDel2(int Number);
void cvxPathUserFolder(vxPath Directory);
int cvxRootInqAsm(vxName Name);
int cvxPartFaceOffset(int idFace, double Dis, int Keep);
int cvxPartCopyDirDis(int idEntity,svxVector*Dir,double Dis,int*idCopy);
int cvxPartInqDims(vxName File, vxName Part, int *Count, svxVariable**);
int cvxPartHistList(int Type, int *Cnts, int **HistList);
int cvxPartSetFaceAt(int Count, int *idFaces, const svxFaceAt *At);
int cvxEntParent(int idEntity, int *idParent);
int cvxCrvExtremum(int idCurve,int *Count,svxPoint **Pnts,svxBndBox *BndBox);

Add 53 APIs for CAM development.

Modified functions:

int cvxUiSettingsApply(char* Name);

Deleted functions:

int cvxFormsPrecompiled(vxPath File);
int cvxFormTemplate(vxPath File);
int cvxUiUpdate();


--------------------------------------------------------------------------
16.20

New functions:

int cvxPartScale2(int Count, int*idEnts, double X, double Y, double Z, 
                  int idDatum, svxPoint *CentPnt);


--------------------------------------------------------------------------
16.10

New functions:

void cvxEchoStart();
void cvxEchoEnd();
int cvxHistSkipTo(char *Expression, vxName Operation, int *idOp);


--------------------------------------------------------------------------
16.00

New functions:

int cvxUiUpdate();
int cvxUiSettingsCreate(char* Name, char* Base);
int cvxUiSettingsRename(char* Name, char* Dest);
int cvxUiSettingsRemove(char* Name);
int cvxUiSettingsImport(char* Path);
int cvxUiSettingsExport(char* Name, char* Path);
int cvxUiSettingsExists(char* Name);
int cvxUiSettingsApply(char* Name, int SaveLast, int LoadCurr);
int cvxUiSettingsReset(char* Name);
int cvxUiSettingsCount(void);
int cvxUiSettingsFetch(int i, char* Name);
int cvxFileExport(evxExportType Type, vxPath Path, void* Data);
int cvxFileSave2(int Close);
int cvxFileSaveAll(void);
int cvxFilePreviewExtract(vxPath SrcFile, vxPath BmpFile);
int cvxFileCustomDataSet(vxName file, char* data, int dataLength);
int cvxFileCustomDataGet(vxName file, char** data, int* dataLength);
int cvxFileCustomDataDel(vxName file);
int cvxRootCustomDataSet(vxName file, vxName objectName, char* data,
                         int dataLength);
int cvxRootCustomDataGet(vxName file, vxName objectName, char** data,
                         int* dataLength);
int cvxRootCustomDataDel(vxName file, vxName objectName);
int cvxPartInqCompsInfo(vxPath Path, vxName Name, int* Count,
                        vxPath** Paths, vxName** Names);
extern int cvxLicModulesGet(char szModules[1024]);


--------------------------------------------------------------------------
15.20

New functions:

int cvxCrvLen(int idCurve, double *Len);
int cvxDataSetPntOnCrv(int idData, int idField, int idCrv, svxPoint*);
int cvxEntByName2(vxName File, vxName Root, vxName Name, int *idEntity);
int cvxEntFind2(svxEntFind *Data);
void cvxFieldCaretSet(char *Form, int idField, int Position);
int cvxFieldFocusSet(char *Form, int idField);
void cvxFormWaitExit(int ReturnValue);
int cvxHistBackup(void);
int cvxHistRedefine(vxName Operation);
int cvxIsectRayCrv(svxAxis*,int Crv,int Tan,int*Count,svxPoint**Points);
int cvxPartAtMod(vxName Name, svxPartAttribute *At);
int cvxPartPlnCrv2(int idCrv,svxData*Origin,svxData*Xaxis,int Flip,int *idPln);
int cvxPartPntsOnCrv(int idCrv, svxPoint*, int Num, double Dist, evxExtendOpt,
                     int *Count, int **idEnts);
int cvxSkPntsOnCrv(int idCrv, svxPoint*, int Num, double Dist, evxExtendOpt,
                   int *Count, int **idEnts);
int cvxTableAtSet(char *Form, int idTable, svxTableAt *At);
int cvxTableComboSet(char *Form, int idTable, int Row, int Col, char *Options);
int cvxTableSizeSet(char *Form, int idTable, int NumRow, Numint Col);
void cvxTableVisSet(char *Form, int idTable, int Row, int Col);
int cvxUndoRedo(int Undo);

Notes:

cvxPartAtSet() no longer errors out if part name is a blank string 
in the input part attributes structure. The function description has
been updated to give more info about its behavior.

cvxFileSaveAs() upgraded to suppress prompts.

Upgraded cvxLayerStateSet() so that the "isFrozen" argument can be
overloaded to disable logging of a "LayerState" operation in the active
part history when a layer's visibility is modified.

Upgraded cvxSubPartFlag() with "isSubPart = -1" to allow a part to be
hidden in the root object list (like a sub-part) but still be counted
for BoM or assembly-part-list purposes.

Added the case "VX_EXACT_MATCH" to API enum evxGlobal. It allows you to
get and set the global flag that controls exact label matching during
history regeneration.


--------------------------------------------------------------------------
15.10

New functions:

int cvxPartInqFaceFacets2(int idFace, svxFacets *Facets);
void cvxFacetsFree(svxFacets *Facets);
int cvxCrvLen(int idCurve, double *Len);


--------------------------------------------------------------------------
15.00

New functions:

void cvxCrvTransform(svxMatrix *Mat, svxCurve *Crv);
int cvxEntActivate(svxEntPath*NewPath, int UpdateGUI, int*idEntity,
                   svxEntPath*OldPath);
int cvxEntExists(int idEntity, evxEntType EntType);
int cvxGetExternalPick(const char *Prompt, evxPntInpOpt Opt, int EmptyOk,
                    svxPoint *Point, svxEntPath *EntPath, svxMatrix *Matrix);
void cvxMatTransform(svxMatrix *Mat, svxMatrix *Frame);
void cvxSrfTransform(svxMatrix *Mat, svxSurface *Srf);
int cvxSkScale(int Count, int*idEnts, double X, double Y, svxPoint2*Pnt);
int cvxPartBool2(evxBoolType, int, int*, int, int*, int*, int**);
int cvxPartBool3(evxBoolType, int, int*, int, int*, int, int*, int*, int**);
int cvxPartPlnSrf2(int idFace,svxPoint*Origin,svxPoint*XZ,int Flip,int*idPln);
int cvxPartScale(int Count,int*idEnts,double X,double Y,double Z,int idDatum);
int cvxPartSkIns2(vxName File,vxName Name,int idPlane,int*idSketch); 
int cvxCmdInteract(vxName Name);
int cvxCmdRestore(void);

New options:

Added VX_INP_PNT_ASSEM_FACE, VX_INP_PNT_ASSEM_EDGE and VX_INP_PNT_ASSEM_CURVE
to "enum evxPntInpOpt".  Added "Face" option to the pick filter associated
with the VX_INP_PNT_ASSEMBLY option.


--------------------------------------------------------------------------
14.80

New functions:

int cvxPartThreadAt(int idFace, svxPoint *Pnt, svxThreadData *Thread);
void cvxDispSwitchGet(evxDispItem, int *isOn);
extern void cvxFormTitleGet(char *Form, int NumBytes, char *Title);
extern void cvxFormTitleSet(char *Form, char *Title);


--------------------------------------------------------------------------
14.70

New functions:

int cvxEscCheck(void);
void cvxEscEnd(void);
void cvxEscStart(void);
int cvxFormWait(char *Form);
void cvxPathFile2(char*,int,char*);

Modified functions:

Upgraded the "Working" input argument to cvxRootVarSet() and
cvxPartVarSet() so it can be used to disable the object 
regeneration normally triggered by those function.  The
descriptions of these functions were updated to specify the
variable names used to identify various part parameters and
attributes.


--------------------------------------------------------------------------
14.50

New functions:

int cvxEntRefEnt(int idRefEnt, int *idEnt);


--------------------------------------------------------------------------
14.40

New functions:

void cvxCmdSend(char *CommandString);
int cvxIsectRayPartVis(svxAxis*,svxMatrix*,svxPoint*);
int cvxIsectRayPlane(svxAxis*,svxMatrix*,svxPoint*);
void cvxLayerSync(void);
int cvxPartInqFaceFacets(int idFace, int *Count, svxTriangle **Facets);
int cvxPartSewForce(double Tol);
void cvxPromptDisable(void);
void cvxPromptEnable(void);
void cvxTranStatusDisable(void);
void cvxTranStatusEnable(void);

Modified functions:

Added arguments "vxName File" and "vxName Parent" to cvxEntComp().

Changed cvxFileSave() from type "void" to type "int".  It now returns
an integer error code.

Added "VX_FIND_3D_BLOCK" option to "evxEntFind".


--------------------------------------------------------------------------
14.30 - Feb 2009

New functions:

int cvxPartMassProp(void);
int cvxPartPlnCrv(int idCurve, svxPoint *Origin, svxPoint *Xaxis);
int cvxPartPlnSrf(int idFace, svxPoint*Origin, int *idPln);
int cvxDispGetLights(int *Count, svxLight *Lights);
int cvxPartInqFaceAt(int idFace, svxFaceAt *At);
int cvxPartInqFaceSh(int idFace, svxShaderAt *Sh);
int cvxPartInqFaceTx(int idFace, svxTextureAt *Tx);


--------------------------------------------------------------------------
14.20 - Oct 2009

New functions:

int cvxCompEditPart(int idComp);
int cvxCrvPntProj(int idCurve, svxPoint*, double *T, svxPoint*);
int cvxDataGetPromote(int idData, int idField, int *Promote);
int cvxDataSetPromote(int idData, int idField, int Promote);
int cvxEntComp(int idEntity, int idComp);
void cvxPartExit(void);
int cvxPartSweep(svxSweepData *Swp, void *Options, int *idShape);


--------------------------------------------------------------------------
14.05 - May 2009

New functions:

int cvxEntTextInq(int idText, char **Text);
int cvxEntTextMod(int idText, char *Text);
int cvxDataGetText(int idData, int idField, int NumBytes, char*);


--------------------------------------------------------------------------
14.01 - April 2009

Structure changes:

Replaced "vxName Name" with "char Name[65]" in the "svxTplFld" structure.

Added a "svxAttribute No_bom" field to the "svxPartAttribute" structure.


New functions:

int cvxRootVisibility(vxName Name, int Visible);
void cvxShowDisp(int SlideNumber);
void cvxShowOpen(vxPath File);


--------------------------------------------------------------------------
14.00 - Dec 2008

New functions:

void cvxCellColorBack(char *Form,int idField,int Row,int Col,svxColor);
void cvxCellColorFront(char *Form,int idField,int Row,int Col,svxColor);
void cvxCellCombo(char *Form,int idField,int Row,int Col,char *Labels);
void cvxCellFromItem(int idItem, int *Row, int *Col);
void cvxCellMode(char *Form,int idField,int Row,int Col,int Edit);
void cvxCellToItem(int Row, int Col, int *idItem);

int cvxEntByLabel(int *Label, int Exact, int *idEntity);
int cvxEntLabelGet(int idEntity, int **Label);
int cvxEntLabelSet(int idEntity, int *Label);
int cvxEntRgbGet(int idEntity, svxColor *Color);
int cvxEntRgbSet(svxColor Color, int Count, int *idEnts);

int cvxFaceEval2(int idFace,double U,double V,svxPoint*,svxVector*Normal,
                svxVector*Utan,svxVector*Vtan);
int cvxFacePntLoc(int idFace, double U, double V, evxPntLocation *);
int cvxFacePntProj(int idFace, svxPoint*, double *U, double *V);

void cvxItemToRC(int idItem, int *Row, int *Column);
void cvxItemFromRC(int Row, int Column, int *idItem);

int cvxLabelMatch(int *Label1, int *Label2);

int cvxPartFace(svxSurface*, int NumCurves, svxCurve *TrimCurves, 
   int Code, int Sew, double Tol, int *idFace);
int cvxPartHistEnd(void);
int cvxPartHistStart(vxName);
int cvxPartInqEdgeCrv(int idEdge, int idFace, svxCurve *Crv);
int cvxPartInqFaceSrf(int idFace, svxSurface *Srf);
int cvxPartInqFaceCrvs(int idFace,int *Count,int **TrimCurves);
int cvxPartSew(double Tol, int *OpenEdges, double *MaxGap);

void cvxSurfaceFree(svxSurface *Srf);
void cvxVecReverse(svxVector *Vector);


--------------------------------------------------------------------------
14.00 - Aug 2008

New functions:

extern int cvxPartHistRename(int idOp, vxName Name, char *Descript);
extern int cvxRootAdd2(evxRootType, vxName Name, vxName Template, char *Desc);
extern int cvxRootRename2(vxName Name,vxName NewName,char *Descript,int Update);


--------------------------------------------------------------------------
13.65 - June 3, 2008

New functions:

int cvxPartChamAng(int Cnt,int*Edges,int idFace,double Sb,double Angle);
int cvxPartChamAsym(int Cnt,int*Edges,int idFace,double Sb1,double Sb2);
int cvxPartChamConst(int Count, int *Edges, double Sb);
int cvxPartInqShapeMass(int idShape, double Density, svxMassProp*);
int cvxDataGetNum(int idData, int idField, double *Number);
int cvxDataSetPntOnFace(int idData, int idField, int idComp, int idFace);

Modified functions:

int cvxSubPartIns(vxName Name, int AutoRegen, int MergeDimen);


--------------------------------------------------------------------------
14.00 - Feb 17, 2008

Modified the svxPartAttribute structure defined in VxApi.h.


--------------------------------------------------------------------------
13.55 - March 10, 2008

New functions:

void cvxAutoRegenGet(int *Status);
void cvxAutoRegenSet(int Status);
int cvxCompRegenSet(int idComp, int Regen);
int cvxEntMatrix2(svxEntPath Entity, svxMatrix *Matrix);
int cvxPartHistDel(int Count, int *Operations);
int cvxPartMovePntToPnt(int idEntity,svxAxis*S,svxAxis*E);
int cvxRootActivate2(vxName File, vxName Name);
void cvxSubPartFlag(vxName File, vxName Part, int isSubPart);


--------------------------------------------------------------------------
Version 13.43 - Dec 10, 2007

New functions:

int cvxDataGetEnt(int idData, int idField, int *idEnt);
int cvxDataGetPnt(int idData, int idField, svxPoint*);
void cvxFileTypeGet(int *MultiObject);
void cvxFileTypeSet(int MultiObject);


--------------------------------------------------------------------------
Version 13.42 - Oct 24, 2007

New functions:

void cvxHistDisable(void);
void cvxHistEnable(void);


--------------------------------------------------------------------------
Version 13.4 - Sept 28, 2007

New functions:

void cvxMsgDisable(void);
void cvxMsgEnable(void);

void cvxErrDisable(void);
void cvxErrEnable(void);


--------------------------------------------------------------------------
Version 13.4 - August 29, 2007

New functions:

void cvxPntOnFace(int idComp, int idFace, double Param[2], svxPoint *Point);


--------------------------------------------------------------------------
Version 13.38 - July 11, 2007

New functions:

void cvxMenuItemState(vxName Menu, int Item, int State);

This function can be used to enable/disable a button or icon on 
a ZW3D menu or toolbar, including custom toolbars.

Structure changes:

Added "vxName DestFile" to the "svxCompData" structure.  This field may
be used to specify the destination file when "Copy=1".  The field is 
ignored if it contains an empty or blank string (DestFile[0]=0).


--------------------------------------------------------------------------
Version 12.90 - June 27, 2007

New functions:

void cvxCmdMarker(vxName Okay, vxName Cancel);


--------------------------------------------------------------------------
Version 12.82 - Feb 21, 2006

Retired function:

void cvxDispPreview(evxPreviewMode Mode, vxName File, vxName Object);

New functions:

int cvxPartCurve(svxCurve *Crv, int *idEnt);
int cvxPartInqCurve(int idEntity, int Nurb, svxCurve *Crv);
int cvxPartInqLoopEdges(int idLoop,int *Count,int **Edges);
int cvxPartInqShapeEdges(int idShape,int *Count,int **Edges);
int cvxPartInqFaceLoops(int idFace,int Inner, int *Count,int **Loops);
void cvxRootPreviewSet(evxPreviewMode Mode, vxName File, vxName Object);
evxPreviewMode cvxRootPreviewGet(void);

Fixed functions:

cvxHostId(void);
int cvxPartInqVars(...);


--------------------------------------------------------------------------
Version 12.70 - Dec 1, 2006

New functions:

void cvxDispPreview(evxPreviewMode Mode, vxName File, vxName Object);
void cvxHostId(double *idNetwork, double *idDongle);
int cvxPartInqHoles(vxName File,vxName Part,int *Count,svxHoleData**);
int cvxPartFreeHoles(int Count,svxHoleData**);
int cvxPartInqFtrTemplate(int idFeature, vxName Template);
int cvxPartInqVars(vxName File, vxName Part, int *Count, svxVariable**);

Modified functions:

int cvxRootList(vxPath File, int *Count, vxName **Names);

--------------------------------------------------------------------------