其他分享
首页 > 其他分享> > NX二次开发-NXopen录制:导入IGS

NX二次开发-NXopen录制:导入IGS

作者:互联网

// Created by:  Tag_jiang
// Language:   C++
// Version:   NX 10
// Date:      12-24-2019
// Time:       9:00
 
//头文件
#include <NXOpen/DexBuilder.hxx>
#include <NXOpen/DexManager.hxx>
#include <NXOpen/NXObject.hxx>
#include <NXOpen/ObjectTypeSelector.hxx>
#include <NXOpen/Part.hxx>
#include <NXOpen/PartCollection.hxx>
#include <NXOpen/Session.hxx>
#include <NXOpen/IgesImporter.hxx>
#include <NXOpen/Update.hxx>

void PrtImportIgs(NXString AllPath, bool Simplify, bool Curves, bool Surfaces, bool Solids, bool Annotations, bool Csys, bool Structures, bool SewSurfaces, bool SmoothBSurf, bool FlattenAssembly)
{
	NXOpen::Session *theSession = NXOpen::Session::GetSession();
	NXOpen::Part *workPart(theSession->Parts()->Work());
	NXOpen::Part *displayPart(theSession->Parts()->Display());
	// ----------------------------------------------
	//   Menu: 文件(F)->导入(M)->IGES...
	// ----------------------------------------------

	NXOpen::IgesImporter *igesImporter1;
	igesImporter1 = theSession->DexManager()->CreateIgesImporter();

	igesImporter1->SetCopiousData(NXOpen::IgesImporter::CopiousDataEnumLinearNURBSpline);//冗余数据类型

	igesImporter1->SetLayerDefault(1);//0默认层

	igesImporter1->SetGeomFixupTol(0.0127);//几何修正公差

	igesImporter1->SetSettingsFile("D:\\Program Files\\Siemens\\NX 10.0\\iges\\igesimport.def");//配置文件

	igesImporter1->ObjectTypes()->SetCurves(Curves);//曲线

	igesImporter1->ObjectTypes()->SetSurfaces(Surfaces);//曲面

	igesImporter1->ObjectTypes()->SetSolids(Solids);//实体

	igesImporter1->ObjectTypes()->SetAnnotations(Annotations);//注释

	igesImporter1->ObjectTypes()->SetStructures(Structures);//结构分析

	igesImporter1->SetSmoothBSurf(SmoothBSurf);//光顺B曲面

	igesImporter1->SetFlattenAssembly(FlattenAssembly);//展开装配

	igesImporter1->SetSewSurfaces(SewSurfaces);//缝合曲面

	igesImporter1->SetSimplifyGeometry(Simplify);//简化

	igesImporter1->ObjectTypes()->SetCsys(Csys);//坐标

	igesImporter1->SetInputFile(AllPath);//路径

	igesImporter1->SetOutputFile("E:\\Design\\Desi1F702094qgyl.prt");//缓存

	igesImporter1->SetFileOpenFlag(false);

	igesImporter1->SetLayerMask("0-99999");//图层标识

	std::vector<NXOpen::NXObject *> objects1(0);//更新
	int nErrs1;
	nErrs1 = theSession->UpdateManager()->AddToDeleteList(objects1);
	theSession->CleanUpFacetedFacesAndEdges();

	NXOpen::NXObject *nXObject1;
	nXObject1 = igesImporter1->Commit();
	igesImporter1->Destroy();
}

  

标签:IGS,ObjectTypes,theSession,NX,igesImporter1,bool,二次开发,NXOpen,include
来源: https://www.cnblogs.com/NXString/p/12089552.html