1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-09-08 14:17:06 +03:00

Compare commits

..

1 Commits

35 changed files with 144 additions and 420 deletions

View File

@@ -647,7 +647,6 @@ Standard_Integer bopcurves (Draw_Interpretor& di,
aToApproxC2dOnS2, aToApproxC2dOnS2,
anAppTol); anAppTol);
aFF.SetList(aListOfPnts); aFF.SetList(aListOfPnts);
aFF.SetFuzzyValue (BOPTest_Objects::FuzzyValue());
// //
aFF.Perform (aF1, aF2); aFF.Perform (aF1, aF2);
// //

View File

@@ -18,7 +18,6 @@
#include <GCPnts_AbscissaPoint.hxx> #include <GCPnts_AbscissaPoint.hxx>
#include <GeomAdaptor_Curve.hxx> #include <GeomAdaptor_Curve.hxx>
#include <GeomAbs_IsoType.hxx> #include <GeomAbs_IsoType.hxx>
#include <BRep_Tool.hxx>
//======================================================================= //=======================================================================
// Function: Reset // Function: Reset
@@ -126,14 +125,9 @@ void BRepMesh_DefaultRangeSplitter::computeTolerance(
const Standard_Real aDiffU = myRangeU.second - myRangeU.first; const Standard_Real aDiffU = myRangeU.second - myRangeU.first;
const Standard_Real aDiffV = myRangeV.second - myRangeV.first; const Standard_Real aDiffV = myRangeV.second - myRangeV.first;
const Standard_Real aTolerance = BRep_Tool::Tolerance (myDFace->GetFace());
const Adaptor3d_Surface& aSurface = GetSurface()->Surface();
const Standard_Real aResU = aSurface.UResolution (aTolerance);
const Standard_Real aResV = aSurface.VResolution (aTolerance);
const Standard_Real aDeflectionUV = 1.e-05; const Standard_Real aDeflectionUV = 1.e-05;
myTolerance.first = Max(Min(aDeflectionUV, aResU), 1e-7 * aDiffU); myTolerance.first = Max(Min(aDeflectionUV, 0.1 * aDiffU), 1e-7 * aDiffU);
myTolerance.second = Max(Min(aDeflectionUV, aResV), 1e-7 * aDiffV); myTolerance.second = Max(Min(aDeflectionUV, 0.1 * aDiffV), 1e-7 * aDiffV);
} }
//======================================================================= //=======================================================================

View File

@@ -42,7 +42,6 @@
#include <StepGeom_Conic.hxx> #include <StepGeom_Conic.hxx>
#include <StepGeom_Curve.hxx> #include <StepGeom_Curve.hxx>
#include <StepGeom_Line.hxx> #include <StepGeom_Line.hxx>
#include <Geom2d_TrimmedCurve.hxx>
//============================================================================= //=============================================================================
// Creation d' une Curve de prostep a partir d' une Curve de Geom // Creation d' une Curve de prostep a partir d' une Curve de Geom
@@ -163,10 +162,6 @@ GeomToStep_MakeCurve::GeomToStep_MakeCurve ( const Handle(Geom2d_Curve)& C)
GeomToStep_MakeBoundedCurve MkBoundedC(L); GeomToStep_MakeBoundedCurve MkBoundedC(L);
theCurve = MkBoundedC.Value(); theCurve = MkBoundedC.Value();
} }
else if (C->IsKind(STANDARD_TYPE(Geom2d_TrimmedCurve))) {
GeomToStep_MakeCurve aMaker = (Handle(Geom2d_TrimmedCurve)::DownCast(C)->BasisCurve());
theCurve = aMaker.Value();
}
else else
done = Standard_False; done = Standard_False;
} }

View File

@@ -46,10 +46,7 @@ public:
//! match) and Same State (that is, IsEqual is not required) //! match) and Same State (that is, IsEqual is not required)
//! Once added, stores its attached Protocol in correspondance //! Once added, stores its attached Protocol in correspondance
Standard_EXPORT void Add (const Handle(IGESData_SpecificModule)& amodule, const Handle(IGESData_Protocol)& aprotocol); Standard_EXPORT void Add (const Handle(IGESData_SpecificModule)& amodule, const Handle(IGESData_Protocol)& aprotocol);
//! Removes a Module from the list
Standard_EXPORT void Remove(const Handle(IGESData_SpecificModule)& amodule);
//! Returns the Module stored in a given GlobalNode //! Returns the Module stored in a given GlobalNode
Standard_EXPORT const Handle(IGESData_SpecificModule)& Module() const; Standard_EXPORT const Handle(IGESData_SpecificModule)& Module() const;

View File

@@ -46,10 +46,7 @@ public:
//! match) and Same State (that is, IsEqual is not required) //! match) and Same State (that is, IsEqual is not required)
//! Once added, stores its attached Protocol in correspondance //! Once added, stores its attached Protocol in correspondance
Standard_EXPORT void Add (const Handle(IGESData_ReadWriteModule)& amodule, const Handle(IGESData_Protocol)& aprotocol); Standard_EXPORT void Add (const Handle(IGESData_ReadWriteModule)& amodule, const Handle(IGESData_Protocol)& aprotocol);
//! Removes a Module from the list
Standard_EXPORT void Remove(const Handle(IGESData_ReadWriteModule)& amodule);
//! Returns the Module stored in a given GlobalNode //! Returns the Module stored in a given GlobalNode
Standard_EXPORT const Handle(IGESData_ReadWriteModule)& Module() const; Standard_EXPORT const Handle(IGESData_ReadWriteModule)& Module() const;

View File

@@ -43,10 +43,7 @@ public:
//! Adds a couple (Module-Protocol) into the global definition set //! Adds a couple (Module-Protocol) into the global definition set
//! for this class of Library. //! for this class of Library.
Standard_EXPORT static void SetGlobal (const Handle(IGESData_SpecificModule)& amodule, const Handle(IGESData_Protocol)& aprotocol); Standard_EXPORT static void SetGlobal (const Handle(IGESData_SpecificModule)& amodule, const Handle(IGESData_Protocol)& aprotocol);
//! Releases a module from the global definition set.
Standard_EXPORT static void ReleaseGlobal(const Handle(IGESData_SpecificModule)& amodule);
//! Creates a Library which complies with a Protocol, that is : //! Creates a Library which complies with a Protocol, that is :
//! Same class (criterium IsInstance) //! Same class (criterium IsInstance)
//! This creation gets the Modules from the global set, those //! This creation gets the Modules from the global set, those

View File

@@ -43,10 +43,7 @@ public:
//! Adds a couple (Module-Protocol) into the global definition set //! Adds a couple (Module-Protocol) into the global definition set
//! for this class of Library. //! for this class of Library.
Standard_EXPORT static void SetGlobal (const Handle(IGESData_ReadWriteModule)& amodule, const Handle(IGESData_Protocol)& aprotocol); Standard_EXPORT static void SetGlobal (const Handle(IGESData_ReadWriteModule)& amodule, const Handle(IGESData_Protocol)& aprotocol);
//! Releases a module from the global definition set.
Standard_EXPORT static void ReleaseGlobal(const Handle(IGESData_ReadWriteModule)& amodule);
//! Creates a Library which complies with a Protocol, that is : //! Creates a Library which complies with a Protocol, that is :
//! Same class (criterium IsInstance) //! Same class (criterium IsInstance)
//! This creation gets the Modules from the global set, those //! This creation gets the Modules from the global set, those

View File

