shape = XSAlgo::AlgoContainer()->ProcessShape( shape, Tol, maxTol,
"write.iges.resource.name",
"write.iges.sequence", info,
- theProgress );
+ theProgress, false, TopAbs_EDGE);
// modified by NIZHNY-EAP Tue Aug 29 11:17:01 2000 ___END___
BRepToIGES_BREntity BR0; BR0.SetModel(modl); BR0.SetTransferProcess(FP);
TopoDS_Shape Shape = XSAlgo::AlgoContainer()->ProcessShape( theShape, Tol, maxTol,
"write.iges.resource.name",
"write.iges.sequence", info,
- aPS.Next());
+ aPS.Next(), false, TopAbs_EDGE);
if (!aPS.More())
return Standard_False;
"read.iges.resource.name",
"read.iges.sequence",
info, mymodel->ReShape(),
- aPS.Next());
+ aPS.Next(), false, TopAbs_EDGE);
XSAlgo::AlgoContainer()->MergeTransferInfo(TP, info, nbTPitems);
}
shape = XSAlgo::AlgoContainer()->ProcessShape( shape, eps*CAS.GetUnitFactor(), CAS.GetMaxTol(),
"read.iges.resource.name",
"read.iges.sequence", info,
- aPS.Next() );
+ aPS.Next(), false, TopAbs_EDGE);
if (aPS.UserBreak())
return Standard_False;
Handle(Standard_Transient)& theInfo,
const Handle(ShapeBuild_ReShape)& theReShape,
const Message_ProgressRange& theProgress,
- const Standard_Boolean theNonManifold) const
+ const Standard_Boolean theNonManifold,
+ const TopAbs_ShapeEnum theDetalisationLevel) const
{
if (theShape.IsNull())
{
aRscfile = thePrscfile;
aContext = new ShapeProcess_ShapeContext(theShape, aRscfile);
}
- aContext->SetDetalisation(TopAbs_EDGE);
+ aContext->SetDetalisation(theDetalisationLevel);
}
aContext->SetNonManifold(theNonManifold);
theInfo = aContext;
const Standard_CString thePseq,
Handle(Standard_Transient)& theInfo,
const Message_ProgressRange& theProgress,
- const Standard_Boolean theNonManifold) const
+ const Standard_Boolean theNonManifold,
+ const TopAbs_ShapeEnum theDetalisationLevel) const
{
Handle(ShapeBuild_ReShape) aReShape = new ShapeBuild_ReShape();
return ProcessShape(theShape, thePrec, theMaxTol, thePrscfile,
thePseq, theInfo, aReShape, theProgress,
- theNonManifold);
+ theNonManifold, theDetalisationLevel);
}
//=======================================================================
#include <Standard.hxx>
#include <Standard_Type.hxx>
-#include <Standard_Transient.hxx>
-#include <Standard_Integer.hxx>
#include <Message_ProgressRange.hxx>
+#include <Standard_Integer.hxx>
+#include <Standard_Transient.hxx>
+#include <TopAbs_ShapeEnum.hxx>
class ShapeBuild_ReShape;
class XSAlgo_ToolContainer;
const Standard_CString thePseq,
Handle(Standard_Transient)& theInfo,
const Message_ProgressRange& theProgress = Message_ProgressRange(),
- const Standard_Boolean theNonManifold = Standard_False) const;
+ const Standard_Boolean theNonManifold = Standard_False,
+ const TopAbs_ShapeEnum theDetalisationLevel = TopAbs_VERTEX) const;
//! Does shape processing with specified tolerances
//! @param[in] theShape shape to process
Handle(Standard_Transient)& theInfo,
const Handle(ShapeBuild_ReShape)& theReShape,
const Message_ProgressRange& theProgress = Message_ProgressRange(),
- const Standard_Boolean theNonManifold = Standard_False) const;
+ const Standard_Boolean theNonManifold = Standard_False,
+ const TopAbs_ShapeEnum theDetalisationLevel = TopAbs_VERTEX) const;
//! Checks quality of pcurve of the edge on the given face,
//! and corrects it if necessary.
--- /dev/null
+puts "=================================="
+puts "0032681: Data Exchange - Missed dimension after STEP export"
+puts "Check adding of dimension"
+puts "=================================="
+
+pload DCAF
+
+ReadStep D [locate_data_file bug32681.stp]
+XGetOneShape s D
+explode s V
+XAddSubShape D s_1 0:1:1:1
+XAddSubShape D s_84 0:1:1:1
+XAddDimension D 0:1:1:1:57 0:1:1:1:58
+param write.step.schema 5
+param write.surfacecurve.mode 0
+set tmpFile ${imagedir}/tmpFile.stp
+WriteStep D $tmpFile
+Close D
+ReadStep D1 $tmpFile
+set str [XDumpDGTs D1 all]
+if {[string first "0:1:1:1:57" $str] == -1 || [string first "0:1:1:1:58" $str] == -1} {
+ puts "Error: don't find subshape"
+}
+Close D1
+file delete $tmpFile
+param write.step.schema 4
+param write.surfacecurve.mode 1