DATAKIT SDK  V2026.2
testlibstepwrite.cpp File Reference

Namespaces

 stepw
 Exported APIs for STEP Write Library.
 
 stepw::sample
 Set of sample functions to write specific data into a .stp file.
 

Functions

Dtk_AxisSystemPtr stepw::sample::CreateAxisSystem ()
 
void stepw::sample::CreateTransforms (Dtk_transfo &outFirst, Dtk_transfo &outSecond, Dtk_transfo &outThird)
 
int StepWriteSample (const Dtk_string &inResultDirectory)
 
DtkErrorStatus stepw::sample::Write_MinimumViableFile (const Dtk_string &inPartName, int &outPartID)
 
DtkErrorStatus stepw::sample::Write_UserDefinedHeader (const Dtk_string &inPartName, int &outPartID)
 
DtkErrorStatus stepw::sample::WriteAssembly (const Dtk_string &inRootAssemblyName)
 
DtkErrorStatus stepw::sample::WriteAssembly_BasicExternalReference_DimensionFDT (const Dtk_string &inRootAssemblyName)
 
DtkErrorStatus stepw::sample::WriteAssembly_BasicExternalReferences (const Dtk_string &inRootAssemblyName)
 
DtkErrorStatus stepw::sample::WriteAssembly_DimensionFDT (const Dtk_string &inRootAssemblyName)
 
DtkErrorStatus stepw::sample::WriteAssembly_InstanceAttributes (const Dtk_string &inRootAssemblyName)
 
DtkErrorStatus stepw::sample::WriteAssembly_NestedExternalReferences (const Dtk_string &inRootAssemblyName)
 
DtkErrorStatus stepw::sample::WriteAssembly_WithProperties (const Dtk_string &inRootAssemblyName)
 
DtkErrorStatus stepw::sample::WritePart_BodyAndMeshFromTessellation (const Dtk_string &inPartName, int &outPartID)
 
DtkErrorStatus stepw::sample::WritePart_BodyInNamedLayer (const Dtk_string &inPartName, int &outPartID)
 
DtkErrorStatus stepw::sample::WritePart_BodyOnly (const Dtk_string &inPartName, int &outPartID)
 
DtkErrorStatus stepw::sample::WritePart_BodyWithAxisSystem (const Dtk_string &inPartName, int &outPartID)
 
DtkErrorStatus stepw::sample::WritePart_Datum (const Dtk_string &inPartName, int &outPartID)
 
DtkErrorStatus stepw::sample::WritePart_GeometricalTolerance (const Dtk_string &inPartName, int &outPartID)
 
DtkErrorStatus stepw::sample::WritePart_MeshOnly (const Dtk_string &inPartName, int &outPartID)
 
DtkErrorStatus stepw::sample::WritePart_MeshWithFaceColors (const Dtk_string &inPartName, int &outPartID)
 
DtkErrorStatus stepw::sample::WritePart_UsedByExternalAssembly (const Dtk_string &inPartName, int &outPartID)
 
DtkErrorStatus stepw::sample::WritePart_WireframeOnly (const Dtk_string &inPartName, int &outPartID)
 
DtkErrorStatus stepw::sample::WritePart_WithProperties (const Dtk_string &inPartName, int &outPartID)
 

Function Documentation

◆ StepWriteSample()

