1 void Create_chamfer_tool( char *toolName,double 直径,int 刀具号)
2 {
3 NXOpen::Session *theSession = NXOpen::Session::GetSession();
4 NXOpen::Part *workPart(theSession->Parts()->Work());
5 NXOpen::Part *displayPart(theSession->Parts()->Display());
6 // ----------------------------------------------
7 NXOpen::CAM::NCGroup *nCGroup1(dynamic_cast<NXOpen::CAM::NCGroup *>(workPart->CAMSetup()->CAMGroupCollection()->FindObject("GENERIC_MACHINE")));
8 NXOpen::CAM::NCGroup *nCGroup2;
9 nCGroup2 = workPart->CAMSetup()->CAMGroupCollection()->CreateTool(nCGroup1, "mill_planar", "CHAMFER_MILL", NXOpen::CAM::NCGroupCollection::UseDefaultNameFalse, toolName);
10 NXOpen::CAM::Tool *tool1(dynamic_cast<NXOpen::CAM::Tool *>(nCGroup2));
11 NXOpen::CAM::MillToolBuilder *millToolBuilder1;
12 millToolBuilder1 = workPart->CAMSetup()->CAMGroupCollection()->CreateMillToolBuilder(tool1);
13
14 millToolBuilder1->SetDescription(toolName);//描述
15 millToolBuilder1->TlDiameterBuilder()->SetValue(直径);//直径
16 millToolBuilder1->TlTaperAngBuilder()->SetValue(45.0);//斜角角度
17 millToolBuilder1->ChamferLengthBuilder()->SetValue(直径 / 2.0);//斜角长度
18 millToolBuilder1->TlHeightBuilder()->SetValue(100);//刀具高度
19 millToolBuilder1->TlFluteLnBuilder()->SetValue(5);//刀刃长度
20 millToolBuilder1->TlNumFlutesBuilder()->SetValue(3);//刀刃数量
21 millToolBuilder1->TlNumberBuilder()->SetValue(刀具号);//刀号
22 millToolBuilder1->TlAdjRegBuilder()->SetValue(刀具号);//补偿寄存器
23 millToolBuilder1->TlCutcomRegBuilder()->SetValue(刀具号);//刀具补偿寄存器
24
25 NXOpen::NXObject *nXObject1;
26 nXObject1 = millToolBuilder1->Commit();
27 millToolBuilder1->Destroy();
28 }