Salome HOME
PAL9165. emit message only if no valid ImportExport file found
[modules/geom.git] / src / IGESExport / IGESExport.cxx
1 // File:        IGESExport.cxx
2 // Created:     Wed May 19 14:49:45 2004
3 // Author:      Pavel TELKOV
4 //              <ptv@mutex.nnov.opencascade.com>
5
6 #include "utilities.h"
7
8 #include <IGESControl_Controller.hxx>
9 #include <IGESControl_Writer.hxx>
10 #include <Interface_Static.hxx>
11
12 #include <TCollection_AsciiString.hxx>
13 #include <TopoDS_Shape.hxx>
14
15 //=============================================================================
16 /*!
17  *
18  */
19 //=============================================================================
20
21 extern "C"
22 {
23 #ifdef WNT
24   __declspec(__dllexport)
25 #endif
26   int Export(const TopoDS_Shape& theShape, const TCollection_AsciiString& theFileName)
27   {
28     MESSAGE("Export IGES into file " << theFileName.ToCString());
29     try 
30       {
31         //VRV: OCC 4.0 migration
32         IGESControl_Controller::Init();
33         IGESControl_Writer ICW (Interface_Static::CVal("XSTEP.iges.unit"),
34                                 Interface_Static::IVal("XSTEP.iges.writebrep.mode"));
35         //VRV: OCC 4.0 migration
36         
37         ICW.AddShape( theShape );
38         ICW.ComputeModel();
39         if ( ICW.Write( theFileName.ToCString() ) )
40           return 1;
41       }
42     catch(Standard_Failure) 
43       {
44         //THROW_SALOME_CORBA_EXCEPTION("Exception catched in IGESExport", SALOME::BAD_PARAM);
45       }
46     return 0;
47   }
48 }