临时放置代码

临时放置代码 szwMatrix CSYSmatrix; ZwEntityMatrixGet(CSYS, CSYSmatrix); szwPoint SelPoint{}; cvxMsgDisp(_T(请选择面上的一个点)); ZwPointGetByPick(_T(请选择打孔的点), ZW_INPUT_POINT_ON_ANY_FACE, 1, SelPoint, NULL); ToWorkPlane(CSYS, SelPoint); double L 20, W 10, R W / 2, H (L - W) / 2; szwPoint tr { SelPoint.x H, SelPoint.y - R, SelPoint.z }; szwPoint tl { SelPoint.x - H, SelPoint.y - R, SelPoint.z }; szwPoint bl { SelPoint.x - H, SelPoint.y R, SelPoint.z }; szwPoint br { SelPoint.x H, SelPoint.y R, SelPoint.z }; szwPoint cl { SelPoint.x - H, SelPoint.y, SelPoint.z }; szwPoint cr { SelPoint.x H, SelPoint.y, SelPoint.z }; ToAbsolutePlane(CSYS, tr); ToAbsolutePlane(CSYS, tl); ToAbsolutePlane(CSYS, bl); ToAbsolutePlane(CSYS, br); ToAbsolutePlane(CSYS, cl); ToAbsolutePlane(CSYS, cr); szwEntityHandle SelFaceShape{}; ZwFaceShapeGet(SelFace, SelFaceShape); szwBoundingBox ShapeBox; ZwEntityBoundingBoxGet(SelFaceShape, ZW_COORDINATE_CUSTOM, CSYSmatrix, ShapeBox); double ShapeHeight ShapeBox.z.max - ShapeBox.z.min; // 只改了这段用线弧画腰型孔绑定到面上 auto PE [](szwPoint* p) - szwPointOnEntity { szwPointOnEntity e {}; e.point p; return e; }; szwEntityHandle lt{}, al{}, lb{}, ar{}; szwLineData dl {}; dl.lineType ZW_LINE_2POINT; dl.alignPlane SelFace; // ← 绑到面上和 GetRectangle 里 plane 一样 dl.projectToPlane 1; dl.point1 PE(tr); dl.point2 PE(tl); ZwFeatureLineCreate(dl, lt); szwArcData da {}; da.type ZW_ARC_CENTER; da.alignPlane SelFace; // ← 同样绑到面上 da.projectToPlane 1; da.data.center.centerPoint PE(cl); da.data.center.firstPoint PE(tl); da.data.center.secondPoint PE(bl); ZwFeatureArcCreate(da, al); dl.point1 PE(bl); dl.point2 PE(br); ZwFeatureLineCreate(dl, lb); da.data.center.centerPoint PE(cr); da.data.center.firstPoint PE(br); da.data.center.secondPoint PE(tr); ZwFeatureArcCreate(da, ar); szwEntityHandle curveHandles[4] { lt, al, lb, ar }; szwEntityHandle CurveList{}; ZwFeatureCurvelistCreate(4, curveHandles, CurveList); // 改到这里结束 szwExtrudeData extrudeData; ZwFeatureExtrudeInit(extrudeData); extrudeData.profileHandle CurveList; extrudeData.extrudeType ZW_DRFAT_ONE_SIDE; extrudeData.startS 0; extrudeData.endE ShapeHeight; extrudeData.direction { -CSYSmatrix.zx, -CSYSmatrix.zy, -CSYSmatrix.zz }; szwEntityHandle shapeHandle{}; ZwFeatureExtrudeCreate(extrudeData, shapeHandle); int shapeId 0; ZwEntityIdGet(1, shapeHandle, shapeId); cvxPartDefeature(1, shapeId); evxColor Color VX_COLOR_RED; int FaceCount 0; int* FaceIds 0; cvxPartInqShapeFaces(shapeId, FaceCount, FaceIds); cvxEntColorSet(Color, FaceCount, FaceIds); ZwHistoryOperationDelete(4, curveHandles, ZW_DELETE_ASSOCIATED_OPERATION); int SelFaceShapeId 0; ZwEntityIdGet(1, SelFaceShape, SelFaceShapeId); cvxPartBool(VX_BOOL_REMOVE, SelFaceShapeId, 1, shapeId, 0); cvxPartDefeature(1, SelFaceShapeId); ZwHistoryOperationDelete(1, CSYS, ZW_DELETE_ASSOCIATED_OPERATION); CSYS.innerData NULL;