<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      創建銅公開粗程序

        1 // NX 1930
        2 // Journal created by Administrator on Wed Jul 29 11:53:25 2020 中國標準時間
        3 
        4 //
        5 #include <uf_defs.h>
        6 #include <NXOpen/NXException.hxx>
        7 #include <NXOpen/Session.hxx>
        8 #include <NXOpen/Axis.hxx>
        9 #include <NXOpen/BasePart.hxx>
       10 #include <NXOpen/Builder.hxx>
       11 #include <NXOpen/CAM_AcrossVoids.hxx>
       12 #include <NXOpen/CAM_ArcOutputTypeCiBuilder.hxx>
       13 #include <NXOpen/CAM_AvoidanceMethodsBuilder.hxx>
       14 #include <NXOpen/CAM_BlankIpw.hxx>
       15 #include <NXOpen/CAM_BlankIpwMultipleSource.hxx>
       16 #include <NXOpen/CAM_BlankIpwSet.hxx>
       17 #include <NXOpen/CAM_BlankIpwSetList.hxx>
       18 #include <NXOpen/CAM_Boundary.hxx>
       19 #include <NXOpen/CAM_BoundaryPlanarMill.hxx>
       20 #include <NXOpen/CAM_BoundarySet.hxx>
       21 #include <NXOpen/CAM_BoundarySetList.hxx>
       22 #include <NXOpen/CAM_CAMSetup.hxx>
       23 #include <NXOpen/CAM_CavityMilling.hxx>
       24 #include <NXOpen/CAM_CavityMillingBuilder.hxx>
       25 #include <NXOpen/CAM_CleanupOutput.hxx>
       26 #include <NXOpen/CAM_CleanupSettings.hxx>
       27 #include <NXOpen/CAM_CornerControlBuilder.hxx>
       28 #include <NXOpen/CAM_CutAngle.hxx>
       29 #include <NXOpen/CAM_CutDirection.hxx>
       30 #include <NXOpen/CAM_CutLevel.hxx>
       31 #include <NXOpen/CAM_CutLevelPlanar.hxx>
       32 #include <NXOpen/CAM_CutParameters.hxx>
       33 #include <NXOpen/CAM_CutPatternBuilder.hxx>
       34 #include <NXOpen/CAM_CutVolumeGeom.hxx>
       35 #include <NXOpen/CAM_Cycle.hxx>
       36 #include <NXOpen/CAM_DisplayPaint.hxx>
       37 #include <NXOpen/CAM_DisplayPath.hxx>
       38 #include <NXOpen/CAM_DisplaySilhouette.hxx>
       39 #include <NXOpen/CAM_DisplayTool.hxx>
       40 #include <NXOpen/CAM_ExtendAtEdges.hxx>
       41 #include <NXOpen/CAM_FaceMilling.hxx>
       42 #include <NXOpen/CAM_FaceMillingBuilder.hxx>
       43 #include <NXOpen/CAM_FeatureGeomBuilder.hxx>
       44 #include <NXOpen/CAM_FeatureGeometry.hxx>
       45 #include <NXOpen/CAM_FeedsBuilder.hxx>
       46 #include <NXOpen/CAM_FeedsOptimizationData.hxx>
       47 #include <NXOpen/CAM_FinishPassesBuilder.hxx>
       48 #include <NXOpen/CAM_Geometry.hxx>
       49 #include <NXOpen/CAM_GeometryCiBuilder.hxx>
       50 #include <NXOpen/CAM_GeometryGroup.hxx>
       51 #include <NXOpen/CAM_GeometrySet.hxx>
       52 #include <NXOpen/CAM_GeometrySetList.hxx>
       53 #include <NXOpen/CAM_HoleBossGeom.hxx>
       54 #include <NXOpen/CAM_Inheritable2dLength.hxx>
       55 #include <NXOpen/CAM_InheritableDoubleBuilder.hxx>
       56 #include <NXOpen/CAM_InheritableFeedBuilder.hxx>
       57 #include <NXOpen/CAM_InheritableFeedModeBuilder.hxx>
       58 #include <NXOpen/CAM_InheritableIntBuilder.hxx>
       59 #include <NXOpen/CAM_InheritableTextBuilder.hxx>
       60 #include <NXOpen/CAM_InheritableToolDepBuilder.hxx>
       61 #include <NXOpen/CAM_LayoutCiBuilder.hxx>
       62 #include <NXOpen/CAM_LevelToLevel.hxx>
       63 #include <NXOpen/CAM_LowerLimit.hxx>
       64 #include <NXOpen/CAM_MaxCutTraverse.hxx>
       65 #include <NXOpen/CAM_Method.hxx>
       66 #include <NXOpen/CAM_MillBoundaryGeomBuilder.hxx>
       67 #include <NXOpen/CAM_MillCutParameters.hxx>
       68 #include <NXOpen/CAM_MillGeomBuilder.hxx>
       69 #include <NXOpen/CAM_MillOperationBuilder.hxx>
       70 #include <NXOpen/CAM_MinCutVolume.hxx>
       71 #include <NXOpen/CAM_MultiBladeBaseGeometry.hxx>
       72 #include <NXOpen/CAM_MultiBladeSplittersGeometry.hxx>
       73 #include <NXOpen/CAM_MultiDepthCut.hxx>
       74 #include <NXOpen/CAM_MultiplePassesBuilder.hxx>
       75 #include <NXOpen/CAM_MultipleStepoverBuilder.hxx>
       76 #include <NXOpen/CAM_NCGroup.hxx>
       77 #include <NXOpen/CAM_NCGroupBuilder.hxx>
       78 #include <NXOpen/CAM_NCGroupCollection.hxx>
       79 #include <NXOpen/CAM_NcmAvoidancePointBuilder.hxx>
       80 #include <NXOpen/CAM_NcmClearanceBuilder.hxx>
       81 #include <NXOpen/CAM_NcmPlanarBuilder.hxx>
       82 #include <NXOpen/CAM_NcmPlanarEngRetBuilder.hxx>
       83 #include <NXOpen/CAM_NcmSmoothingBuilder.hxx>
       84 #include <NXOpen/CAM_NcmSubopBuilder.hxx>
       85 #include <NXOpen/CAM_NcmTransfer.hxx>
       86 #include <NXOpen/CAM_Notes.hxx>
       87 #include <NXOpen/CAM_Operation.hxx>
       88 #include <NXOpen/CAM_OperationBuilder.hxx>
       89 #include <NXOpen/CAM_OperationCollection.hxx>
       90 #include <NXOpen/CAM_OperationDisplayOptionsBuilder.hxx>
       91 #include <NXOpen/CAM_OutputUncutRegions.hxx>
       92 #include <NXOpen/CAM_ParamBuilder.hxx>
       93 #include <NXOpen/CAM_PathDisplayColors.hxx>
       94 #include <NXOpen/CAM_PlanarMilling.hxx>
       95 #include <NXOpen/CAM_PlanarMillingBuilder.hxx>
       96 #include <NXOpen/CAM_PlanarOperationBuilder.hxx>
       97 #include <NXOpen/CAM_PostEventsCiBuilder.hxx>
       98 #include <NXOpen/CAM_RoundPointBuilder.hxx>
       99 #include <NXOpen/CAM_SmallAreaAvoidance.hxx>
      100 #include <NXOpen/CAM_Splitter.hxx>
      101 #include <NXOpen/CAM_SplitterList.hxx>
      102 #include <NXOpen/CAM_SpunOutlineGeom.hxx>
      103 #include <NXOpen/CAM_SteepContainment.hxx>
      104 #include <NXOpen/CAM_StepoverBuilder.hxx>
      105 #include <NXOpen/CAM_StockPerPassBuilder.hxx>
      106 #include <NXOpen/CAM_Tool.hxx>
      107 #include <NXOpen/CAM_ToolAxisBase.hxx>
      108 #include <NXOpen/CAM_ToolAxisChange.hxx>
      109 #include <NXOpen/CAM_ToolAxisFixed.hxx>
      110 #include <NXOpen/CAM_ToolAxisTilt.hxx>
      111 #include <NXOpen/CAM_ToolChangeCiBuilder.hxx>
      112 #include <NXOpen/CAM_ToolPathEditorBuilder.hxx>
      113 #include <NXOpen/CAM_ToolPathSplitParametersBuilder.hxx>
      114 #include <NXOpen/CAM_Topology.hxx>
      115 #include <NXOpen/CAM_TrochoidalSettings.hxx>
      116 #include <NXOpen/CAM_Ude.hxx>
      117 #include <NXOpen/CAM_UdeList.hxx>
      118 #include <NXOpen/CAM_UdeSet.hxx>
      119 #include <NXOpen/CAM_UpDownCutting.hxx>
      120 #include <NXOpen/CAM_ZAxisSmoothing.hxx>
      121 #include <NXOpen/CartesianCoordinateSystem.hxx>
      122 #include <NXOpen/CoordinateSystem.hxx>
      123 #include <NXOpen/CAM_ParamBuilder.hxx>
      124 #include <NXOpen/CAM_ProgramOrderGroupBuilder.hxx>
      125 #include <NXOpen/Direction.hxx>
      126 #include <NXOpen/Expression.hxx>
      127 #include <NXOpen/ExpressionCollection.hxx>
      128 #include <NXOpen/IPlane.hxx>
      129 #include <NXOpen/NXObject.hxx>
      130 #include <NXOpen/Part.hxx>
      131 #include <NXOpen/PartCollection.hxx>
      132 #include <NXOpen/Plane.hxx>
      133 #include <NXOpen/PlaneCollection.hxx>
      134 #include <NXOpen/Point.hxx>
      135 #include <NXOpen/PreviewBuilder.hxx>
      136 #include <NXOpen/ScCollector.hxx>
      137 #include <NXOpen/Session.hxx>
      138 #include <NXOpen/SmartObject.hxx>
      139 #include <NXOpen/Unit.hxx>
      140 #include <NXOpen/UnitCollection.hxx>
      141 
      142 #include "C:\\all_uf.h"
      143 
      144 #include <NXOpen/CAM_CAMSession.hxx>
      145 #include <NXOpen/CAM_CAMSetup.hxx>
      146 #include <NXOpen/CAM_PathDisplay.hxx>
      147 #include <NXOpen/Part.hxx>
      148 #include <NXOpen/PartCollection.hxx>
      149 #include <NXOpen/SIM_KinematicConfigurator.hxx>
      150 #include <NXOpen/CAM_Cycle.hxx>
      151 #include <NXOpen/CAM_HolderSectionBuilder.hxx>
      152 #include <NXOpen/CAM_InheritableDoubleBuilder.hxx>
      153 #include <NXOpen/CAM_InheritableIntBuilder.hxx>
      154 #include <NXOpen/CAM_InheritableToolDepBuilder.hxx>
      155 #include <NXOpen/CAM_MillToolBuilder.hxx>
      156 #include <NXOpen/CAM_MillingToolBuilder.hxx>
      157 #include <NXOpen/CAM_MillingTrackpointBuilder.hxx>
      158 #include <NXOpen/CAM_NCGroup.hxx>
      159 #include <NXOpen/CAM_NCGroupBuilder.hxx>
      160 #include <NXOpen/CAM_NCGroupCollection.hxx>
      161 #include <NXOpen/CAM_ParamBuilder.hxx>
      162 #include <NXOpen/CAM_Tool.hxx>
      163 #include <NXOpen/CAM_ToolBuilder.hxx>
      164 #include <NXOpen/CAM_Ude.hxx>
      165 #include <NXOpen/CAM_UdeList.hxx>
      166 #include <NXOpen/CAM_UdeSet.hxx>
      167 #include <NXOpen/NXObject.hxx>
      168 
      169 #include <NXOpen/CAM_NcmAvoidancePointBuilder.hxx>
      170 #include <NXOpen/CAM_NcmClearanceBuilder.hxx>
      171 #include <NXOpen/CAM_OrientGeomBuilder.hxx>
      172 #include <NXOpen/CAM_OrientGeometry.hxx>
      173 #include <NXOpen/CAM_InheritableIntBuilder.hxx>
      174 #include <NXOpen/CAM_LayoutCiBuilder.hxx>
      175 #include <NXOpen/CAM_MillOrientGeomBuilder.hxx>
      176 
      177 #include <NXOpen/CAM_CutParameters.hxx>
      178 #include <NXOpen/CAM_Method.hxx>
      179 #include <NXOpen/CAM_MethodBuilder.hxx>
      180 #include <NXOpen/CAM_MillMethodBuilder.hxx>
      181 
      182 #define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))
      183 
      184 static int report_error(char *file, int line, char *call, int irc)
      185 {
      186     if (irc)
      187     {
      188         char err[133], msg[133];
      189         sprintf(msg, "*** ERROR code %d at line %d in %s:\n+++ ",
      190             irc, line, file);
      191         UF_get_fail_message(irc, err);
      192         UF_print_syslog(msg, FALSE);
      193         UF_print_syslog(err, FALSE);
      194         UF_print_syslog("\n", FALSE);
      195         UF_print_syslog(call, FALSE);
      196         UF_print_syslog(";\n", FALSE);
      197 
      198         if (!UF_UI_open_listing_window())
      199         {
      200             UF_UI_write_listing_window(msg);
      201             UF_UI_write_listing_window(err);
      202             UF_UI_write_listing_window("\n");
      203             UF_UI_write_listing_window(call);
      204             UF_UI_write_listing_window(";\n");
      205         }
      206     }
      207     return(irc);
      208 }
      209 
      210 // We are currently testing removal of using namespace NXOpen.
      211 // Uncomment the below line if your journal does not compile.
      212 using namespace NXOpen;
      213 
      214 extern "C" DllExport int ufusr_ask_unload()
      215 {
      216     return (int)Session::LibraryUnloadOptionImmediately;
      217 }
      218 
      219 static void createTool()//創建刀具
      220 {
      221     NXOpen::Session *theSession = NXOpen::Session::GetSession();
      222     NXOpen::Part *workPart(theSession->Parts()->Work());
      223     NXOpen::Part *displayPart(theSession->Parts()->Display());
      224     NXOpen::CAM::NCGroup *nCGroup1(dynamic_cast<NXOpen::CAM::NCGroup *>(workPart->CAMSetup()->CAMGroupCollection()->FindObject("GENERIC_MACHINE")));
      225     NXOpen::CAM::NCGroup *nCGroup2;
      226     nCGroup2 = workPart->CAMSetup()->CAMGroupCollection()->CreateTool(nCGroup1, "mill_planar", "MILL", NXOpen::CAM::NCGroupCollection::UseDefaultNameFalse, "D8");
      227 
      228     NXOpen::CAM::Tool *tool1(dynamic_cast<NXOpen::CAM::Tool *>(nCGroup2));
      229     NXOpen::CAM::MillToolBuilder *millToolBuilder1;
      230     millToolBuilder1 = workPart->CAMSetup()->CAMGroupCollection()->CreateMillToolBuilder(tool1);
      231     // ----------------------------------------------
      232     millToolBuilder1->TlDiameterBuilder()->SetValue(8.0);
      233     millToolBuilder1->TlNumberBuilder()->SetValue(8);
      234     millToolBuilder1->TlAdjRegBuilder()->SetValue(0);
      235     millToolBuilder1->TlCutcomRegBuilder()->SetValue(0);
      236     NXOpen::NXObject *nXObject1;
      237     nXObject1 = millToolBuilder1->Commit();
      238     millToolBuilder1->Destroy();
      239 
      240 }
      241 
      242 static void Create_Method(char *str)//創建方法
      243 {
      244     NXOpen::Session *theSession = NXOpen::Session::GetSession();
      245     NXOpen::Part *workPart(theSession->Parts()->Work());
      246     NXOpen::Part *displayPart(theSession->Parts()->Display());
      247     NXOpen::CAM::Method *method1(dynamic_cast<NXOpen::CAM::Method *>(workPart->CAMSetup()->CAMGroupCollection()->FindObject("METHOD")));
      248     NXOpen::CAM::NCGroup *nCGroup0;
      249     nCGroup0 = workPart->CAMSetup()->CAMGroupCollection()->CreateMethod(method1, "NF", "0", NXOpen::CAM::NCGroupCollection::UseDefaultNameFalse, str);
      250     NXOpen::CAM::Method *method2(dynamic_cast<NXOpen::CAM::Method *>(nCGroup0));
      251     NXOpen::CAM::MillMethodBuilder *millMethodBuilder1;
      252     millMethodBuilder1 = workPart->CAMSetup()->CAMGroupCollection()->CreateMillMethodBuilder(method2);
      253     millMethodBuilder1->CutParameters()->PartStock()->SetValue(0.07);
      254     NXOpen::NXObject *nXObject1;
      255     nXObject1 = millMethodBuilder1->Commit();
      256     millMethodBuilder1->Destroy();
      257 }
      258 
      259 static void create_mcs(char *msc)//創建MCS
      260 {
      261     NXOpen::Session *theSession = NXOpen::Session::GetSession();
      262     NXOpen::Part *workPart(theSession->Parts()->Work());
      263     NXOpen::Part *displayPart(theSession->Parts()->Display());
      264     NXOpen::CAM::NCGroup *nCGroup2(dynamic_cast<NXOpen::CAM::NCGroup *>(workPart->CAMSetup()->CAMGroupCollection()->FindObject("GEOMETRY")));
      265     NXOpen::CAM::NCGroup *nCGroup3;
      266     nCGroup3 = workPart->CAMSetup()->CAMGroupCollection()->CreateGeometry(nCGroup2, "NF", "MCS", NXOpen::CAM::NCGroupCollection::UseDefaultNameFalse, msc);
      267     NXOpen::CAM::OrientGeometry *orientGeometry1(dynamic_cast<NXOpen::CAM::OrientGeometry *>(nCGroup3));
      268     NXOpen::CAM::MillOrientGeomBuilder *millOrientGeomBuilder1;
      269     millOrientGeomBuilder1 = workPart->CAMSetup()->CAMGroupCollection()->CreateMillOrientGeomBuilder(orientGeometry1);
      270     NXOpen::CAM::OrientGeomBuilder::CsysPurposeModes csyspurposemode1;
      271     csyspurposemode1 = millOrientGeomBuilder1->GetCsysPurposeMode();
      272     NXOpen::CAM::OrientGeomBuilder::SpecialOutputModes specialoutputmode1;
      273     specialoutputmode1 = millOrientGeomBuilder1->GetSpecialOutputMode();
      274     NXOpen::CAM::OrientGeomBuilder::ToolAxisModes toolaxismode1;
      275     toolaxismode1 = millOrientGeomBuilder1->GetToolAxisMode();
      276     NXOpen::Point3d origin1(0.0, 0.0, 0.0);
      277     NXOpen::Vector3d normal1(0.0, 0.0, 1.0);
      278     NXOpen::Plane *plane1;
      279     plane1 = workPart->Planes()->CreatePlane(origin1, normal1, NXOpen::SmartObject::UpdateOptionAfterModeling);
      280     NXOpen::CAM::MillOrientGeomBuilder::LowerLimitModes lowerlimitmode1;
      281     lowerlimitmode1 = millOrientGeomBuilder1->GetLowerLimitMode();
      282     NXOpen::NXObject *nXObject1;
      283     nXObject1 = millOrientGeomBuilder1->Commit();
      284     millOrientGeomBuilder1->Destroy();
      285     plane1->DestroyPlane();
      286 }
      287 
      288 extern "C" DllExport void ufusr(char* param, int* retCode, int paramLen)
      289 {
      290     try
      291     {
      292         UF_initialize();        
      293         Session* theSession = Session::GetSession();
      294         Part* workPart(theSession->Parts()->Work());
      295         Part* displayPart(theSession->Parts()->Display());
      296         tag_t Tooltag = NULL_TAG;
      297         tag_t setuptag = NULL_TAG;
      298         tag_t mctTag = NULL_TAG;
      299         tag_t geomtag = NULL_TAG;
      300         tag_t MCStag = NULL_TAG;
      301         tag_t Meth_tag = NULL_TAG;
      302         tag_t ncMeth_tag = NULL_TAG;
      303 
      304         UF_SETUP_ask_setup(&setuptag);        
      305         CAM::CAMSetup *cAMSetup1;        
      306         cAMSetup1 = workPart->CreateCamSetup("NF");        
      307         CAM::NCGroup* nCGroup1;
      308         UF_SETUP_ask_geom_root(setuptag, &geomtag);//獲取幾何TAG
      309         UF_NCGROUP_ask_object_of_name(geomtag, "MCS_MILL", &MCStag);
      310         if (MCStag)
      311         {
      312             nCGroup1 = (dynamic_cast<CAM::NCGroup*>(workPart->CAMSetup()->CAMGroupCollection()->FindObject("MCS_MILL")));
      313         }
      314         else
      315         {
      316             create_mcs("MCS_MILL");
      317             nCGroup1 = (dynamic_cast<CAM::NCGroup*>(workPart->CAMSetup()->CAMGroupCollection()->FindObject("MCS_MILL")));            
      318         }
      319         //設置安全高度
      320         MCStag = workPart->CAMSetup()->CAMGroupCollection()->FindObject("MCS_MILL")->Tag();
      321         double origin[3] = { 0.0,0.0,30.0 };
      322         double normal[3] = { 0.0,0.0,1.0 };
      323         int err = UF_CAM_set_clear_plane_data(MCStag, origin, normal);
      324         if (err)
      325         {
      326             char msg[256];
      327             UF_get_fail_message(err, msg);
      328             uc1601(msg, 1);
      329         }        
      330         CAM::NCGroup* nCGroup4;        
      331         nCGroup4 = workPart->CAMSetup()->CAMGroupCollection()->CreateGeometry(nCGroup1, "NF", "WORKPIECE", CAM::NCGroupCollection::UseDefaultNameTrue, "WORKPIECE");//使用默認名        
      332         CAM::FeatureGeometry* featureGeometry1(dynamic_cast<CAM::FeatureGeometry*>(nCGroup4));        
      333         CAM::MillGeomBuilder* millGeomBuilder1;        
      334         millGeomBuilder1 = workPart->CAMSetup()->CAMGroupCollection()->CreateMillGeomBuilder(featureGeometry1);        
      335         NXObject* nXObject1;
      336         nXObject1 = millGeomBuilder1->Commit();
      337         millGeomBuilder1->Destroy();
      338 
      339         int count = 0;
      340         char obj_name[256] = "";
      341         char obj_name1[256] = "";
      342         tag_t* objects = NULL;
      343         CAM::NCGroup* nCGroup3;        
      344         UF_UI_ONT_ask_selected_nodes(&count, &objects);
      345         if (objects != NULL)
      346         {
      347             int Type = 0, Subtype = 0;
      348             UF_OBJ_ask_type_and_subtype(objects[0], &Type, &Subtype);            
      349             if (Type == UF_machining_task_type && Subtype == UF_mach_order_task_subtype)
      350             {                
      351                 UF_OBJ_ask_name(objects[0], obj_name);                
      352                 nCGroup3 = workPart->CAMSetup()->CAMGroupCollection()->FindObject(obj_name);                
      353             }
      354             else
      355             {                
      356                 CAM::NCGroup* nCGroup;                
      357                 UF_OBJ_ask_name(objects[0], obj_name1);                
      358                 nCGroup = workPart->CAMSetup()->CAMGroupCollection()->FindObject(obj_name1);                
      359                 nCGroup3 = nCGroup->GetParent();                
      360             }
      361         }
      362         else
      363         {
      364             tag_t programs = NULL_TAG;            
      365             UF_OBJ_cycle_by_name_and_type(UF_ASSEM_ask_work_part(), "PROGRAM", UF_machining_task_type, false, &programs);            
      366             if (programs)
      367                 nCGroup3 = workPart->CAMSetup()->CAMGroupCollection()->FindObject("PROGRAM");
      368             else
      369             {                
      370                 CAM::NCGroup *NCGroup1(dynamic_cast<CAM::NCGroup *>(workPart->CAMSetup()->CAMGroupCollection()->FindObject("NC_PROGRAM")));                
      371                 CAM::NCGroup *NCGroup2;                
      372                 NCGroup2 = workPart->CAMSetup()->CAMGroupCollection()->CreateProgram(NCGroup1, "NF", "PROGRAM", CAM::NCGroupCollection::UseDefaultNameTrue, "PROGRAM");                
      373                 CAM::ProgramOrderGroupBuilder *programOrderGroupBuilder1;                
      374                 programOrderGroupBuilder1 = workPart->CAMSetup()->CAMGroupCollection()->CreateProgramOrderGroupBuilder(NCGroup1);                
      375                 NXObject *NXObject1;                
      376                 NXObject1 = programOrderGroupBuilder1->Commit();
      377                 programOrderGroupBuilder1->Destroy();                
      378                 nCGroup3 = NCGroup2;                
      379             }
      380         }            
      381         UF_SETUP_ask_mthd_root(setuptag, &Meth_tag);
      382         UF_NCGROUP_ask_object_of_name(Meth_tag, "0.07", &ncMeth_tag);
      383         CAM::Method* method1;
      384         if (ncMeth_tag)
      385         {
      386             method1=dynamic_cast<CAM::Method*>(workPart->CAMSetup()->CAMGroupCollection()->FindObject("0.07"));
      387         }
      388         else
      389         {
      390             Create_Method("0.07");//創建方法
      391             method1 = dynamic_cast<CAM::Method*>(workPart->CAMSetup()->CAMGroupCollection()->FindObject("0.07"));
      392         }        
      393         CAM::Tool* tool1;    
      394         UF_SETUP_ask_mct_root(setuptag, &mctTag);
      395         UF_NCGROUP_ask_object_of_name(mctTag, "D8", &Tooltag);                
      396         if (Tooltag) //存在
      397         {
      398             tool1 = dynamic_cast<CAM::Tool*>(workPart->CAMSetup()->CAMGroupCollection()->FindObject("D8"));
      399         }
      400         else //不存在
      401         {            
      402             createTool(); //創建一把刀            
      403             tool1 = dynamic_cast<CAM::Tool*>(workPart->CAMSetup()->CAMGroupCollection()->FindObject("D8"));            
      404         }                
      405         CAM::FeatureGeometry* featureGeometry2(dynamic_cast<CAM::FeatureGeometry*>(nXObject1));        
      406         CAM::Operation* operation1;        
      407         operation1 = workPart->CAMSetup()->CAMOperationCollection()->Create(nCGroup3, method1, tool1, featureGeometry2, "NF", "FACE_M", CAM::OperationCollection::UseDefaultNameTrue, "FACE_M");        
      408         CAM::FaceMilling* faceMilling1(dynamic_cast<CAM::FaceMilling*>(operation1));        
      409         CAM::FaceMillingBuilder* faceMillingBuilder1;        
      410         Direction* nullNXOpen_Direction(NULL);        
      411         faceMillingBuilder1 = workPart->CAMSetup()->CAMOperationCollection()->CreateFaceMillingBuilder(faceMilling1);        
      412         // ----------------------------------------------
      413         //   Dialog Begin Face M - [FACE_M]
      414         // ----------------------------------------------        
      415         faceMillingBuilder1->NonCuttingBuilder()->EngageOpenAreaBuilder()->SetVector(nullNXOpen_Direction);
      416         faceMillingBuilder1->CutParameters()->FloorStock()->SetValue(0.0);//底部余量
      417         faceMillingBuilder1->CutParameters()->SetExtendToPart(true);//延伸到部件輪廓
      418         faceMillingBuilder1->BndStepover()->PercentToolFlatBuilder()->SetValue(50.0);//平面刀具直徑百分比
      419         faceMillingBuilder1->CutParameters()->BlankDistance()->SetValue(0.50);//毛坯距離
      420         faceMillingBuilder1->DepthPerCut()->SetValue(0.0);//每刀深度
      421         faceMillingBuilder1->FeedsBuilder()->FeedCutBuilder()->SetValue(2000.0);//進給
      422         faceMillingBuilder1->NonCuttingBuilder()->EngageClosedAreaBuilder()->SetEngRetType(CAM::NcmPlanarEngRetBuilder::EngRetTypesSameAsEngage);//進刀
      423         faceMillingBuilder1->FeedsBuilder()->SpindleRpmBuilder()->SetValue(6000.0);//主軸轉速
      424         //faceMillingBuilder1->FeedsBuilder()->RecalculateData(CAM::FeedsBuilder::RecalcuateBasedOnSpindleSpeed);//計算器            
      425         NXObject* nXObject2;        
      426         nXObject2 = faceMillingBuilder1->Commit();
      427         faceMillingBuilder1->Destroy();
      428         
      429         // ----------------------------------------------
      430         //   Dialog Begin Cavity M - [CAVITY_M]
      431         // ----------------------------------------------
      432         CAM::Operation* operation2;        
      433         operation2 = workPart->CAMSetup()->CAMOperationCollection()->Create(nCGroup3, method1, tool1, featureGeometry2, "NF", "CAVITY_M", CAM::OperationCollection::UseDefaultNameTrue, "CAVITY_M");        
      434         CAM::CavityMilling* cavityMilling1(dynamic_cast<CAM::CavityMilling*>(operation2));        
      435         CAM::CavityMillingBuilder* cavityMillingBuilder1;        
      436         cavityMillingBuilder1 = workPart->CAMSetup()->CAMOperationCollection()->CreateCavityMillingBuilder(cavityMilling1);        
      437         cavityMillingBuilder1->CutParameters()->PartStock()->SetValue(0.1);
      438         cavityMillingBuilder1->BndStepover()->PercentToolFlatBuilder()->SetValue(60.0);//平面刀具直徑百分比
      439         cavityMillingBuilder1->CutLevel()->GlobalDepthPerCut()->DistanceBuilder()->SetValue(0.5);
      440         cavityMillingBuilder1->CutParameters()->SetPatternDirection(CAM::CutParametersPatternDirectionTypesInward);//向內
      441         cavityMillingBuilder1->NonCuttingBuilder()->EngageOpenAreaBuilder()->SetVector(nullNXOpen_Direction);
      442         cavityMillingBuilder1->SetIslandCleanup(true);//設置孤島清理
      443         cavityMillingBuilder1->NonCuttingBuilder()->EngageClosedAreaBuilder()->SetEngRetType(CAM::NcmPlanarEngRetBuilder::EngRetTypesSameAsEngage);
      444         cavityMillingBuilder1->NonCuttingBuilder()->EngageOpenAreaBuilder()->HeightBuilder()->SetValue(1.0);//進刀高度    
      445         //cavityMillingBuilder1->FeedsBuilder()->RecalculateData(CAM::FeedsBuilder::RecalcuateBasedOnSpindleSpeed);
      446         cavityMillingBuilder1->FeedsBuilder()->FeedCutBuilder()->SetValue(2000.0);
      447         cavityMillingBuilder1->FeedsBuilder()->SpindleRpmBuilder()->SetValue(6000.0);
      448         //cavityMillingBuilder1->FeedsBuilder()->RecalculateData(CAM::FeedsBuilder::RecalcuateBasedOnCutFeedRate);        
      449         NXObject* nXObject3;        
      450         nXObject3 = cavityMillingBuilder1->Commit();
      451         cavityMillingBuilder1->Destroy();
      452         // ----------------------------------------------
      453         //   Dialog Begin 銑削邊界
      454         // ----------------------------------------------        
      455         CAM::NCGroup* nCGroup5;        
      456         nCGroup5 = workPart->CAMSetup()->CAMGroupCollection()->CreateGeometry(featureGeometry2, "NF", "MILL_BND", CAM::NCGroupCollection::UseDefaultNameTrue, "MILL_BND");//使用默認名創建邊界        
      457         CAM::FeatureGeometry* featureGeometry3(dynamic_cast<CAM::FeatureGeometry*>(nCGroup5));        
      458         CAM::MillBoundaryGeomBuilder* millBoundaryGeomBuilder1;        
      459         millBoundaryGeomBuilder1 = workPart->CAMSetup()->CAMGroupCollection()->CreateMillBoundaryGeomBuilder(featureGeometry3);        
      460         NXObject* nXObject5;        
      461         nXObject5 = millBoundaryGeomBuilder1->Commit();
      462         millBoundaryGeomBuilder1->Destroy();
      463         // ----------------------------------------------
      464         //   Dialog Begin Wx 1 - [WX_1]
      465         // ----------------------------------------------        
      466         CAM::FeatureGeometry* featureGeometry4(dynamic_cast<CAM::FeatureGeometry*>(nXObject5));        
      467         CAM::Operation* operation3;        
      468         operation3 = workPart->CAMSetup()->CAMOperationCollection()->Create(nCGroup3, method1, tool1, featureGeometry4, "NF", "WX_1", CAM::OperationCollection::UseDefaultNameTrue, "WX_1");        
      469         CAM::PlanarMilling* planarMilling1(dynamic_cast<CAM::PlanarMilling*>(operation3));        
      470         CAM::PlanarMillingBuilder* planarMillingBuilder1;        
      471         planarMillingBuilder1 = workPart->CAMSetup()->CAMOperationCollection()->CreatePlanarMillingBuilder(planarMilling1);        
      472         planarMillingBuilder1->CutLevel()->CommonDepth()->SetValue(0.5);
      473         planarMillingBuilder1->NonCuttingBuilder()->OverlapDistanceBuilder()->SetValue(0.2);//重疊距離
      474         planarMillingBuilder1->FeedsBuilder()->SpindleRpmBuilder()->SetValue(6000);
      475         planarMillingBuilder1->FeedsBuilder()->FeedCutBuilder()->SetValue(2200.0);
      476         //planarMillingBuilder1->FeedsBuilder()->RecalculateData(CAM::FeedsBuilder::RecalcuateBasedOnSpindleSpeed);        
      477         NXObject* nXObject6;        
      478         nXObject6 = planarMillingBuilder1->Commit();
      479         planarMillingBuilder1->Destroy();
      480         // ----------------------------------------------
      481         //   Dialog Begin Mill F - [MILL_F]
      482         // ----------------------------------------------        
      483         CAM::Operation* operation4;        
      484         operation4 = workPart->CAMSetup()->CAMOperationCollection()->Create(nCGroup3, method1, tool1, featureGeometry4, "NF", "MILL_F", CAM::OperationCollection::UseDefaultNameTrue, "MILL_F");        
      485         CAM::PlanarMilling* planarMilling2(dynamic_cast<CAM::PlanarMilling*>(operation4));        
      486         CAM::PlanarMillingBuilder* planarMillingBuilder2;        
      487         planarMillingBuilder2 = workPart->CAMSetup()->CAMOperationCollection()->CreatePlanarMillingBuilder(planarMilling2);
      488         planarMillingBuilder2->CutParameters()->PartStock()->SetValue(0.0);
      489         planarMillingBuilder2->CutParameters()->FloorStock()->SetValue(0.0);        
      490         CAM::Inheritable2dLength* inheritable2dLength1;        
      491         inheritable2dLength1 = planarMillingBuilder2->CutParameters()->Tolerances();
      492         inheritable2dLength1->SetValue0(0.005);
      493         inheritable2dLength1->SetValue1(0.005);
      494         planarMillingBuilder2->CutLevel()->SetCutLevelType(CAM::CutLevelPlanar::TypesFloorOnly);
      495         planarMillingBuilder2->NonCuttingBuilder()->OverlapDistanceBuilder()->SetValue(0.2);
      496         planarMillingBuilder2->NonCuttingBuilder()->SetDefaultRegionStartType(CAM::NcmSubopBuilder::DefaultRegionStartTypesCorner);
      497         planarMillingBuilder2->FeedsBuilder()->SpindleRpmBuilder()->SetValue(7000.0);
      498         planarMillingBuilder2->FeedsBuilder()->FeedCutBuilder()->SetValue(1500.0);
      499         //planarMillingBuilder2->FeedsBuilder()->RecalculateData(CAM::FeedsBuilder::RecalcuateBasedOnSpindleSpeed);        
      500         NXObject* nXObject7;        
      501         nXObject7 = planarMillingBuilder2->Commit();
      502         planarMillingBuilder2->Destroy();
      503         UF_terminate();
      504     }
      505     catch (...)
      506     {
      507         uc1601("操作失敗!*請檢查日志文件", 1);
      508     }    
      509 }

      posted @ 2020-08-22 19:10  老婆餅里有老婆  閱讀(613)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 国产一区二区三区韩国| 亚洲国产精品一二三区| 波多野结衣在线播放| 国产精品人伦一区二区三| 亚洲无人区码一二三四区| 蜜臀av一区二区三区日韩| 真人无码作爱免费视频| 国产精品中文字幕观看| 日本中文字幕有码在线视频| 国产suv精品一区二区33| 中文字幕有码在线第十页| 亚洲av日韩在线资源| 国产精品一码在线播放| 国产免费午夜福利在线播放| 人人妻人人澡人人爽人人精品av| 国产视频一区二区三区四区视频| 果冻传媒mv免费播放在线观看| 欧洲精品色在线观看| 天堂av成人网在线观看| 欧美videosdesexo吹潮| 国产色无码专区在线观看| 日韩美女一区二区三区视频| 青草青草久热精品视频在线播放 | 一本一道av无码中文字幕麻豆 | 青青草无码免费一二三区| 亚洲中文字幕在线观看| 欧美国产日韩在线三区| 国产系列高清精品第一页| 精品无人乱码一区二区三区的优势 | 国产一区二区日韩在线| 国产精品亚洲综合一区二区 | 午夜人成免费视频| 亚洲欧美综合中文| 波多野结衣的av一区二区三区| 日韩av一区二区精品不卡| 亚洲精品日韩中文字幕| 国产精品一码在线播放| 色综合 图片区 小说区| 中文字幕在线观看一区二区| 国产一区二区三区精品综合| 伊人精品久久久大香线蕉 |