@@ -3507,8 +3507,8 @@ static IntPatch_ImpImpIntersection::IntStatus
const IntSurf_PntOn2S& aPntLWL1 = aWLine1->Point(aWLine1->NbPnts()); const IntSurf_PntOn2S& aPntLWL1 = aWLine1->Point(aWLine1->NbPnts());
const IntSurf_PntOn2S aPntCur = theSPnt.Value(aNbPnt).PntOn2S(); const IntSurf_PntOn2S aPntCur = theSPnt.Value(aNbPnt).PntOn2S();
if (aPntCur.IsSame(aPntFWL1, aTol3D) || if (aPntCur.IsSame(aPntFWL1, Precision::Confusion()) ||
aPntCur.IsSame(aPntLWL1, aTol3D)) aPntCur.IsSame(aPntLWL1, Precision::Confusion()))
{ {
theSPnt.Remove(aNbPnt); theSPnt.Remove(aNbPnt);
aNbPnt--; aNbPnt--;

View File

@@ -42,10 +42,7 @@ public:
//! Adds a couple (Module-Protocol) into the global definition set //! Adds a couple (Module-Protocol) into the global definition set
//! for this class of Library. //! for this class of Library.
Standard_EXPORT static void SetGlobal (const Handle(Interface_GeneralModule)& amodule, const Handle(Interface_Protocol)& aprotocol); Standard_EXPORT static void SetGlobal (const Handle(Interface_GeneralModule)& amodule, const Handle(Interface_Protocol)& aprotocol);
//! Releases a module from the global definition set.
Standard_EXPORT static void ReleaseGlobal(const Handle(Interface_GeneralModule)& amodule);
//! Creates a Library which complies with a Protocol, that is : //! Creates a Library which complies with a Protocol, that is :
//! Same class (criterium IsInstance) //! Same class (criterium IsInstance)
//! This creation gets the Modules from the global set, those //! This creation gets the Modules from the global set, those

View File

@@ -46,10 +46,7 @@ public:
//! match) and Same State (that is, IsEqual is not required) //! match) and Same State (that is, IsEqual is not required)
//! Once added, stores its attached Protocol in correspondance //! Once added, stores its attached Protocol in correspondance
Standard_EXPORT void Add (const Handle(Interface_GeneralModule)& amodule, const Handle(Interface_Protocol)& aprotocol); Standard_EXPORT void Add (const Handle(Interface_GeneralModule)& amodule, const Handle(Interface_Protocol)& aprotocol);
//! Removes a Module from the list
Standard_EXPORT void Remove(const Handle(Interface_GeneralModule)& amodule);
//! Returns the Module stored in a given GlobalNode //! Returns the Module stored in a given GlobalNode
Standard_EXPORT const Handle(Interface_GeneralModule)& Module() const; Standard_EXPORT const Handle(Interface_GeneralModule)& Module() const;

View File

@@ -46,10 +46,7 @@ public:
//! match) and Same State (that is, IsEqual is not required) //! match) and Same State (that is, IsEqual is not required)
//! Once added, stores its attached Protocol in correspondance //! Once added, stores its attached Protocol in correspondance
Standard_EXPORT void Add (const Handle(Interface_ReaderModule)& amodule, const Handle(Interface_Protocol)& aprotocol); Standard_EXPORT void Add (const Handle(Interface_ReaderModule)& amodule, const Handle(Interface_Protocol)& aprotocol);
//! Removes a Module from the list
Standard_EXPORT void Remove(const Handle(Interface_ReaderModule)& amodule);
//! Returns the Module stored in a given GlobalNode //! Returns the Module stored in a given GlobalNode
Standard_EXPORT const Handle(Interface_ReaderModule)& Module() const; Standard_EXPORT const Handle(Interface_ReaderModule)& Module() const;

View File

@@ -42,10 +42,7 @@ public:
//! Adds a couple (Module-Protocol) into the global definition set //! Adds a couple (Module-Protocol) into the global definition set
//! for this class of Library. //! for this class of Library.
Standard_EXPORT static void SetGlobal (const Handle(Interface_ReaderModule)& amodule, const Handle(Interface_Protocol)& aprotocol); Standard_EXPORT static void SetGlobal (const Handle(Interface_ReaderModule)& amodule, const Handle(Interface_Protocol)& aprotocol);
//! Releases a module from the global definition set.
Standard_EXPORT static void ReleaseGlobal(const Handle(Interface_ReaderModule)& amodule);
//! Creates a Library which complies with a Protocol, that is : //! Creates a Library which complies with a Protocol, that is :
//! Same class (criterium IsInstance) //! Same class (criterium IsInstance)
//! This creation gets the Modules from the global set, those //! This creation gets the Modules from the global set, those

View File

@@ -38,26 +38,6 @@ LibCtl_GlobalNode::LibCtl_GlobalNode () { }
else thenext->Add (amodule,aprotocol); else thenext->Add (amodule,aprotocol);
} }
void LibCtl_GlobalNode::Remove(const Handle(TheModule)& amodule)
{
if (themod == amodule)
{
if (thenext.IsNull())
{
themod = Handle(TheModule)();
theprot = Handle(TheProtocol)();
}
else
{
themod = thenext->themod;
theprot = thenext->theprot;
thenext = thenext->thenext;
}
}
else if (!thenext.IsNull())
thenext->Remove(amodule);
}
const Handle(TheModule)& LibCtl_GlobalNode::Module () const const Handle(TheModule)& LibCtl_GlobalNode::Module () const
{ return themod; } { return themod; }

View File

@@ -36,12 +36,6 @@ static Handle(LibCtl_Node) thelast;
theglobal->Add(amodule,aprotocol); theglobal->Add(amodule,aprotocol);
} }
void LibCtl_Library::ReleaseGlobal(const Handle(TheModule)& amodule)
{
if (!theglobal.IsNull())
theglobal->Remove(amodule);
}
// Constructeur d apres Protocole // Constructeur d apres Protocole
LibCtl_Library::LibCtl_Library (const Handle(TheProtocol)& aprotocol) LibCtl_Library::LibCtl_Library (const Handle(TheProtocol)& aprotocol)
{ {

View File

@@ -22,43 +22,18 @@
#include <StepAP214_Protocol.hxx> #include <StepAP214_Protocol.hxx>
#include <StepData_WriterLib.hxx> #include <StepData_WriterLib.hxx>
DEFINE_STANDARD_HANDLE(RWStepAP214_Mgr, Standard_Transient) static int THE_RWStepAP214_init = 0;
class RWStepAP214_Mgr : public Standard_Transient
{
public:
RWStepAP214_Mgr()
{
myProtocol = StepAP214::Protocol();
myGeneralModule = new RWStepAP214_GeneralModule;
myRWModule = new RWStepAP214_ReadWriteModule;
Interface_GeneralLib::SetGlobal(myGeneralModule, myProtocol);
Interface_ReaderLib::SetGlobal(myRWModule, myProtocol);
StepData_WriterLib::SetGlobal(myRWModule, myProtocol);
}
virtual ~RWStepAP214_Mgr()
{
Interface_GeneralLib::ReleaseGlobal(myGeneralModule);
Interface_ReaderLib::ReleaseGlobal(myRWModule);
StepData_WriterLib::ReleaseGlobal(myRWModule);
}
DEFINE_STANDARD_RTTI_INLINE(RWStepAP214_Mgr, Standard_Transient)
private:
Handle(StepAP214_Protocol) myProtocol;
Handle(RWStepAP214_ReadWriteModule) myRWModule;
Handle(RWStepAP214_GeneralModule) myGeneralModule;
};
static Handle(RWStepAP214_Mgr) THE_MGR;
void RWStepAP214::Init() void RWStepAP214::Init()
{ {
if (THE_MGR.IsNull()) if (THE_RWStepAP214_init)
{ {
RWHeaderSection::Init(); return;
THE_MGR = new RWStepAP214_Mgr;
} }
THE_RWStepAP214_init = 1;
RWHeaderSection::Init();
Handle(StepAP214_Protocol) proto = StepAP214::Protocol();
Interface_GeneralLib::SetGlobal (new RWStepAP214_GeneralModule,proto);
Interface_ReaderLib::SetGlobal (new RWStepAP214_ReadWriteModule,proto);
StepData_WriterLib::SetGlobal (new RWStepAP214_ReadWriteModule,proto);
} }

View File

@@ -97,9 +97,25 @@ namespace
return aPoly; return aPoly;
} }
//! Add new solid
virtual void AddSolid() Standard_OVERRIDE
{
Handle(Poly_Triangulation) aCurrentTri = GetTriangulation();
myTriangulationList.Append(aCurrentTri);
myNodes.Clear();
myTriangles.Clear();
}
NCollection_Sequence<Handle(Poly_Triangulation)> GetTriangulationList()
{
return myTriangulationList;
}
private: private:
NCollection_Vector<gp_XYZ> myNodes; NCollection_Vector<gp_XYZ> myNodes;
NCollection_Vector<Poly_Triangle> myTriangles; NCollection_Vector<Poly_Triangle> myTriangles;
NCollection_Sequence<Handle(Poly_Triangulation)> myTriangulationList;
}; };
} }
@@ -118,6 +134,17 @@ Handle(Poly_Triangulation) RWStl::ReadFile (const Standard_CString theFile,
return aReader.GetTriangulation(); return aReader.GetTriangulation();
} }
//=============================================================================
//function : ReadFile
//purpose :
//=============================================================================
void RWStl::ReadFile(const Standard_CString theFile, NCollection_Sequence<Handle(Poly_Triangulation)>& theTriangList)
{
Reader aReader;
aReader.Read(theFile, Handle(Message_ProgressIndicator)(), true);
theTriangList = aReader.GetTriangulationList();
}
//============================================================================= //=============================================================================
//function : ReadFile //function : ReadFile
//purpose : //purpose :

