STEP-Datei in OpenCASCADE exportieren
English
Deutsch
My OCCUtils library provides a super-easy way of exporting your TopoDS_Shape to a STEP AP203 file:
export_step_example.cpp
#include <occutils/STEPExport.hxx>
using namespace OCCUtils;
TopoDS_Shape myShape = /* ... */;
STEP::ExportSTEP(myShape, "myShape.step");Falls du es manuell tun möchtest, ist es viel komplizierter, es richtig zu tun, aber hier sind die grundlegenden Schritte dazu:
export_manual.cpp
STEPControl_Writer writer;
writer.Transfer(shape, STEPControl_AsIs);
writer.Write(filename.c_str());Der vollständige STEP::ExportSTEP-Code aus OCCUtils ist:
export_full.cpp
if (shape.IsNull () == true) {
throw new invalid_argument("Kann null Shape nicht nach STEP exportieren");
}
STEPControl_Writer writer;
Interface_Static::SetCVal ("xstep.cascade.unit", unit.c_str());
Interface_Static::SetCVal ("write.step.unit", unit.c_str ());
Interface_Static::SetIVal ("write.step.nonmanifold", 1);
// "Transfer" = konvertieren
IFSelect_ReturnStatus transferStatus = writer.Transfer(shape, STEPControl_AsIs);
if (transferStatus != IFSelect_RetDone) {
throw std::logic_error ("Fehler beim Übertragen des Shapes nach STEP");
}
// Übertragene Struktur in STEP-Datei schreiben
IFSelect_ReturnStatus writeStatus = writer.Write(filename.c_str());
// Vorherige Locale zurückgeben
if (writeStatus != IFSelect_RetDone)
{
throw std::logic_error ("Fehler beim Schreiben des übertragenen Shapes in STEP-Datei");
}Check out similar posts by category:
C/C++, OpenCASCADE
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow