ZW3D二次开发1

最近在做ZW3D二次开发,现可以发一些函数中文解释(教程永远不收费,免费开源,强化国产软件),这些都是我手机编辑的,可能不有错的,请指正

 

cvxPartInqEdgeOpen检查指定的边是否为开放边(int idEdge);
cvxPartInqEdgeType获取指定边缘的类型(int idEdge, evxEdgeType *EdgeType);
cvxPartInqEdgeFaces查边的面(int idEdge, int *Count, int **Faces);
cvxPartInqEdgePreEdges获取与指定边缘关联的前边缘的列表(int idEdge, int *Count, int **PreEdges);
cvxPartInqEdgeLoop获取指定面上指定边父环(int idFace, int idEdge, int *idLoop);
cvxPartInqEdgeShape通过边找到边所在的实体ID(int idEdge, int *idShape);
cvxPartInqEdgeCrv查边的参数(int idEdge, int idFace, svxCurve *Crv);
cvxPartInqEdgeDiscreteData从指定面获取所有边的离散数据(const svxRefineFacets *refineData, svxEdgeDiscreteData **discreteData, int *num);
cvxPartInqFaceAt输出显示指定面或形状的属性(int idFace, svxFaceAt *At);
cvxPartInqFaceSh输出指定面的着色器显示属性(int idFace, svxShaderAt *Sh);
cvxPartInqFaceTx输出指定面的纹理属性(int idFace, svxTextureAt *Tx);
cvxFaceGetArea获取面的面积(const int faceId, const double tolerance, double *area);
cvxFaceGetMaxCurvature在指定 UV 下评估曲面上的曲率信息,在最大曲率方向上的位置
cvxPartSetFaceAtInit初始化 cvxPartSetFaceAt() 的参数(svxFaceAt *data);
cvxPartSetFaceAt更改指定面或形状的显示属性(int Count, int *idFaces, const svxFaceAt *At);
cvxPartSetFaceTx设置指定面的纹理属性(int idFace, const svxTextureAt *Tx);
cvxPartDelFaceTx删除面的纹理(int Count, const int *idFaces);
cvxPartInqFaceTxFile输出原始图像文件的路径(如果纹理贴图已应用在面上(int idFace, vxPath Path);
cvxPartInqFaceTxFileByLongPath输出原始图像文件的路径(如果纹理贴图已应用在面上(int idFace, char *Path, int sizePath);
cvxPartInqFaceBox获取指定面的边界框BOX大小(int idFace, svxBndBox *Box);
cvxPartInqFaceCrvs输出在活动零件中绑定面的修剪曲线列表(int idFace, int *Count, svxCurve **TrimCurves);
cvxPartInqFaceEdges输出绑定面的边的索引列表(int idFace, int *Count, int **Edges);
cvxPartInqFaceLoops输出面的环(外部和内部)(int idFace, int Inner, int *Count, int **Loops);
cvxPartInqFaceSrf查面的类型和参数(int idFace, svxSurface *Srf);
cvxSurfaceFree释放与指定曲面参数的内存(svxSurface *Srf);
cvxPartInqFaceSrfPrim查面的类型和参数(int idFace, svxSrfPrim *SrfPrim);
cvxSrfPrimFree释放与指定曲面参数的内存(svxSrfPrim *SrfPrim);
cvxPartInqFaceShape面找体(int idFace, int *idShape);
cvxPartInqFaceGeom输出面的几何(int idFace, int *idGeom);
cvxPartInqFaceFillet获取指示指定面是否为圆角面的标志(int idFace, int *isFilletFace);
cvxFaceRadius获取指定面的半径(int idFace, double *Radius);
cvxFaceInqBend获取指定面的折弯信息(int idFace, int *bendFlag, double *bendRad, double *neutralRad, double *angle, double *thick, double *kFactor, double *flatTol);
cvxFaceIsConcave检查指定的面是凹面还是凸面(int idFace);
cvxFaceIsPlanar检查指定的面是否为平面(int idFace);
cvxFaceInqExtreme获取指定方向上的面极值点(int idFace, const svxVector *Dir, int *Count, int **idEnts, svxPoint *Point);
cvxFaceEval查面UV值所在的点和向量(int idFace, double U, double V, svxPoint *Point, svxVector *Normal);
cvxFaceEval2查面UV值所在的点和向量(int idFace, double U, double V, svxPoint *Point, svxVector *Normal, svxVector *Utan, svxVector *Vtan);
cvxFaceParam输出指定面UV最大最小值(int idFace, svxLimit *U, svxLimit *V);
cvxFacePntLoc确定指定面上指定点的位置(int idFace, double U, double V, evxPntLocation *Loc);
cvxFacePntProj获取点投影到面上UV值(最近点)(int idFace, svxPoint *Point, double *U, double *V);
cvxFaceRadialIntegrity获取指定曲面的径向完整性比值(int idFace, double *URatio, double *VRatio);
cvxFaceEvalGeom获取面实体的几何点(int idFace, double U, double V, int Level, svxEvalSurf *EvalSrf);
cvxPartInqLoopEdges通过环id找环里面的曲线(int idLoop, int *Count, int **Edges);
cvxPartInqLoopFace通过环找面(int idLoop, int *idFace);
cvxPartInqLoopPreEdges(int idLoop, int *Count, int **PreEdges);
cvxPartInqLoopInner判断是内环还是外环(int idLoop, int *isInner);
cvxPartInqPreEdgeInfo(int idPreEdge, svxPreEdge *PreEdge);
cvxPartInqPreEdgeStartPnt(int idPreEdge, int *idEdge, svxPoint2 *StartPnt);
cvxShellAtGet获取实体全部属性(int idShape, svxPartAttribute *At);
cvxShellAtItemGet获取实体单个属性(int idShape, evxAtItemId itemId, svxAttribute *At);
cvxShellAtItemSet属性实体单个属性(int idShape, evxAtItemId itemId, svxAttribute *At);
cvxPartInqShapeOpen判断实体是有破面,属于壳还是封闭的(int idShape, int *isOpen);
cvxPartInqShapeBox查实体边界box(int idShape, svxMatrix *Mat, svxBndBox *Box);
cvxPartInqShapeMass查实体体积面积质量(int idShape, double Density, svxMassProp *Prop);
cvxPartShapeStructGet获取实体材料密度(int idShape, svxWeldAttr *at);
cvxPartInqShapes获取当前文档中所有实体(const vxLongPath File, const vxRootName Part, int *Count, int **Shapes);
cvxPartInqShapeComp获取实体对应的组件的 id(int idShape, int *idComp);
cvxPartInqShapeEdges获取体所有边(int idShape, int *Count, int **Edges);
cvxPartInqShapeFaces获取体所有面(int idShape, int *Count, int **Faces);
cvxPartInqShapeFtrs获取体所有特征(int idShape, int Option, int *Count, int **Features);
cvxPartInqShapeExtreme获取体极点(int idShape, const svxVector *Dir, int *Count, int **idEnts, svxPoint *Point);
cvxInstShpGetMatrix输出实体关联的转换矩阵,体生产所需要的矩阵(int idShape, svxMatrix *Matrix);
ZwPartShapeInternalAreaGet(szwEntityHandle shapeHandle, double *area);
cvxPartInqEntShape找到对象所属的实体(int idEntity, int *idShape);
cvxPartInqVertexEdges查找边顶点的所有关联边的(相邻边)(int idEdge, int EndPnt, int *Count, int **Edges);
cvxRoundNumber向上或者向下取整(double Num, double Step, double Tol, int Dir);
cvxCrvPlaneParallelChk检查曲线是否平行于的平面。如果是则输出距离(const svxPoint *plnPnt, const svxVector *plnNormal, const svxCurve *Crv, double tol, int *isParallel, double *Distance);
cvxAxisDistance计算两个3D轴之间的最近点(const svxAxis *Axis1, const svxAxis *Axis2, svxPoint *PntOnAxis1, svxPoint *PntOnAxis2, int *Flag);
cvxPlaneDistance获取两个平行平面之间的距离(const svxPoint *PntOnPln1, const svxVector *NormalOfPln1, const svxPoint *PntOnPln2, const svxVector *NormalOfPln2, double *Distance);
cvxEntGetDistance获取两个对象距离和两个对象上最近点(int ent1, int ent2, svxPoint *p1, svxPoint *p2, double *dist);
cvxEntGetDistanceByPath获取两个对象距离和两个对象上最近点(包含组件)(svxEntPath *EntPath1, svxEntPath *EntPath2, svxPoint *Point1, svxPoint *Point2, double *MinDistance);
cvxAxisCrvDistance获取从曲线到轴的最小距离(const svxAxis *Axis, const svxCurve *Crv, svxPoint *pntOnAxis, svxPoint *pntOnCrv, double *Distance);
cvxEntGetAngle获取两个对象的角度(int ent1, int ent2, double *angle);
cvxPartInqEntsAreaByPath查询3D空间中以曲线为界的平面面积(支持组件)(int cnt, svxEntPath *crvList, svxAreaProp *areaProp);
cvxPartInqEntsArea查询3D空间中以曲线为界的平面面积(int cnt, int *crvList, svxAreaProp *areaProp);
cvxBndBoxInit初始化BOX(值设置为0)(svxBndBox *Box);
cvxBndBoxInit2初始化BOX(值设置为999999999.999)(svxBndBox *Box);
cvxBndBoxPnts获取box八个点(svxBndBox *Box, svxPoint *Pnts);
cvxBndBoxCenter获取box中心(const svxBndBox *Box, svxPoint *CenterPnt);
cvxBndBoxPntLoc判断点在BOX里面还是外面(const svxBndBox *Box, const svxPoint *Point, evxPntLocation *PntLoc);
cvxBndBoxAdd把点计算在box中去(svxBndBox *Box, svxPoint *Pnt);
cvxBndBoxMerge两个box合并(const svxBndBox *Box1, svxBndBox *Box2);
cvxBndBoxSize获取box大小(svxBndBox *Box);
cvxBndBoxVolume获取BOX值(const svxBndBox *Box);
cvxBndBoxContain检查基本边界框是否完全包含其他边界框(const svxBndBox *BaseBox, const svxBndBox *OtherBox);
cvxBndBoxPntDist查询点到box最近和最远距离(const svxBndBox *Box, const svxPoint *Point, double *DistMin, double *DistMax);
cvxBndBoxDist查两个box最近和最远距离(const svxBndBox *Box1, const svxBndBox *Box2, double *DistMin, double *DistMax);
cvxIsectCrvCrv输出两条曲线相交的点的列表(int idCurve1, int idCurve2, int TangentOk, int *Count, svxPoint **Points);
cvxIsectCrvFace输出曲线和面相交的点的列表(int idCurve, int idFace, int Trim, int TangentOk, int *Count, svxPoint **Points);
cvxIsectFaceFace输出两个面相交的曲线列表(int idFace1, int idFace2, evxFaceTrim Trim, int TangentOk, int *Count, svxCurve **Curves);
cvxIsectRayCrv输出射线和曲线相交的点的列表(svxAxis *Ray, int idCurve, int TangentOk, int *Count, svxPoint **Points);
cvxIsectRayFace输出射线和面相交的点的列表(int idFace, evxFaceTrim Trim, svxAxis *Ray, svxPoint *Point, svxPoint2 *UV);
cvxIsectRayFaceInfinite输出射线和面相相交并所有交点指向射线起点(int idFace, evxFaceTrim Trim, const svxAxis *Ray, int Infinite, int *Number, svxPoint **Pnts, svxPoint2 **UVs);
cvxIsectRayPlane输出射线和平面相交的点(svxAxis *Ray, svxMatrix *Plane, svxPoint *Point);
cvxIsectRayShape输出射线与实体交点或者最近点(int idShape, evxFaceTrim Trim, svxAxis *Ray, svxPoint *Point, int *idFace);
cvxIsectRayShapes输出射线与多个实体交点或者最近点(int nShapes, int *idShapes, evxFaceTrim Trim, svxAxis *Ray, int *Number, svxPoint **Points, int **idFaces);
cvxIsectRayPart输出射线与活动零件的所有面相交点并返回面(evxFaceTrim Trim, svxAxis *Ray, svxPoint *Point, int *idFace);
cvxIsectRayPartVis输出射线与活动零件的所有面相交点并返回面(只考虑可见面)(evxFaceTrim Trim, svxAxis *Ray, svxPoint *Point, int *idFace);
cvxIsectRayComp找射线与组件的点(int idComp, evxFaceTrim Trim, svxAxis *Ray, svxPoint *Point);
cvxIsectRayComps找射线与多个组件的点(int nComps, svxEntPath *CompPaths, evxFaceTrim Trim, svxAxis *Ray, int *Number, svxPoint **Points, svxEntPath **FacePaths);
cvxCompFind找到射线距离内的组件(evxFaceTrim Trim, svxAxis *Ray, double Dist, int SkipBlank, int *Count, int **Comps);
cvxIsectRayBndBox找射线与BOX交点(const svxAxis *Ray, const svxBndBox *Box, svxPoint *IsectPnt);
cvxPartIsectShpChk输入两个体判断干涉(int idBaseShape, int idOpShape);
cvxPartIsectShpChk2输入两个体判断干涉(int idBaseShape, int idOpShape, int fClosedChk);
cvxCompIsectShpShp获取两个实体(复合)的相交曲线(const svxEntPath *basePath, const svxEntPath *opPath, evxFaceTrim trim, int *count, svxCurve **curves);
cvxIsectBndBoxBndBox检查两个边界框是否相交(const svxBndBox *Box1, const svxBndBox *Box2);
cvxIsectBndBoxPlane检查边界框与平面是否相交(const svxBndBox *Box, const svxPoint *PntOnPln, const svxVector *NormalOfPln);
cvxIsectPlanePlane获取由点和法线定义的两个平面的交点线(const svxPoint *PntOnPln1, const svxVector *NormalOfPln1, const svxPoint *PntOnPln2, const svxVector *NormalOfPln2, svxAxis *IsectLine);
ZwMatrixTransform(szwMatrix tranformationMatrix, szwMatrix *resultMatrix);
cvxMatEigen计算 3x3 矩阵的特征值和特征向量(const double Mat3x3[3][3], double *Values, svxVector *Vectors);
cvxMatInit矩阵初始化(svxMatrix *Mat);
cvxMatInvert倒置变换矩阵(svxMatrix *Mat, svxMatrix *InvMat);
cvxMatMult矩阵相乘(svxMatrix *Mat1, svxMatrix *Mat2, svxMatrix *Mat3);
cvxMatPntVec通过点和z轴初始化矩阵(svxPoint *Origin, svxVector *zAxis, svxMatrix *Mat);
cvxMatPntVecs通过原点xy轴初始化矩阵(svxPoint *Origin, svxVector *xAxis, svxVector *yAxis, svxMatrix *Mat);
cvxMatGetPntVecs获取矩阵原点和XYZ轴(const svxMatrix *Mat, svxPoint *Origin, svxVector *xAxis, svxVector *yAxis, svxVector *zAxis);
cvxMatRotate旋转矩阵(svxMatrix *Mat, double Angle, svxAxis *Axis);
cvxMatScale缩放矩阵(svxMatrix *Mat, svxPoint *Point, double sX, double sY, double sZ);
cvxMatSetIdentity确保正确设置了矩阵(svxMatrix *Mat);
cvxMatTransform矩阵变换(svxMatrix *Mat, svxMatrix *Frame);
cvxMatTranslate设置矩阵XYZ坐标(svxMatrix *Mat, double dX, double dY, double dZ);
cvxMatView将矩阵初始化为指定的标准视图(svxMatrix *Mat, evxViewStd Type);
cvxMatToEuler将变换矩阵转换为欧拉角(evxEulerAngSeq Seq, svxMatrix *pMat, svxMatEuler *pzMatEuler);
cvxMatFromEuler从欧拉角到变换矩阵的转换(evxEulerAngSeq Seq, const svxMatEuler *pzMatEuler, svxMatrix *pMat);
cvxPntTransform变换点从局部坐标到世界坐标(svxMatrix *Mat, svxPoint *Point);
cvxPntTransformList变换多个点从局部坐标到世界坐标(svxMatrix *Mat, int Count, svxPoint *Points);
cvxAxisTransform将轴通过矩阵转换(svxMatrix *Mat, svxAxis *Axis);
cvxVecTransform将矢量通过矩阵转换(svxMatrix *Mat, svxVector *Vector);
cvxCrvTransform将曲线通过矩阵转换(svxMatrix *Mat, svxCurve *Crv);
cvxSrfTransform将曲面通过矩阵转换(svxMatrix *Mat, svxSurface *Srf);
cvxBndBoxTransform将边界框BOX通过矩阵转换(svxMatrix *Mat, svxBndBox *Box);
ZwMathMatrix2Determinant计算 2*2 矩阵的行列式(szwMathMatrix2 inputMatrix, double *matrixDeterminant);
ZwMathMatrix3Determinant计算 3*3 矩阵的行列式(szwMathMatrix3 inputMatrix, double *matrixDeterminant);
ZwMathMatrix2Transpose返回 2*2 矩阵的转置矩阵(szwMathMatrix2 inputMatrix, szwMathMatrix2 *transposeMat);
ZwMathMatrix3Transpose返回 3*3 矩阵的转置矩阵(szwMathMatrix3 inputMatrix, szwMathMatrix3 *transposeMat);
ZwMathMatrixTranspose返回 4*4 矩阵的转置矩阵(szwMathMatrix inputMatrix, szwMathMatrix *transposeMat);
ZwMathMatrixRotationGet返回 4*4 矩阵的旋转矩阵(szwMathMatrix inputMatrix, szwMathMatrix3 *rotationMat);
ZwMathMatrixScaleGet返回 4*4 矩阵的比例因子(szwMathMatrix inputMatrix, double *scaleFactor);
ZwMathMatrixTranslationGet返回 4*4 矩阵的平移向量(szwMathMatrix inputMatrix, szwVector *translationVector);
ZwMathMatrix3ToMatrix4将三维矩阵转换为比例为 1 的四维矩阵(szwMathMatrix3 inputMatrix, szwMathMatrix *matrix4D);
ZwMathMatrixRotationSet设置 4*4 矩阵的旋转矩阵(szwMathMatrix3 rotationMat, szwMathMatrix *setMatrix);
ZwMathMatrixScaleSet设置 4*4 矩阵的比例因子(double scaleFactor, szwMathMatrix *setMatrix);
ZwMathMatrixTranslationSet设置 4*4 矩阵的平移向量(szwVector translationVector, szwMathMatrix *setMatrix);
ZwMathMatrixOrthogonalNormalize矩阵中的正交化和归一化三个方向向量(szwMathMatrix *setMatrix);
ZwMathMatrixReflectionMatrixCreate给定一个镜像平面S和镜像平面Q上的一个点,计算反映此点/向量所需的矩阵(szwPoint origin, szwVector normalVector, szwMathMatrix *reflectionMatrix);
ZwMatrixInit初始化矩阵(szwMatrix *matrix);
ZwCurveCentroidPointGet(szwEntityHandle curveHandle, szwPoint *centroidPoint);
ZwCurveTessellationPointListGet(szwEntityHandle curve, double chordTolerance, double lengthTolerance, int *nPoints, szwPoint **points);
cvxCrvEval曲线通过t值查询点和切向(int idCurve, double T, svxPoint *Point, svxVector *Normal);
cvxCrvEval2计算指定参数值处的曲线(const int idCurve, const double t, const int level, svxEvalCurv *eval);
cvxPreEdgeEval在指定的参数值处计算前边(const int idPreEdge, const double t, const int level, svxEvalCurv *eval);
cvxCrvEvalCrvtr计算给定曲线的曲率、点和单位主法向量(const int idCurve, const double t, svxPoint *point, svxPoint *normal, double *curvature);
cvxCrvIsLine判断曲线是不是直线(int idCurve);
cvxCrvParam查询曲线类型和参数(int idCurve, svxLimit *T);
cvxCrvMinMaxRad查询样条曲线曲线最小最大半径(int idCurve, double *minRad, double *maxRad, int *isFlat);
cvxCrvInqContinuity获取曲线连续性的标志,是否有断开(int Count, int *Curves, int *Continuity);
cvxCrvContinuityTolListInit初始化 cvxCrvInqMultiContinuity() 的参数(svxCrvContinuityTolList *data);
cvxCrvInqMultiContinuity判断所有输入线,判断两条线之间的连续性关系(int cnt, const int *curves, const svxCrvContinuityTolList *tols, int *cntContinuity, svxCrvContinuityData **data);
cvxPartCurveChainFind查找连接的曲线或边链并输出列表(int nSeeds, int *idSeeds, int type, int *Count, int **idCrvs);
cvxCrvGetPntAtLenFraction获取曲线的指定长度的曲线上的点(int idCurve, double Fraction, svxPoint *Point);
cvxCrvPntProj把点投影到曲线上获取T值和点(int idCurve, svxPoint *Pnt, double *T, svxPoint *ProjPnt);
cvxCrvGetPntAtDist获取曲线上距指定距离的点(int idCurve, double StartT, double Length, double *T, svxPoint *Point);
cvxCrvGetInflections计算指定曲线的拐点并输出参数值和坐标(int idCurve, int *Count, double **T, svxPoint **InfPnts);
cvxCrvInqExtreme获取指定方向上的曲线极值点(int idCurve, const svxVector *Dir, int *isPerp, svxPoint *Point);
cvxCrvExtremum返回指定曲线的极值点及其边界框(int idCurve, int *Count, svxPoint **Pnts, svxBndBox *BndBox);
cvxCrvGetCusps查找指定曲线的所有尖点并输出(int idCurve, int *Count, double **T, svxPoint **Cusps);
cvxCrvLen查曲线长度(int idCurve, double *Len);
cvxCrvLen2计算从参数T1到T2的曲线长度(int idCurve, double T1, double T2, double *Length);
cvxPartSew使用输入邻近度匹配和缝合活动零件中的自由边缘(double Tol, int *OpenEdges, double *MaxGap);
ZwMathCurveCentroidPointGet获取曲线的质心点(szwEntityHandle curveHandle, szwPoint *centroidPoint);
ZwModelFaceCreate(szwSurface surface, int numCurves, szwCurve *trimCurves, int code, int sew, double tolerance, szwEntityHandle *faceHandle);
cvxPartFace使用指定的曲面和修剪曲线将面添加到活动零件(svxSurface *Srf, int NumCurves, svxCurve *TrimCurves, int Code, int Sew, double Tol, int *idFace);
cvxPartFaceMod使用指定的曲面和修剪曲线将面修改为活动零件(int idFace, svxSurface *Srf, int NumCurves, svxCurve *TrimCurves, int Sew, double Tol);
cvxSrfEval计算曲面某UV值的点(svxSurface *Srf, double U, double V, svxPoint *Point, svxVector *Normal, svxVector *Utan, svxVector *Vtan);
cvxSrfDiameterEval获取指定 UV 点的表面直径(svxSurface *Srf, double U, double V, double *Diameter);
cvxPartFaceFind查找面(svxFaceFind *findData, int *Count, int **idFaces);
cvxPartFaceEdgesFind面查找边(int nSeeds, int *idSeeds, evxEdgeLoopType type, int *Count, int **idEdges);
cvxSrfAxis获取指定曲面的轴。表面类型必须为圆柱圆环圆锥(svxSurface *Srf, svxPoint *startPnt, svxPoint *endPnt);
cvxSrfGetPole获取指定表面在指定方向上的极点(svxSurface *srf, const svxPoint *dir, svxPoint *pnt);
cvxSrfFindPoles确定 srf 的哪些边界(如果有)是极点(svxSurface *srf, double tol, int poles[4]);
ZwFaceContinuityToleranceInit(szwSurfaceContinuityTolerance *data);
ZwFaceContinuityGet(szwEntityHandle face1, szwEntityHandle face2, int nSample, szwSurfaceContinuityTolerance tolerance, int *nData, szwSurfaceContinuityData **data);
cvxPntIsCritical确定 pnt 是否为临界点(svxPoint *pnt, int idCurve);
cvxPntIsOn判断点是否在对象上面(svxPoint *Pnt, int idEntity);
cvxPntOnCrv计算指定曲线图元上的 3D 点(int idCurve, double Fraction, svxPoint *Point);
cvxPntOnFace计算指定面上中点处的点(int idComp, int idFace, double Param[2], svxPoint *Point);
cvxPntProject将点投影到指定的曲线、边、面或平面上的点(svxPoint *Pnt, int idEntity, svxPoint *ProjPnt);
cvxPntEntLoc定判断点是位于曲线面的内侧、外侧还是边界上(svxPoint *Pnt, int idEntity, evxPntLocation *PntLoc);
cvxAxisPntProject将点投影到由点和方向定义的轴上(const svxAxis *Axis, const svxPoint *Pnt, svxPoint *ProjPnt);
cvxPlanePntProject按点和方向将点投影到平面上(const svxPoint *PlnPnt, const svxVector *PlnNormal, const svxPoint *Point, const svxVector *ProjectDir, svxPoint *ProjPnt);
cvxPntTranslate计算点沿方向和距离后的点(常用)(svxPoint *Point, svxVector *Vector, double Distance);
cvxPntDist查两点距离(const svxPoint *Point1, const svxPoint *Point2);
cvxPntEntDist查点到对象距离(const svxPoint *Point, int idEntity, svxPoint *TargetPnt, double *Distance);
cvxPntPreEdgeDist获取面上的点和曲线之间的最小距离(const svxPoint *Point, int idPreEdge, double *T, svxPoint *TargetPnt, double *Distance);
cvxAxisPntDistance获取从点到轴的最小距离(const svxAxis *Axis, const svxPoint *Pnt, double *Distance);
cvxPlanePntDistance获取从点到平面的最小距离(const svxPoint *PlnPnt, const svxVector *PlnNormal, const svxPoint *Point, double *Distance, svxPoint *ProjPnt);
cvxAxisEvalPoint获取距轴原点指定距离处的轴上的点(const svxAxis *Axis, double Distance, svxPoint *Point);
cvxPlaneEvalPoint获取平面上在 x 方向和 y 方向上将原点偏移指定距离的点(const svxPoint *Origin, const svxVector *xAxis, const svxVector *yAxis, double xDist, double yDist, svxPoint *Point);
cvxPlnThruPnts给定“PntCount”点,此函数计算最小二乘平面(int PntCount, svxPoint *PntList, svxVector *Normal, double *D);
cvxPolyToTri此函数将多边形分解为三角形(int PntCount, svxPoint *PntList, int *VtxCount, int **VtxList);
ZwMathLinerSegmentPoint2Get获取由两个点组成的 2D 线段上的特定点(szwPoint2 startPoint, szwPoint2 endPoint, double factor, szwPoint2 *resultPoint);
ZwMathLinerSegmentPointGet获取由两个点组成的 3D 线段上的特定点(szwPoint startPoint, szwPoint endPoint, double factor, szwPoint *resultPoint);
cvxVecInit向量初始化(svxPoint *Point1, svxPoint *Point2, svxVector *Vector);
cvxVecNormalize向量单位化(svxVector *Vector);
cvxVecAngle获取两个向量角度(svxVector *V1, svxVector *V2, double *Angle);
cvxVecCross获取两个向量的叉积(svxVector *V1, svxVector *V2, svxVector *Cross);
cvxVecPerp判断两个向量是否平行(svxVector *Vector, svxVector *Perp);
cvxVecReverse向量反转方向(svxVector *Vector);
cvxVecParallelChk判断两个向量是否垂直(int Orient, svxVector *V1, svxVector *V2, double CosTol);
ZwVector2IsPerpendicular(szwVector2 vector1, szwVector2 vector2, double cosineTolerance, int *isPerpendicular);
ZwVectorIsPerpendicular(szwVector vector1, szwVector vector2, double cosineTolerance, int *isPerpendicular);
ZwVectorTripleScaleProduct(szwVector vector1, szwVector vector2, szwVector vector3, double *tripleScaleProduct);
ZwVector2Scaling(double scaleFactor, szwVector2 inputVector, szwVector2 *scaleVector);
ZwVectorScaling(double scaleFactor, szwVector inputVector, szwVector *scaleVector);
ZwVector4Scaling(double scaleFactor, szwVector4 inputVector, szwVector4 *scaleVector);
ZwVector2Subtraction(szwVector2 vector1, szwVector2 vector2, szwVector2 *subtractionVector);
ZwVectorSubtraction(szwVector vector1, szwVector vector2, szwVector *subtractionVector);
ZwVector2Magnitude(szwVector2 vector, double *vectorMagnitude);
ZwVectorMagnitude(szwVector vectorData, double *vectorMagnitude);
ZwVector2Dot(szwVector2 vector1, szwVector2 vector2, double *dotPorduct);
ZwVectorDot(szwVector vector1, szwVector vector2, double *dotPorduct);
ZwVector2Negated(szwVector2 vector, szwVector2 *negativeV);
ZwVectorNegated(szwVector vectorData, szwVector *negativeV);
ZwVector2IsEqual(szwVector2 vector1, szwVector2 vector2, double tolerance, int *isEqual);
ZwVectorIsEqual(szwVector vector1, szwVector vector2, double tolerance, int *isEqual);
ZwVector4IsEqual(szwVector4 vector1, szwVector4 vector2, double tolerance, int *isEqual);
ZwVector2IsZero(szwVector2 vector, double tolerance, int *isZero);
ZwVectorIsZero(szwVector vectorData, double tolerance, int *isZero);
ZwVector4IsZero(szwVector4 vector, double tolerance, int *isZero);
ZwVector2Sum(szwVector2 vector1, szwVector2 vector2, szwVector2 *sumVector);
ZwVectorSum(szwVector vector1, szwVector vector2, szwVector *sumVector);
ZwVector2AffineCombine(szwVector2 vector1, szwVector2 vector2, double scaleFactor, szwVector2 *combinedVector);
ZwVectorAffineCombine(szwVector vector1, szwVector vector2, double scaleFactor, szwVector *combinedVector);
ZwVector2LinearCombine(szwVector2 vector1, szwVector2 vector2, double scaleFactor1, double scaleFactor2, szwVector2 *combinedVector);
ZwVectorLinearCombine(szwVector vector1, szwVector vector2, double scaleFactor1, double scaleFactor2, szwVector *combinedVector);
ZwVector2ToVector3(szwVector2 vector1, szwVector *vector2);
ZwVector3ToVector2(szwVector vector1, szwVector2 *vector2);
ZwVector3ToVector4(szwVector vector1, szwVector4 *vector2);
ZwVector3ToVector4WithWeight(szwVector vector1, double vectorWeight, szwVector4 *vector2);
ZwVector4ToVector3(szwVector4 vector1, szwVector *vector2);
ZwVector4ToVector3WithWeight(szwVector4 vector1, szwVector *vector2);
ZwVector2LinearComponents(szwVector2 vector1, szwVector2 vector2, szwVector2 combineVector, double tolerance, int *isExist, double *scale1, double *scale2);
ZwVectorLinearComponents(szwVector vector1, szwVector vector2, szwVector combineVector, double tolerance, int *isExist, double *scale1, double *scale2);
ZwVectorNormalize(szwVector *vector);
ZwVectorInit(szwPoint point1, szwPoint point2, szwVector *vector);
ZwVectorAngleGet(szwVector vector1, szwVector vector2, double *angle);
ZwVectorCrossProduct(szwVector vector1, szwVector vector2, szwVector *cross);
ZwVectorPerpendicularGet(szwVector vector, szwVector *perpendicular);
ZwVectorReverse(szwVector *vector);
ZwVectorParallelCheck(int orient, szwVector vector1, szwVector vector2, double cosineTolerance, int *ifParallel);
ZwVectorTransform(szwMatrix inputMatrix, szwVector *vector);
cvxPartInqCurves获取文件所有曲线(int *Count, int **Curves);
cvxPartInqCrvLists输出曲线列表的索引列表(int *Count, int **CrvLists);
cvxPartInqCrvList部件中曲线列表实体的 idCrvList id(int idCrvList, int *Count, svxEntPick **Curves);
cvxPartInqCurve获取曲线数据(int idEntity, int Nurb, svxCurve *Crv);
cvxPartInqPoints获取所有点(int *count, int **pointIdx);


 

  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值