View File

@@ -50,6 +50,8 @@ public:
Standard_EXPORT static Handle(Poly_Triangulation) ReadFile (const Standard_CString theFile, Standard_EXPORT static Handle(Poly_Triangulation) ReadFile (const Standard_CString theFile,
const Handle(Message_ProgressIndicator)& aProgInd = Handle(Message_ProgressIndicator)()); const Handle(Message_ProgressIndicator)& aProgInd = Handle(Message_ProgressIndicator)());
Standard_EXPORT static void ReadFile(const Standard_CString theFile, NCollection_Sequence<Handle(Poly_Triangulation)>& theTriangList);
//! Read triangulation from a binary STL file //! Read triangulation from a binary STL file
//! In case of error, returns Null handle. //! In case of error, returns Null handle.
Standard_EXPORT static Handle(Poly_Triangulation) ReadBinary (const OSD_Path& thePath, Standard_EXPORT static Handle(Poly_Triangulation) ReadBinary (const OSD_Path& thePath,

View File

@@ -126,7 +126,8 @@ namespace
//============================================================================== //==============================================================================
Standard_Boolean RWStl_Reader::Read (const char* theFile, Standard_Boolean RWStl_Reader::Read (const char* theFile,
const Handle(Message_ProgressIndicator)& theProgress) const Handle(Message_ProgressIndicator)& theProgress,
bool IsMultiSolid)
{ {
std::filebuf aBuf; std::filebuf aBuf;
OSD_OpenStream (aBuf, theFile, std::ios::in | std::ios::binary); OSD_OpenStream (aBuf, theFile, std::ios::in | std::ios::binary);
@@ -165,6 +166,8 @@ Standard_Boolean RWStl_Reader::Read (const char* theFile,
} }
} }
aStream >> std::ws; // skip any white spaces aStream >> std::ws; // skip any white spaces
if (IsMultiSolid)
AddSolid();
} }
return ! aStream.fail(); return ! aStream.fail();
} }

View File

@@ -39,7 +39,8 @@ public:
//! Format is recognized automatically by analysis of the file header. //! Format is recognized automatically by analysis of the file header.
//! Returns true if success, false on error or user break. //! Returns true if success, false on error or user break.
Standard_EXPORT Standard_Boolean Read (const char* theFile, Standard_EXPORT Standard_Boolean Read (const char* theFile,
const Handle(Message_ProgressIndicator)& theProgress); const Handle(Message_ProgressIndicator)& theProgress,
bool IsMultiSolid = false);
//! Guess whether the stream is an Ascii STL file, by analysis of the first bytes (~200). //! Guess whether the stream is an Ascii STL file, by analysis of the first bytes (~200).
//! The function attempts to put back the read symbols to the stream which thus must support ungetc(). //! The function attempts to put back the read symbols to the stream which thus must support ungetc().
@@ -74,6 +75,8 @@ public:
//! Should create new triangle built on specified nodes in the target model. //! Should create new triangle built on specified nodes in the target model.
virtual void AddTriangle (Standard_Integer theN1, Standard_Integer theN2, Standard_Integer theN3) = 0; virtual void AddTriangle (Standard_Integer theN1, Standard_Integer theN2, Standard_Integer theN3) = 0;
virtual void AddSolid() = 0;
}; };
#endif #endif

View File

@@ -22,33 +22,6 @@
IMPLEMENT_STANDARD_RTTIEXT(STEPCAFControl_Controller,STEPControl_Controller) IMPLEMENT_STANDARD_RTTIEXT(STEPCAFControl_Controller,STEPControl_Controller)
DEFINE_STANDARD_HANDLE(STEPCAF_Mgr, Standard_Transient)
class STEPCAF_Mgr : public Standard_Transient
{
public:
STEPCAF_Mgr()
{
myCtl = new STEPCAFControl_Controller;
// do something to avoid warnings...
myCtl->AutoRecord();
}
virtual ~STEPCAF_Mgr()
{
myCtl->AutoRelease();
}
DEFINE_STANDARD_RTTI_INLINE(STEPCAF_Mgr, Standard_Transient)
private:
Handle(STEPCAFControl_Controller) myCtl;
};
static Handle(STEPCAF_Mgr) THE_MGR;
//======================================================================= //=======================================================================
//function : STEPCAFControl_Controller //function : STEPCAFControl_Controller
//purpose : //purpose :
@@ -69,9 +42,12 @@ Standard_Boolean STEPCAFControl_Controller::Init ()
static Standard_Boolean inic = Standard_False; static Standard_Boolean inic = Standard_False;
if (inic) return Standard_True; if (inic) return Standard_True;
inic = Standard_True; inic = Standard_True;
// self-registering
Handle(STEPCAFControl_Controller) STEPCTL = new STEPCAFControl_Controller;
// do XSAlgo::Init, cause it does not called before. // do XSAlgo::Init, cause it does not called before.
XSAlgo::Init(); XSAlgo::Init();
THE_MGR = new STEPCAF_Mgr; // do something to avoid warnings...
STEPCTL->AutoRecord();
//----------------------------------------------------------- //-----------------------------------------------------------
// Few variables for advanced control of translation process // Few variables for advanced control of translation process

View File

@@ -46,10 +46,7 @@ public:
//! match) and Same State (that is, IsEqual is not required) //! match) and Same State (that is, IsEqual is not required)
//! Once added, stores its attached Protocol in correspondance //! Once added, stores its attached Protocol in correspondance
Standard_EXPORT void Add (const Handle(StepData_ReadWriteModule)& amodule, const Handle(StepData_Protocol)& aprotocol); Standard_EXPORT void Add (const Handle(StepData_ReadWriteModule)& amodule, const Handle(StepData_Protocol)& aprotocol);
//! Removes a Module from the list
Standard_EXPORT void Remove(const Handle(StepData_ReadWriteModule)& amodule);
//! Returns the Module stored in a given GlobalNode //! Returns the Module stored in a given GlobalNode
Standard_EXPORT const Handle(StepData_ReadWriteModule)& Module() const; Standard_EXPORT const Handle(StepData_ReadWriteModule)& Module() const;

View File

@@ -42,10 +42,7 @@ public:
//! Adds a couple (Module-Protocol) into the global definition set //! Adds a couple (Module-Protocol) into the global definition set
//! for this class of Library. //! for this class of Library.
Standard_EXPORT static void SetGlobal (const Handle(StepData_ReadWriteModule)& amodule, const Handle(StepData_Protocol)& aprotocol); Standard_EXPORT static void SetGlobal (const Handle(StepData_ReadWriteModule)& amodule, const Handle(StepData_Protocol)& aprotocol);
//! Releases a module from the global definition set.
Standard_EXPORT static void ReleaseGlobal(const Handle(StepData_ReadWriteModule)& amodule);
//! Creates a Library which complies with a Protocol, that is : //! Creates a Library which complies with a Protocol, that is :
//! Same class (criterium IsInstance) //! Same class (criterium IsInstance)
//! This creation gets the Modules from the global set, those //! This creation gets the Modules from the global set, those

