FreeCAD
1/***************************************************************************
2* Copyright (c) 2002 Jürgen Riegel <juergen.riegel@web.de> *
3* *
4* This file is part of the FreeCAD CAx development system. *
5* *
6* This library is free software; you can redistribute it and/or *
7* modify it under the terms of the GNU Library General Public *
8* License as published by the Free Software Foundation; either *
9* version 2 of the License, or (at your option) any later version. *
10* *
11* This library is distributed in the hope that it will be useful, *
12* but WITHOUT ANY WARRANTY; without even the implied warranty of *
13* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
14* GNU Library General Public License for more details. *
15* *
16* You should have received a copy of the GNU Library General Public *
17* License along with this library; see the file COPYING.LIB. If not, *
18* write to the Free Software Foundation, Inc., 59 Temple Place, *
19* Suite 330, Boston, MA 02111-1307, USA *
20* *
21***************************************************************************/
22
23#include "PreCompiled.h"24#ifndef _PreComp_25# include <fcntl.h>26#endif27
28#include <Base/Console.h>29#include <Base/FileInfo.h>30
31#include "FeaturePartImportIges.h"32
33
34using namespace Part;35
36PROPERTY_SOURCE(Part::ImportIges, Part::Feature)37
38
39ImportIges::ImportIges()40{
41ADD_PROPERTY(FileName,(""));42}
43
44short ImportIges::mustExecute() const45{
46if (FileName.isTouched())47return 1;48return 0;49}
50
51App::DocumentObjectExecReturn *ImportIges::execute()52{
53Base::FileInfo fi(FileName.getValue());54if (!fi.isReadable()) {55Base::Console().Log("ImportIges::execute() not able to open %s!\n",FileName.getValue());56std::string error = std::string("Cannot open file ") + FileName.getValue();57return new App::DocumentObjectExecReturn(error);58}59
60TopoShape aShape;61aShape.importIges(FileName.getValue());62this->Shape.setValue(aShape);63
64return App::DocumentObject::StdReturn;65}
66
67
68