int StepWriteSample ( const Dtk_string inResultDirectory)
763 {
764  Dtk_string outputFileName, outputDirectory;
765 
766  std::cout << endl << "----------------------------------------------" << std::endl;
767  std::cout << "Step Write start" << std::endl;
768 
769  stepw_SetModeProp( 3 );
770  stepw_SetModeFdt( 1 );
771 
772  // Choosing output directory and file name
773  outputDirectory = inResultDirectory + L"Step/";
774  outputDirectory.FixPathSeparator();
775  outputDirectory.mkdir();
776 
777  // First, initialize the Step writer
778  //int codeForAP203 = 1;
779  int codeForAP214 = 2;
780  //int codeForAP203E2 = 3;
781  int codeForAP242 = 4;
782  int dummy;
783  {
784  outputFileName = outputDirectory + L"SampleMinimumProduct.step";
785  PRINT_ERROR( stepw_InitFile( outputFileName, " sample ", codeForAP214 ) );
786  PRINT_ERROR( stepw::sample::Write_MinimumViableFile( L"SampleMinimumProduct", dummy ) );
788  std::cout << "=> " << outputFileName.c_str() << std::endl;
789  }
790  //[...]
791  //end_of_mainstepwrite
792  {
793  outputFileName = outputDirectory + L"SampleMinimumProduct_UserDefinedHeader.step";
794  PRINT_ERROR( stepw_InitFile( outputFileName, " sample ", codeForAP214 ) );
795  stepw::sample::Write_UserDefinedHeader( L"SampleMinimumProduct_UserDefinedHeader", dummy );
797  std::cout << "=> " << outputFileName.c_str() << std::endl;
798  }
799  {
800  outputFileName = outputDirectory + L"SamplePart_BodyOnly.step";
801  PRINT_ERROR( stepw_InitFile( outputFileName, " sample ", codeForAP214 ) );
802  stepw::sample::WritePart_BodyOnly( L"SamplePart_BodyOnly", dummy );
804  std::cout << "=> " << outputFileName.c_str() << std::endl;
805  }
806  {
807  outputFileName = outputDirectory + L"SamplePart_BodyWithAxisSystem.step";
808  PRINT_ERROR( stepw_InitFile( outputFileName, " sample ", codeForAP214 ) );
809  stepw::sample::WritePart_BodyWithAxisSystem( L"SamplePart_BodyWithAxisSystem", dummy );
811  std::cout << "=> " << outputFileName.c_str() << std::endl;
812  }
813  {
814  outputFileName = outputDirectory + L"SamplePart_WireframeOnly.step";
815  PRINT_ERROR( stepw_InitFile( outputFileName, " sample ", codeForAP214 ) );
816  stepw::sample::WritePart_WireframeOnly( L"SamplePart_WireframeOnly", dummy );
818  std::cout << "=> " << outputFileName.c_str() << std::endl;
819  }
820  {
821  outputFileName = outputDirectory + L"SamplePart_MeshOnly.step";
822  PRINT_ERROR( stepw_InitFile( outputFileName, " sample ", codeForAP214 ) );
823  stepw::sample::WritePart_MeshOnly( L"SamplePart_MeshOnly", dummy );
825  std::cout << "=> " << outputFileName.c_str() << std::endl;
826  }
827  {
828  outputFileName = outputDirectory + L"SamplePart_MeshWithFaceColors.step";
829  PRINT_ERROR( stepw_InitFile( outputFileName, " sample ", codeForAP214 ) );
830  stepw::sample::WritePart_MeshWithFaceColors( L"SamplePart_MeshWithFaceColors", dummy );
832  std::cout << "=> " << outputFileName.c_str() << std::endl;
833  }
834  {
835  outputFileName = outputDirectory + L"SamplePart_BodyAndMeshFromTessellation.step";
836  PRINT_ERROR( stepw_InitFile( outputFileName, " sample ", codeForAP214 ) );
837  stepw::sample::WritePart_BodyAndMeshFromTessellation( L"SamplePart_BodyAndMeshFromTessellation", dummy );
839  std::cout << "=> " << outputFileName.c_str() << std::endl;
840  }
841  {
842  outputFileName = outputDirectory + L"SamplePart_WithProperties.step";
843  PRINT_ERROR( stepw_InitFile( outputFileName, " sample ", codeForAP214 ) );
844  stepw::sample::WritePart_WithProperties( L"SamplePart_WithProperties", dummy );
846  std::cout << "=> " << outputFileName.c_str() << std::endl;
847  }
848  {
849  outputFileName = outputDirectory + L"SamplePart_BodyInNamedLayer.step";
850  PRINT_ERROR( stepw_InitFile( outputFileName, " sample ", codeForAP242 ) );
851  stepw::sample::WritePart_BodyInNamedLayer( L"SamplePart_BodyInNamedLayer", dummy );
853  std::cout << "=> " << outputFileName.c_str() << std::endl;
854  }
855  {
856  outputFileName = outputDirectory + L"SamplePart_Datum.step";
857  PRINT_ERROR( stepw_InitFile( outputFileName, " sample ", codeForAP242 ) );
858  stepw::sample::WritePart_Datum( L"SamplePart_Datum", dummy );
860  std::cout << "=> " << outputFileName.c_str() << std::endl;
861  }
862  {
863  outputFileName = outputDirectory + L"SamplePart_GeometricalTolerance.step";
864  PRINT_ERROR( stepw_InitFile( outputFileName, " sample ", codeForAP242 ) );
865  stepw::sample::WritePart_GeometricalTolerance( L"SamplePart_GeometricalTolerance", dummy );
867  std::cout << "=> " << outputFileName.c_str() << std::endl;
868  }
869  {
870  outputFileName = outputDirectory + L"SamplePart_UsedByExternalAssembly.step";
871  PRINT_ERROR( stepw_InitFile( outputFileName, " sample ", codeForAP242 ) );
872  stepw::sample::WritePart_UsedByExternalAssembly( L"SamplePart_UsedByExternalAssembly", dummy );
874  std::cout << "=> " << outputFileName.c_str() << std::endl;
875  }
876  {
877  outputFileName = outputDirectory + L"SampleAssembly.step";
878  PRINT_ERROR( stepw_InitFile( outputFileName, " sample ", codeForAP242 ) );
879  stepw::sample::WriteAssembly( L"SampleAssembly" );
881  std::cout << "=> " << outputFileName.c_str() << std::endl;
882  }
883  {
884  outputFileName = outputDirectory + L"SampleAssembly_DimensionFDT.step";
885  PRINT_ERROR( stepw_InitFile( outputFileName, " sample ", codeForAP242 ) );
886  stepw::sample::WriteAssembly_DimensionFDT( L"SampleAssembly_DimensionFDT");
888  std::cout << "=> " << outputFileName.c_str() << std::endl;
889  }
890  {
891  outputFileName = outputDirectory + L"SampleAssembly_WithProperties.step";
892  PRINT_ERROR( stepw_InitFile( outputFileName, " sample ", codeForAP242 ) );
893  stepw::sample::WriteAssembly_WithProperties( L"SampleAssembly_WithProperties");
895  std::cout << "=> " << outputFileName.c_str() << std::endl;
896  }
897  {
898  outputFileName = outputDirectory + L"SampleAssembly_InstanceAttributes.step";
899  PRINT_ERROR( stepw_InitFile( outputFileName, " sample ", codeForAP242 ) );
900  stepw::sample::WriteAssembly_InstanceAttributes( L"SampleAssembly_InstanceAttributes" );
902  std::cout << "=> " << outputFileName.c_str() << std::endl;
903  }
904  {
905  outputFileName = outputDirectory + L"SampleAssembly_BasicExternalReferences.step";
906  PRINT_ERROR( stepw_InitFile( outputFileName, " sample ", codeForAP242 ) );
907  stepw::sample::WriteAssembly_BasicExternalReferences( L"SampleAssembly_BasicExternalReferences");
909  std::cout << "=> " << outputFileName.c_str() << std::endl;
910  }
911  {
912  outputFileName = outputDirectory + L"SampleAssembly_BasicExternalReference_DimensionFDT.step";
913  PRINT_ERROR( stepw_InitFile( outputFileName, " sample ", codeForAP242 ) );
914  stepw::sample::WriteAssembly_BasicExternalReference_DimensionFDT( L"SampleAssembly_BasicExternalReference_DimensionFDT");
916  std::cout << "=> " << outputFileName.c_str() << std::endl;
917  }
918  {
919  outputFileName = outputDirectory + L"SampleAssembly_NestedExternalReferences.step";
920  PRINT_ERROR( stepw_InitFile( outputFileName, " sample ", codeForAP242 ) );
921  stepw::sample::WriteAssembly_NestedExternalReferences( L"SampleAssembly_NestedExternalReferences");
923  std::cout << "=> " << outputFileName.c_str() << std::endl;
924  }
925 
926  std::cout << "Step Write end" << std::endl;
927 
928  return 0;
929 }
stepw::sample::WritePart_MeshOnly
DtkErrorStatus WritePart_MeshOnly(const Dtk_string &inPartName, int &outPartID)
Definition: testlibstepwrite.cpp:121
Dtk_string
This is a high level string class.
Definition: dtk_string.hpp:53
stepw::sample::WritePart_BodyWithAxisSystem
DtkErrorStatus WritePart_BodyWithAxisSystem(const Dtk_string &inPartName, int &outPartID)
Definition: testlibstepwrite.cpp:84
PRINT_ERROR
#define PRINT_ERROR(inStatus)
Definition: testwriters.h:10
stepw::sample::WritePart_WireframeOnly
DtkErrorStatus WritePart_WireframeOnly(const Dtk_string &inPartName, int &outPartID)
Definition: testlibstepwrite.cpp:104
stepw_SetModeProp
DtkErrorStatus stepw_SetModeProp(const int inMode)
Activates/Deactivates writing of properties : User Attributes, Product Data.
stepw_InitFile
DtkErrorStatus stepw_InitFile(const Dtk_string &inFileName, const char *inOriginatingSystem=" user ", const int inSchema=0)
Initializes a file to be written.
stepw::sample::WriteAssembly_BasicExternalReferences
DtkErrorStatus WriteAssembly_BasicExternalReferences(const Dtk_string &inRootAssemblyName)
Definition: testlibstepwrite.cpp:600
stepw::sample::WritePart_BodyOnly
DtkErrorStatus WritePart_BodyOnly(const Dtk_string &inPartName, int &outPartID)
Definition: testlibstepwrite.cpp:66
stepw_SetModeFdt
DtkErrorStatus stepw_SetModeFdt(const int inMode, const int inPolyline=2)
Activates/Deactivates writing of FDT.
stepw::sample::Write_MinimumViableFile
DtkErrorStatus Write_MinimumViableFile(const Dtk_string &inPartName, int &outPartID)
Definition: testlibstepwrite.cpp:41
stepw::sample::WritePart_BodyInNamedLayer
DtkErrorStatus WritePart_BodyInNamedLayer(const Dtk_string &inPartName, int &outPartID)
Definition: testlibstepwrite.cpp:346
stepw::sample::WritePart_Datum
DtkErrorStatus WritePart_Datum(const Dtk_string &inPartName, int &outPartID)
Definition: testlibstepwrite.cpp:220
stepw::sample::WriteAssembly_InstanceAttributes
DtkErrorStatus WriteAssembly_InstanceAttributes(const Dtk_string &inRootAssemblyName)
Definition: testlibstepwrite.cpp:558
stepw::sample::WriteAssembly_BasicExternalReference_DimensionFDT
DtkErrorStatus WriteAssembly_BasicExternalReference_DimensionFDT(const Dtk_string &inRootAssemblyName)
Definition: testlibstepwrite.cpp:681
stepw_EndFile
DtkErrorStatus stepw_EndFile()
Ends the writing of the current STEP file.
Dtk_string::c_str
const char * c_str() const
Retrieve the ASCII conversion string.
stepw::sample::Write_UserDefinedHeader
DtkErrorStatus Write_UserDefinedHeader(const Dtk_string &inPartName, int &outPartID)
Definition: testlibstepwrite.cpp:52
Dtk_string::mkdir
int mkdir() const
File Utility : Create a Directory.
Dtk_string::FixPathSeparator
void FixPathSeparator()
File Utility : Fixes path separator consistency. It lets you replace the '\' or '/' by the OS needed ...
stepw::sample::WritePart_UsedByExternalAssembly
DtkErrorStatus WritePart_UsedByExternalAssembly(const Dtk_string &inPartName, int &outPartID)
Definition: testlibstepwrite.cpp:319
stepw::sample::WriteAssembly_WithProperties
DtkErrorStatus WriteAssembly_WithProperties(const Dtk_string &inRootAssemblyName)
Definition: testlibstepwrite.cpp:504
stepw::sample::WritePart_GeometricalTolerance
DtkErrorStatus WritePart_GeometricalTolerance(const Dtk_string &inPartName, int &outPartID)
Definition: testlibstepwrite.cpp:268
stepw::sample::WriteAssembly_NestedExternalReferences
DtkErrorStatus WriteAssembly_NestedExternalReferences(const Dtk_string &inRootAssemblyName)
Definition: testlibstepwrite.cpp:639
stepw::sample::WritePart_BodyAndMeshFromTessellation
DtkErrorStatus WritePart_BodyAndMeshFromTessellation(const Dtk_string &inPartName, int &outPartID)
Definition: testlibstepwrite.cpp:159
stepw::sample::WritePart_WithProperties
DtkErrorStatus WritePart_WithProperties(const Dtk_string &inPartName, int &outPartID)
Definition: testlibstepwrite.cpp:184
stepw::sample::WriteAssembly
DtkErrorStatus WriteAssembly(const Dtk_string &inRootAssemblyName)
Definition: testlibstepwrite.cpp:379
stepw::sample::WriteAssembly_DimensionFDT
DtkErrorStatus WriteAssembly_DimensionFDT(const Dtk_string &inRootAssemblyName)
Definition: testlibstepwrite.cpp:418
stepw::sample::WritePart_MeshWithFaceColors
DtkErrorStatus WritePart_MeshWithFaceColors(const Dtk_string &inPartName, int &outPartID)
Definition: testlibstepwrite.cpp:139