View File

@@ -53,8 +53,6 @@
#include <Transfer_FinderProcess.hxx> #include <Transfer_FinderProcess.hxx>
#include <TransferBRep.hxx> #include <TransferBRep.hxx>
#include <TransferBRep_ShapeMapper.hxx> #include <TransferBRep_ShapeMapper.hxx>
#include <BRepTools.hxx>
#include <ShapeAnalysis_Curve.hxx>
// Processing of non-manifold topology (ssv; 11.11.2010) // Processing of non-manifold topology (ssv; 11.11.2010)
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
@@ -67,8 +65,8 @@ TopoDSToStep_MakeStepEdge::TopoDSToStep_MakeStepEdge()
TopoDSToStep_MakeStepEdge::TopoDSToStep_MakeStepEdge TopoDSToStep_MakeStepEdge::TopoDSToStep_MakeStepEdge
(const TopoDS_Edge& E, (const TopoDS_Edge& E,
TopoDSToStep_Tool& T, TopoDSToStep_Tool& T,
const Handle(Transfer_FinderProcess)& FP) const Handle(Transfer_FinderProcess)& FP)
{ {
done = Standard_False; done = Standard_False;
Init(E, T, FP); Init(E, T, FP);
@@ -79,9 +77,9 @@ TopoDSToStep_MakeStepEdge::TopoDSToStep_MakeStepEdge
// Purpose : // Purpose :
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
void TopoDSToStep_MakeStepEdge::Init(const TopoDS_Edge& aEdge, void TopoDSToStep_MakeStepEdge::Init(const TopoDS_Edge& aEdge,
TopoDSToStep_Tool& aTool, TopoDSToStep_Tool& aTool,
const Handle(Transfer_FinderProcess)& FP) const Handle(Transfer_FinderProcess)& FP)
{ {
// ------------------------------------------------------------------ // ------------------------------------------------------------------
// The edge is given with its relative orientation (i.e. in the wire) // The edge is given with its relative orientation (i.e. in the wire)
@@ -94,7 +92,7 @@ void TopoDSToStep_MakeStepEdge::Init(const TopoDS_Edge& aEdge,
if (isNMMode) { if (isNMMode) {
Handle(StepShape_EdgeCurve) anEC; Handle(StepShape_EdgeCurve) anEC;
Handle(TransferBRep_ShapeMapper) aSTEPMapper = TransferBRep::ShapeMapper(FP, aEdge); Handle(TransferBRep_ShapeMapper) aSTEPMapper = TransferBRep::ShapeMapper(FP, aEdge);
if (FP->FindTypedTransient(aSTEPMapper, STANDARD_TYPE(StepShape_EdgeCurve), anEC)) { if ( FP->FindTypedTransient(aSTEPMapper, STANDARD_TYPE(StepShape_EdgeCurve), anEC) ) {
// Non-manifold topology detected // Non-manifold topology detected
myError = TopoDSToStep_EdgeDone; myError = TopoDSToStep_EdgeDone;
myResult = anEC; myResult = anEC;
@@ -115,28 +113,28 @@ void TopoDSToStep_MakeStepEdge::Init(const TopoDS_Edge& aEdge,
Standard_Integer i; Standard_Integer i;
Standard_Real U, U1, U2; Standard_Real U, U1, U2;
gp_Pnt P; gp_Pnt P;
Standard_Boolean isSeam = BRep_Tool::IsClosed(aEdge, aTool.CurrentFace()); Standard_Boolean isSeam = BRep_Tool::IsClosed(aEdge, aTool.CurrentFace());
//:i4 abv 02 Sep 98: ProSTEP TR8 Motor.rle f3 & f62: check that edge //:i4 abv 02 Sep 98: ProSTEP TR8 Motor.rle f3 & f62: check that edge
// participates twice in the wires of the face before making it seam // participates twice in the wires of the face before making it seam
// (else it can have two pcurves on the same surface being shared by // (else it can have two pcurves on the same surface being shared by
// two faces on that surface) // two faces on that surface)
// This fix is necessary because sharing of surfaces is not preserved when // This fix is necessary because sharing of surfaces is not preserved when
// writing faces to STEP (see TopoDSToSTEP_MakeStepFace) // writing faces to STEP (see TopoDSToSTEP_MakeStepFace)
if (isSeam) { if ( isSeam ) {
Standard_Integer count = 0; Standard_Integer count = 0;
TopExp_Explorer exp (aTool.CurrentFace(), TopAbs_EDGE); TopExp_Explorer exp ( aTool.CurrentFace(), TopAbs_EDGE );
for (; exp.More(); exp.Next()) for ( ; exp.More(); exp.Next() )
if (aEdge.IsSame (exp.Current())) count++; if ( aEdge.IsSame ( exp.Current() ) ) count++;
if (count < 2) isSeam = Standard_False; if ( count < 2 ) isSeam = Standard_False;
} }
BRepAdaptor_Curve CA = BRepAdaptor_Curve(aEdge); BRepAdaptor_Curve CA = BRepAdaptor_Curve(aEdge);
BRepAdaptor_Surface SA = BRepAdaptor_Surface(aTool.CurrentFace()); BRepAdaptor_Surface SA = BRepAdaptor_Surface(aTool.CurrentFace());
if (aEdge.Orientation() == TopAbs_INTERNAL || if (aEdge.Orientation() == TopAbs_INTERNAL ||
aEdge.Orientation() == TopAbs_EXTERNAL) { aEdge.Orientation() == TopAbs_EXTERNAL ) {
Handle(TransferBRep_ShapeMapper) errShape = Handle(TransferBRep_ShapeMapper) errShape =
new TransferBRep_ShapeMapper(aEdge); new TransferBRep_ShapeMapper(aEdge);
FP->AddWarning(errShape, " Edge(internal/external) from Non Manifold Topology"); FP->AddWarning(errShape, " Edge(internal/external) from Non Manifold Topology");
@@ -144,18 +142,18 @@ void TopoDSToStep_MakeStepEdge::Init(const TopoDS_Edge& aEdge,
done = Standard_False; done = Standard_False;
return; return;
} }
// Vertices // Vertices
Handle(StepShape_Vertex) V1, V2; Handle(StepShape_Vertex) V1,V2;
Handle(StepShape_TopologicalRepresentationItem) Gpms2; Handle(StepShape_TopologicalRepresentationItem) Gpms2;
TopoDS_Vertex Vfirst, Vlast; TopoDS_Vertex Vfirst, Vlast;
TopExp::Vertices(aEdge, Vfirst, Vlast); TopExp::Vertices(aEdge,Vfirst, Vlast);
TopoDSToStep_MakeStepVertex MkVertex; TopoDSToStep_MakeStepVertex MkVertex;
MkVertex.Init(Vfirst, aTool, FP); MkVertex.Init(Vfirst, aTool, FP);
if (MkVertex.IsDone()) if (MkVertex.IsDone())
V1 = Handle(StepShape_Vertex)::DownCast(MkVertex.Value()); V1 = Handle(StepShape_Vertex)::DownCast(MkVertex.Value());
else { else {
@@ -166,7 +164,7 @@ void TopoDSToStep_MakeStepEdge::Init(const TopoDS_Edge& aEdge,
done = Standard_False; done = Standard_False;
return; return;
} }
MkVertex.Init(Vlast, aTool, FP); MkVertex.Init(Vlast, aTool, FP);
if (MkVertex.IsDone()) if (MkVertex.IsDone())
V2 = Handle(StepShape_Vertex)::DownCast(MkVertex.Value()); V2 = Handle(StepShape_Vertex)::DownCast(MkVertex.Value());
@@ -178,70 +176,22 @@ void TopoDSToStep_MakeStepEdge::Init(const TopoDS_Edge& aEdge,
done = Standard_False; done = Standard_False;
return; return;
} }
// --------------------------------------- // ---------------------------------------
// Translate 3D representation of the Edge // Translate 3D representation of the Edge
// --------------------------------------- // ---------------------------------------
Handle(StepGeom_Curve) Gpms; Handle(StepGeom_Curve) Gpms;
Handle(Geom_Curve) C = CA.Curve().Curve(); Handle(Geom_Curve) C = CA.Curve().Curve();
if (!C.IsNull()) { if (!C.IsNull()) {
C = Handle(Geom_Curve)::DownCast(C->Copy()); C = Handle(Geom_Curve)::DownCast(C->Copy());
gp_Trsf Tr1 = CA.Trsf(); gp_Trsf Tr1 = CA.Trsf();
C->Transform(Tr1); C->Transform(Tr1);
if (C->IsPeriodic())
{
Standard_Real dpar = CA.LastParameter() - CA.FirstParameter();
Standard_Real aTolV1 = BRep_Tool::Tolerance(Vfirst);
Standard_Real aTolV2 = BRep_Tool::Tolerance(Vlast);
gp_Pnt aP1 = BRep_Tool::Pnt(Vfirst);
gp_Pnt aP2 = BRep_Tool::Pnt(Vlast);
gp_Pnt pproj;
gp_Pnt aP11 = CA.Value(CA.FirstParameter());
gp_Pnt aP12 =CA.Value(CA.LastParameter());
ShapeAnalysis_Curve sac;
sac.Project (C, aP1, Tolerance(), pproj, U1, Standard_False);
sac.Project (C, aP2, Tolerance(), pproj, U2, Standard_False);
Standard_Real dU = U2 - U1;
if (dpar <= 0)
dpar += (ceil(fabs(dpar) / C->Period()) *C->Period());
if (dU <= 0)
dU += (ceil(fabs(dU) / C->Period()) *C->Period());
// if range obtained from projection of vertices is contradicted with range of the edge
//tnen vertices should be permuted
if ((dU > Precision::PConfusion() && dU <= 0.1 * C->Period() && dpar > 0.5 * C->Period()) ||
(dpar > Precision::PConfusion() && dpar <= 0.1 * C->Period() && dU > 0.5 * C->Period()))
{
Handle(StepShape_Vertex) aVtemp = V1;
V1 = V2; V2 = aVtemp;
}
gp_Pnt aPm = CA.Value((CA.FirstParameter() + CA.LastParameter()) *0.5);
Standard_Real aDist11 = aP11.Distance(aP12);
Standard_Real aDist1m = aP11.Distance(aPm);
Standard_Real aDist2m = aP12.Distance(aPm);
Standard_Real aDistMax = Max(Max(aDist1m, aDist2m), aDist11);
Standard_Boolean isSmallCurve = (aDistMax <= aTolV1 || aDistMax <= aTolV2);
//for small edge lying BSpline periodic curve segment of the BSpline periodic curve is used to avoid invalid computation of the edge range duriring reading
if (BRepTools::Compare(Vfirst, Vlast) && isSmallCurve && C->IsPeriodic() && dpar > Precision::PConfusion() && dpar <= 0.1 * C->Period())
{
if (C->IsKind(STANDARD_TYPE(Geom_BSplineCurve)))
{
Handle(Geom_BSplineCurve) aBspl1 = Handle(Geom_BSplineCurve)::DownCast(C->Copy());
aBspl1->Segment (CA.FirstParameter(), CA.LastParameter());
C = aBspl1;
}
}
}
GeomToStep_MakeCurve MkCurve(C); GeomToStep_MakeCurve MkCurve(C);
Gpms = MkCurve.Value(); Gpms = MkCurve.Value();
} }
else { else {
// ------------------------- // -------------------------
// a 3D Curve is constructed // a 3D Curve is constructed
// ------------------------- // -------------------------
@@ -250,41 +200,41 @@ void TopoDSToStep_MakeStepEdge::Init(const TopoDS_Edge& aEdge,
std::cout << "Warning: TopoDSToStep_MakeStepEdge: edge without 3d curve; creating..." << std::endl; std::cout << "Warning: TopoDSToStep_MakeStepEdge: edge without 3d curve; creating..." << std::endl;
#endif #endif
if ((SA.GetType() == GeomAbs_Plane) && if ((SA.GetType() == GeomAbs_Plane) &&
(CA.GetType() == GeomAbs_Line)) { (CA.GetType() == GeomAbs_Line)) {
U1 = CA.FirstParameter(); U1 = CA.FirstParameter();
U2 = CA.LastParameter(); U2 = CA.LastParameter();
gp_Vec V = gp_Vec(CA.Value(U1), CA.Value(U2)); gp_Vec V = gp_Vec( CA.Value(U1), CA.Value(U2) );
Handle(Geom_Line) L = Handle(Geom_Line) L =
new Geom_Line(CA.Value(U1), gp_Dir(V)); new Geom_Line(CA.Value(U1), gp_Dir(V));
GeomToStep_MakeLine MkLine(L); GeomToStep_MakeLine MkLine(L);
Gpms = MkLine.Value(); Gpms = MkLine.Value();
} }
else { else {
// To Be Optimized : create an approximated BSpline // To Be Optimized : create an approximated BSpline
// using GeomAPI_PointsToBSpline // using GeomAPI_PointsToBSpline
TColgp_Array1OfPnt Points(1, Nbpt); TColgp_Array1OfPnt Points(1,Nbpt);
TColStd_Array1OfReal Knots(1, Nbpt); TColStd_Array1OfReal Knots(1,Nbpt);
TColStd_Array1OfInteger Mult(1, Nbpt); TColStd_Array1OfInteger Mult(1,Nbpt);
U1 = CA.FirstParameter(); U1 = CA.FirstParameter();
U2 = CA.LastParameter(); U2 = CA.LastParameter();
for (i=1; i<=Nbpt; i++) { for ( i=1; i<=Nbpt; i++ ) {
U = U1 + (i-1)*(U2 - U1)/(Nbpt - 1); U = U1 + (i-1)*(U2 - U1)/(Nbpt - 1);
P = CA.Value(U); P = CA.Value(U);
Points.SetValue(i, P); Points.SetValue(i,P);
Knots.SetValue(i, U); Knots.SetValue(i,U);
Mult.SetValue(i, 1); Mult.SetValue(i,1);
} }
//Points.SetValue(1, BRep_Tool::Pnt(Vfirst)); //Points.SetValue(1, BRep_Tool::Pnt(Vfirst));
//Points.SetValue(Nbpt, BRep_Tool::Pnt(Vlast)); //Points.SetValue(Nbpt, BRep_Tool::Pnt(Vlast));
Mult.SetValue(1, 2); Mult.SetValue(1,2);
Mult.SetValue(Nbpt, 2); Mult.SetValue(Nbpt,2);
Handle(Geom_Curve) Bs = Handle(Geom_Curve) Bs =
new Geom_BSplineCurve(Points, Knots, Mult, 1); new Geom_BSplineCurve(Points, Knots, Mult, 1);
GeomToStep_MakeCurve MkCurve(Bs); GeomToStep_MakeCurve MkCurve(Bs);
Gpms = MkCurve.Value(); Gpms = MkCurve.Value();
} }
} }
// --------------------------------------------------------- // ---------------------------------------------------------
// Warning : if the edge is connected aGeom->Length = 2 // Warning : if the edge is connected aGeom->Length = 2
// otherwise = 1 ; // otherwise = 1 ;
@@ -294,12 +244,12 @@ void TopoDSToStep_MakeStepEdge::Init(const TopoDS_Edge& aEdge,
//:abv 25.01.00 CAX-IF TRJ3 //:abv 25.01.00 CAX-IF TRJ3
// if PcurveMode is 1 (default), make surface_curve instead of simple 3d curve // if PcurveMode is 1 (default), make surface_curve instead of simple 3d curve
if (aTool.PCurveMode() != 0) { if ( aTool.PCurveMode() != 0 ) {
Handle(StepGeom_HArray1OfPcurveOrSurface) aGeom = Handle(StepGeom_HArray1OfPcurveOrSurface) aGeom =
new StepGeom_HArray1OfPcurveOrSurface(1, 2); new StepGeom_HArray1OfPcurveOrSurface(1,2);
Handle(TCollection_HAsciiString) aName = new TCollection_HAsciiString(""); Handle(TCollection_HAsciiString) aName = new TCollection_HAsciiString("");
if (!isSeam) { if (!isSeam) {
Handle(StepGeom_SurfaceCurve) SurfaceCurve = new StepGeom_SurfaceCurve; Handle(StepGeom_SurfaceCurve) SurfaceCurve = new StepGeom_SurfaceCurve;
SurfaceCurve->Init(aName, Gpms, aGeom, StepGeom_pscrPcurveS1); SurfaceCurve->Init(aName, Gpms, aGeom, StepGeom_pscrPcurveS1);
@@ -311,12 +261,12 @@ void TopoDSToStep_MakeStepEdge::Init(const TopoDS_Edge& aEdge,
Gpms = SeamCurve; Gpms = SeamCurve;
} }
} }
// Edge curve // Edge curve
Handle(StepShape_EdgeCurve) Epms = new StepShape_EdgeCurve; Handle(StepShape_EdgeCurve) Epms = new StepShape_EdgeCurve;
Handle(TCollection_HAsciiString) aName = new TCollection_HAsciiString(""); Handle(TCollection_HAsciiString) aName = new TCollection_HAsciiString("");
Epms->Init(aName, V1, V2, Gpms, Standard_True); Epms->Init(aName, V1, V2, Gpms, Standard_True);
aTool.Bind(aEdge, Epms); aTool.Bind(aEdge, Epms);
myError = TopoDSToStep_EdgeDone; myError = TopoDSToStep_EdgeDone;
myResult = Epms; myResult = Epms;
@@ -329,7 +279,7 @@ void TopoDSToStep_MakeStepEdge::Init(const TopoDS_Edge& aEdge,
// Purpose : // Purpose :
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
const Handle(StepShape_TopologicalRepresentationItem)& TopoDSToStep_MakeStepEdge::Value() const const Handle(StepShape_TopologicalRepresentationItem)& TopoDSToStep_MakeStepEdge::Value() const
{ {
StdFail_NotDone_Raise_if (!done, "TopoDSToStep_MakeStepEdge::Value() - no result"); StdFail_NotDone_Raise_if (!done, "TopoDSToStep_MakeStepEdge::Value() - no result");
return myResult; return myResult;
@@ -340,7 +290,7 @@ const Handle(StepShape_TopologicalRepresentationItem)& TopoDSToStep_MakeStepEdge
// Purpose : // Purpose :
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
TopoDSToStep_MakeEdgeError TopoDSToStep_MakeStepEdge::Error() const TopoDSToStep_MakeEdgeError TopoDSToStep_MakeStepEdge::Error() const
{ {
return myError; return myError;
} }

View File

@@ -131,13 +131,6 @@ void XSControl_Controller::Record (const Standard_CString theName) const
listad.Bind(theName, this); listad.Bind(theName, this);
} }
void XSControl_Controller::Release(const Standard_CString theName) const
{
if (listad.IsBound(theName)) {
listad.UnBind(theName);
}
}
//======================================================================= //=======================================================================
//function : Recorded //function : Recorded
//purpose : //purpose :

View File

@@ -78,22 +78,11 @@ class XSControl_Controller : public Standard_Transient
Record (Name(Standard_True)); Record (Name(Standard_True));
Record (Name(Standard_False)); Record (Name(Standard_False));
} }
//! Removes <me> from the general dictionary under Short and Long
//! Names (see method Name)
void AutoRelease() const
{
Release (Name(Standard_True));
Release (Name(Standard_False));
}
//! Records <me> in a general dictionary under a name //! Records <me> in a general dictionary under a name
//! Error if <name> already used for another one //! Error if <name> already used for another one
Standard_EXPORT void Record (const Standard_CString name) const; Standard_EXPORT void Record (const Standard_CString name) const;
//! Removes <me> from the general dictionary under a name
Standard_EXPORT void Release(const Standard_CString name) const;
//! Returns the Controller attached to a given name //! Returns the Controller attached to a given name
//! Returns a Null Handle if <name> is unknown //! Returns a Null Handle if <name> is unknown
Standard_EXPORT static Handle(XSControl_Controller) Recorded (const Standard_CString name); Standard_EXPORT static Handle(XSControl_Controller) Recorded (const Standard_CString name);

View File

@@ -411,6 +411,22 @@ static Standard_Integer ReadObj (Draw_Interpretor& theDI,
{ {
aFilePath = theArgVec[anArgIter]; aFilePath = theArgVec[anArgIter];
} }
else if (theArgc == 4 && strcmp("multi", theArgv[3]) == 0)
{
NCollection_Sequence<Handle(Poly_Triangulation)> theTriangList;
RWStl::ReadFile(theArgv[2], theTriangList);
BRep_Builder aB;
TopoDS_Compound aCmp;
aB.MakeCompound(aCmp);
for (int i = 1; i <= theTriangList.Length(); i++)
{
TopoDS_Face aFace;
aB.MakeFace(aFace);
aB.UpdateFace(aFace, theTriangList(i));
aB.Add(aCmp, aFace);
}
DBRep::Set(theArgv[1], aCmp);
}
else else
{ {
std::cout << "Syntax error at '" << theArgVec[anArgIter] << "'\n"; std::cout << "Syntax error at '" << theArgVec[anArgIter] << "'\n";

View File

@@ -1,79 +0,0 @@
puts "============================================================================================="
puts "OCC31499: Boolean Operations - Custom fuzzy value corrupts the result of CUT"
puts "============================================================================================="
puts ""
restore [locate_data_file bug31499.brep] s
# perform operation with default fuzzy value
bfuzzyvalue 1.e-7
tcopy s s1
explode s1 So
bclearobjects
bcleartools
baddobjects s1_1
baddtools s1_2 s1_3 s1_4
bfillds
bbop r1_0 0
bbop r1_1 1
bbop r1_2 2
bbop r1_3 3
bbop r1_4 4
bbuild r1_5
# perform operation with custom fuzzy value
bfuzzyvalue 1.e-5
tcopy s s2
explode s2 So
bclearobjects
bcleartools
baddobjects s2_1
baddtools s2_2 s2_3 s2_4
bfillds
bbop r2_0 0
bbop r2_1 1
bbop r2_2 2
bbop r2_3 3
bbop r2_4 4
bbuild r2_5
foreach j {1 2} {
foreach i {0 1 2 3 4 5} {
checkshape r${j}_$i
if {![regexp "OK" [bopcheck r${j}_$i]]} {
puts "Error: r${j}_$i is self-intersecting shape"
}
}
}
checkprops r1_0 -s 858.419 -v 687.948
checknbshapes r1_0 -wire 21 -face 21 -shell 3 -solid 3 -t
checkprops r1_1 -s 29829.2 -v 219732
checknbshapes r1_1 -wire 34 -face 34 -shell 1 -solid 1 -t
checkprops r1_2 -s 1987.39 -v 6408.07
checknbshapes r1_2 -wire 19 -face 19 -shell 1 -solid 1 -t
checkprops r1_3 -s 37868.2 -v 212636
checknbshapes r1_3 -wire 60 -face 60 -shell 6 -solid 6 -t
checkprops r1_4 -l 379.04
checksection r1_4 -r 0
checkprops r1_5 -s 40714 -v 219732
checknbshapes r1_5 -wire 79 -face 79 -shell 10 -solid 10 -t
foreach i {0 1 2 3 4 5} {
checkprops r2_$i -equal r1_$i
checknbshapes r2_$i -ref [nbshapes r2_$i]
}
checkview -display r2_2 -2d -path ${imagedir}/${test_image}.png

View File

@@ -1,36 +0,0 @@
puts "============================================================================================="
puts "OCC31499: Boolean Operations - Custom fuzzy value corrupts the result of CUT"
puts "============================================================================================="
puts ""
restore [locate_data_file bug31499.brep] s
explode s So
explode s_1 f; copy s_1_3 f1
explode s_2 f; copy s_2_4 f2
foreach c [directory c_*] { unset $c }
bfuzzyvalue 1.e-7
regexp {Tolerance Reached=([-0-9.+eE]*)} [bopcurves f1 f2 -2d] full tol3D1
set length1 0.0
foreach c [directory c_*] {
set length1 [dval $length1+[dval [lindex [length $c] 4]]]
}
foreach c [directory c_*] { unset $c }
bfuzzyvalue 1.e-5
regexp {Tolerance Reached=([-0-9.+eE]*)} [bopcurves f1 f2 -2d] full tol3D2
set length2 0.0
foreach c [directory c_*] {
set length2 [dval $length2+[dval [lindex [length $c] 4]]]
}
checkreal "Length of curves" $length2 $length1 1.e-7 1.e-7
if {$tol3D2 > 1.e-5} {
puts "Error: Face/Face intersection tolerance is too big when using fuzzy value"
}

View File

@@ -1,5 +0,0 @@
testreadstep [locate_data_file bug31301.stp] s
testwritestep bug31301_1.stp s
testreadstep bug31301_1.stp s1
checkshape s1 f
checkmaxtol s1 -ref 0.0078

View File

@@ -1,17 +0,0 @@
puts "# ====================================================================="
puts "# 0032228: Data Exchange - Shape becomes invalid after STEP export then import"
puts "# ====================================================================="
puts ""
# Reading file
brestore [locate_data_file bug32228.brep] s
set aTmpFile "$imagedir/${casename}.brep"
testwritestep "$aTmpFile" s
testreadstep "$aTmpFile" s1
file delete "$aTmpFile"
# Checking
checknbshapes s1 -vertex 47 -edge 72 -wire 35 -face 28
checkshape s1 f
checkmaxtol s1 -ref 1.e-7
checkprops s1 -v 586991 -deps 0.01

View File

@@ -1,16 +1,17 @@
# !!!! This file is generated automatically, do not edit manually! See end script # !!!! This file is generated automatically, do not edit manually! See end script
puts "TODO CR23096 ALL: CHECKSHAPE : Faulty" puts "TODO CR23096 ALL: CHECKSHAPE : Faulty"
puts "TODO CR23096 ALL: TOLERANCE : Faulty"
set filename trj7_pm5-ug-214.stp set filename trj7_pm5-ug-214.stp
set ref_data { set ref_data {
DATA : Faulties = 0 ( 0 ) Warnings = 0 ( 0 ) Summary = 0 ( 0 ) DATA : Faulties = 0 ( 0 ) Warnings = 0 ( 0 ) Summary = 0 ( 0 )
TPSTAT : Faulties = 0 ( 0 ) Warnings = 3 ( 184 ) Summary = 3 ( 184 ) TPSTAT : Faulties = 0 ( 0 ) Warnings = 5 ( 184 ) Summary = 5 ( 184 )
CHECKSHAPE : Wires = 1 ( 0 ) Faces = 1 ( 0 ) Shells = 0 ( 0 ) Solids = 0 ( 0 ) CHECKSHAPE : Wires = 2 ( 0 ) Faces = 2 ( 0 ) Shells = 0 ( 0 ) Solids = 0 ( 0 )
NBSHAPES : Solid = 1 ( 1 ) Shell = 1 ( 1 ) Face = 236 ( 236 ) NBSHAPES : Solid = 1 ( 1 ) Shell = 1 ( 1 ) Face = 236 ( 236 )
STATSHAPE : Solid = 1 ( 1 ) Shell = 1 ( 1 ) Face = 236 ( 236 ) FreeWire = 0 ( 0 ) STATSHAPE : Solid = 1 ( 1 ) Shell = 1 ( 1 ) Face = 236 ( 236 ) FreeWire = 0 ( 0 )
TOLERANCE : MaxTol = 0.004380869792 ( 0.01854047103 ) AvgTol = 0.000165684279 ( 0.0006030086632 ) TOLERANCE : MaxTol = 0.9036712735 ( 0.01854047103 ) AvgTol = 0.002850040066 ( 0.0006030086632 )
LABELS : N0Labels = 1 ( 1 ) N1Labels = 34 ( 34 ) N2Labels = 0 ( 0 ) TotalLabels = 35 ( 35 ) NameLabels = 1 ( 1 ) ColorLabels = 35 ( 35 ) LayerLabels = 1 ( 1 ) LABELS : N0Labels = 1 ( 1 ) N1Labels = 34 ( 34 ) N2Labels = 0 ( 0 ) TotalLabels = 35 ( 35 ) NameLabels = 1 ( 1 ) ColorLabels = 35 ( 35 ) LayerLabels = 1 ( 1 )
PROPS : Centroid = 0 ( 0 ) Volume = 0 ( 0 ) Area = 0 ( 0 ) PROPS : Centroid = 0 ( 0 ) Volume = 0 ( 0 ) Area = 0 ( 0 )
NCOLORS : NColors = 11 ( 11 ) NCOLORS : NColors = 11 ( 11 )

View File

@@ -6,11 +6,11 @@ set filename test-m020306-v1.stp
set ref_data { set ref_data {
DATA : Faulties = 0 ( 0 ) Warnings = 0 ( 0 ) Summary = 0 ( 0 ) DATA : Faulties = 0 ( 0 ) Warnings = 0 ( 0 ) Summary = 0 ( 0 )
TPSTAT : Faulties = 1 ( 0 ) Warnings = 153 ( 114 ) Summary = 154 ( 114 ) TPSTAT : Faulties = 0 ( 0 ) Warnings = 153 ( 114 ) Summary = 153 ( 114 )
CHECKSHAPE : Wires = 0 ( 0 ) Faces = 0 ( 0 ) Shells = 0 ( 0 ) Solids = 0 ( 0 ) CHECKSHAPE : Wires = 0 ( 0 ) Faces = 0 ( 0 ) Shells = 0 ( 0 ) Solids = 0 ( 0 )
NBSHAPES : Solid = 1 ( 1 ) Shell = 1 ( 1 ) Face = 742 ( 742 ) NBSHAPES : Solid = 1 ( 1 ) Shell = 1 ( 1 ) Face = 742 ( 742 )
STATSHAPE : Solid = 1 ( 1 ) Shell = 1 ( 1 ) Face = 742 ( 742 ) FreeWire = 0 ( 0 ) STATSHAPE : Solid = 1 ( 1 ) Shell = 1 ( 1 ) Face = 742 ( 742 ) FreeWire = 0 ( 0 )
TOLERANCE : MaxTol = 0.008481946718 ( 0.01167623167 ) AvgTol = 0.0001322682241 ( 0.0003097606769 ) TOLERANCE : MaxTol = 0.008481946718 ( 0.01167623167 ) AvgTol = 0.000132472064 ( 0.0003097606769 )
LABELS : N0Labels = 1 ( 1 ) N1Labels = 0 ( 0 ) N2Labels = 0 ( 0 ) TotalLabels = 1 ( 1 ) NameLabels = 1 ( 1 ) ColorLabels = 0 ( 0 ) LayerLabels = 0 ( 0 ) LABELS : N0Labels = 1 ( 1 ) N1Labels = 0 ( 0 ) N2Labels = 0 ( 0 ) TotalLabels = 1 ( 1 ) NameLabels = 1 ( 1 ) ColorLabels = 0 ( 0 ) LayerLabels = 0 ( 0 )
PROPS : Centroid = 0 ( 0 ) Volume = 0 ( 0 ) Area = 0 ( 0 ) PROPS : Centroid = 0 ( 0 ) Volume = 0 ( 0 ) Area = 0 ( 0 )
NCOLORS : NColors = 0 ( 0 ) NCOLORS : NColors = 0 ( 0 )

View File

@@ -1,16 +1,13 @@
# !!!! This file is generated automatically, do not edit manually! See end script # !!!! This file is generated automatically, do not edit manually! See end script
puts "TODO CR23096 ALL: TPSTAT : Faulty"
set filename test-m020306-v2.stp set filename test-m020306-v2.stp
set ref_data { set ref_data {
DATA : Faulties = 0 ( 0 ) Warnings = 0 ( 0 ) Summary = 0 ( 0 ) DATA : Faulties = 0 ( 0 ) Warnings = 0 ( 0 ) Summary = 0 ( 0 )
TPSTAT : Faulties = 1 ( 0 ) Warnings = 63 ( 157 ) Summary = 64 ( 157 ) TPSTAT : Faulties = 0 ( 0 ) Warnings = 61 ( 157 ) Summary = 61 ( 157 )
CHECKSHAPE : Wires = 0 ( 0 ) Faces = 0 ( 0 ) Shells = 0 ( 0 ) Solids = 0 ( 0 ) CHECKSHAPE : Wires = 0 ( 0 ) Faces = 0 ( 0 ) Shells = 0 ( 0 ) Solids = 0 ( 0 )
NBSHAPES : Solid = 1 ( 1 ) Shell = 1 ( 1 ) Face = 956 ( 956 ) NBSHAPES : Solid = 1 ( 1 ) Shell = 1 ( 1 ) Face = 956 ( 956 )
STATSHAPE : Solid = 1 ( 1 ) Shell = 1 ( 1 ) Face = 956 ( 956 ) FreeWire = 0 ( 0 ) STATSHAPE : Solid = 1 ( 1 ) Shell = 1 ( 1 ) Face = 956 ( 956 ) FreeWire = 0 ( 0 )
TOLERANCE : MaxTol = 0.008481946718 ( 0.01167623167 ) AvgTol = 0.000123986292 ( 0.0003770309367 ) TOLERANCE : MaxTol = 0.008481946718 ( 0.05394823207 ) AvgTol = 0.0001239210367 ( 0.0004089750747 )
LABELS : N0Labels = 1 ( 1 ) N1Labels = 0 ( 0 ) N2Labels = 0 ( 0 ) TotalLabels = 1 ( 1 ) NameLabels = 1 ( 1 ) ColorLabels = 0 ( 0 ) LayerLabels = 0 ( 0 ) LABELS : N0Labels = 1 ( 1 ) N1Labels = 0 ( 0 ) N2Labels = 0 ( 0 ) TotalLabels = 1 ( 1 ) NameLabels = 1 ( 1 ) ColorLabels = 0 ( 0 ) LayerLabels = 0 ( 0 )
PROPS : Centroid = 0 ( 0 ) Volume = 0 ( 0 ) Area = 0 ( 0 ) PROPS : Centroid = 0 ( 0 ) Volume = 0 ( 0 ) Area = 0 ( 0 )
NCOLORS : NColors = 0 ( 0 ) NCOLORS : NColors = 0 ( 0 )

View File

@@ -1,16 +1,13 @@
# !!!! This file is generated automatically, do not edit manually! See end script # !!!! This file is generated automatically, do not edit manually! See end script
puts "TODO CR23096 ALL: TPSTAT : Faulty"
set filename Inventor_Engine.stp set filename Inventor_Engine.stp
set ref_data { set ref_data {
DATA : Faulties = 0 ( 0 ) Warnings = 0 ( 0 ) Summary = 0 ( 0 ) DATA : Faulties = 0 ( 0 ) Warnings = 0 ( 0 ) Summary = 0 ( 0 )
TPSTAT : Faulties = 1 ( 0 ) Warnings = 455 ( 560 ) Summary = 456 ( 560 ) TPSTAT : Faulties = 0 ( 0 ) Warnings = 456 ( 560 ) Summary = 456 ( 560 )
CHECKSHAPE : Wires = 6 ( 6 ) Faces = 6 ( 6 ) Shells = 0 ( 0 ) Solids = 0 ( 0 ) CHECKSHAPE : Wires = 6 ( 6 ) Faces = 6 ( 6 ) Shells = 0 ( 0 ) Solids = 0 ( 0 )
NBSHAPES : Solid = 47 ( 47 ) Shell = 47 ( 47 ) Face = 4454 ( 4454 ) NBSHAPES : Solid = 47 ( 47 ) Shell = 47 ( 47 ) Face = 4454 ( 4454 )
STATSHAPE : Solid = 80 ( 80 ) Shell = 80 ( 80 ) Face = 5356 ( 5356 ) FreeWire = 0 ( 0 ) STATSHAPE : Solid = 80 ( 80 ) Shell = 80 ( 80 ) Face = 5356 ( 5356 ) FreeWire = 0 ( 0 )
TOLERANCE : MaxTol = 2.371238233 ( 2.449305641 ) AvgTol = 0.001672277308 ( 0.002589629313 ) TOLERANCE : MaxTol = 2.37122237 ( 2.449305641 ) AvgTol = 0.002570949956 ( 0.002589629313 )
LABELS : N0Labels = 52 ( 52 ) N1Labels = 86 ( 86 ) N2Labels = 0 ( 0 ) TotalLabels = 138 ( 138 ) NameLabels = 136 ( 136 ) ColorLabels = 47 ( 47 ) LayerLabels = 0 ( 0 ) LABELS : N0Labels = 52 ( 52 ) N1Labels = 86 ( 86 ) N2Labels = 0 ( 0 ) TotalLabels = 138 ( 138 ) NameLabels = 136 ( 136 ) ColorLabels = 47 ( 47 ) LayerLabels = 0 ( 0 )
PROPS : Centroid = 0 ( 0 ) Volume = 0 ( 0 ) Area = 0 ( 0 ) PROPS : Centroid = 0 ( 0 ) Volume = 0 ( 0 ) Area = 0 ( 0 )
NCOLORS : NColors = 11 ( 11 ) NCOLORS : NColors = 11 ( 11 )

View File

@@ -7,11 +7,11 @@ set filename Z8INV5.stp
set ref_data { set ref_data {
DATA : Faulties = 0 ( 0 ) Warnings = 0 ( 0 ) Summary = 0 ( 0 ) DATA : Faulties = 0 ( 0 ) Warnings = 0 ( 0 ) Summary = 0 ( 0 )
TPSTAT : Faulties = 0 ( 0 ) Warnings = 121 ( 620 ) Summary = 121 ( 620 ) TPSTAT : Faulties = 0 ( 0 ) Warnings = 120 ( 620 ) Summary = 120 ( 620 )
CHECKSHAPE : Wires = 15 ( 16 ) Faces = 18 ( 18 ) Shells = 1 ( 1 ) Solids = 0 ( 0 ) CHECKSHAPE : Wires = 15 ( 16 ) Faces = 17 ( 18 ) Shells = 1 ( 1 ) Solids = 0 ( 0 )
NBSHAPES : Solid = 22 ( 22 ) Shell = 25 ( 24 ) Face = 1521 ( 1519 ) NBSHAPES : Solid = 22 ( 22 ) Shell = 25 ( 24 ) Face = 1520 ( 1519 )
STATSHAPE : Solid = 22 ( 22 ) Shell = 25 ( 24 ) Face = 1521 ( 1519 ) FreeWire = 0 ( 0 ) STATSHAPE : Solid = 22 ( 22 ) Shell = 25 ( 24 ) Face = 1520 ( 1519 ) FreeWire = 0 ( 0 )
TOLERANCE : MaxTol = 7.499684301 ( 7.499684301 ) AvgTol = 0.03357316863 ( 0.03544461059 ) TOLERANCE : MaxTol = 7.499684301 ( 7.499684301 ) AvgTol = 0.03452373473 ( 0.03544461059 )
LABELS : N0Labels = 25 ( 25 ) N1Labels = 23 ( 23 ) N2Labels = 0 ( 0 ) TotalLabels = 48 ( 48 ) NameLabels = 48 ( 48 ) ColorLabels = 0 ( 0 ) LayerLabels = 0 ( 0 ) LABELS : N0Labels = 25 ( 25 ) N1Labels = 23 ( 23 ) N2Labels = 0 ( 0 ) TotalLabels = 48 ( 48 ) NameLabels = 48 ( 48 ) ColorLabels = 0 ( 0 ) LayerLabels = 0 ( 0 )
PROPS : Centroid = 0 ( 0 ) Volume = 0 ( 0 ) Area = 0 ( 0 ) PROPS : Centroid = 0 ( 0 ) Volume = 0 ( 0 ) Area = 0 ( 0 )
NCOLORS : NColors = 0 ( 0 ) NCOLORS : NColors = 0 ( 0 )