mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-04-05 18:16:23 +03:00
Compare commits
19 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
bd2a789f15 | ||
|
a4e91f855b | ||
|
9efc032b9a | ||
|
44cbb3d8e7 | ||
|
392377a331 | ||
|
6635f53848 | ||
|
f7f32bf33e | ||
|
c1620d29fa | ||
|
92e70f93d0 | ||
|
54754bccab | ||
|
33a5691ef1 | ||
|
689b59692e | ||
|
c7fd6ca63b | ||
|
9704e22131 | ||
|
f3f713569a | ||
|
db976e0a59 | ||
|
ee8f2ea3c2 | ||
|
58393b24b6 | ||
|
b896c6f4af |
@ -475,7 +475,7 @@ Modify this parameter with:
|
||||
if(!Interface_Static::SetIVal("read.step.tessellated",1))
|
||||
.. error ..
|
||||
~~~~
|
||||
Default value is 0 (On).
|
||||
Default value is 1 (On).
|
||||
|
||||
@subsubsection occt_step_2_3_4 Performing the STEP file translation
|
||||
|
||||
|
@ -808,8 +808,11 @@ void Approx_BSplComputeLine::Parameters(const MultiLine& Line,
|
||||
const Standard_Integer aNbp = lastP - firstP + 1;
|
||||
|
||||
|
||||
// The first parameter should always be zero according to all the logic below,
|
||||
// so division by any value will give zero anyway, so it should never be scaled
|
||||
// to avoid case when there is only one parameter in the array thus division by zero happens.
|
||||
TheParameters(firstP) = 0.0;
|
||||
if (aNbp == 2) {
|
||||
TheParameters(firstP) = 0.0;
|
||||
TheParameters(lastP) = 1.0;
|
||||
}
|
||||
else if (Par == Approx_ChordLength || Par == Approx_Centripetal)
|
||||
@ -820,7 +823,6 @@ void Approx_BSplComputeLine::Parameters(const MultiLine& Line,
|
||||
if (nbP3d == 0) mynbP3d = 1;
|
||||
if (nbP2d == 0) mynbP2d = 1;
|
||||
|
||||
TheParameters(firstP) = 0.0;
|
||||
dist = 0.0;
|
||||
TColgp_Array1OfPnt tabP(1, mynbP3d);
|
||||
TColgp_Array1OfPnt tabPP(1, mynbP3d);
|
||||
@ -861,10 +863,10 @@ void Approx_BSplComputeLine::Parameters(const MultiLine& Line,
|
||||
TheParameters(i) = TheParameters(i - 1) + Sqrt(dist);
|
||||
}
|
||||
}
|
||||
for (i = firstP; i <= lastP; i++) TheParameters(i) /= TheParameters(lastP);
|
||||
for (i = firstP + 1; i <= lastP; i++) TheParameters(i) /= TheParameters(lastP);
|
||||
}
|
||||
else {
|
||||
for (i = firstP; i <= lastP; i++) {
|
||||
for (i = firstP + 1; i <= lastP; i++) {
|
||||
TheParameters(i) = (Standard_Real(i) - firstP) /
|
||||
(Standard_Real(lastP - Standard_Real(firstP)));
|
||||
}
|
||||
|
@ -103,7 +103,7 @@ static Standard_Boolean ChangePCurve (TopoDS_Edge& E,
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
|
||||
static void ProjCurve3d (TopoDS_Edge& E,
|
||||
static bool ProjCurve3d (TopoDS_Edge& E,
|
||||
const Handle(Geom_Surface)& S,
|
||||
TopLoc_Location& L)
|
||||
{
|
||||
@ -111,6 +111,10 @@ static void ProjCurve3d (TopoDS_Edge& E,
|
||||
TopLoc_Location LE;
|
||||
Standard_Real f,l;
|
||||
Handle(Geom_Curve) C = BRep_Tool::Curve(E,LE,f,l);
|
||||
if (C.IsNull())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
Handle(Geom_TrimmedCurve) CT = new Geom_TrimmedCurve(C,f,l);
|
||||
|
||||
TopLoc_Location LL = L.Inverted().Multiplied(LE);
|
||||
@ -118,6 +122,7 @@ static void ProjCurve3d (TopoDS_Edge& E,
|
||||
|
||||
Handle(Geom2d_Curve) C2 = GeomProjLib::Curve2d (CT,S);
|
||||
BB.UpdateEdge(E,C2,S,L,Precision::Confusion());
|
||||
return true;
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
@ -165,13 +170,19 @@ void BRepAlgo_FaceRestrictor::Perform()
|
||||
// no pcurve on the reference surface.
|
||||
if (modeProj) {
|
||||
// Projection of the 3D curve on surface.
|
||||
ProjCurve3d ( E, S, L);
|
||||
if (!ProjCurve3d(E, S, L))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
else {
|
||||
// return the first pcurve glued on <S>
|
||||
Standard_Boolean YaPCurve = ChangePCurve (E, S, L);
|
||||
if (!YaPCurve) {
|
||||
ProjCurve3d (E, S, L);
|
||||
if (!ProjCurve3d(E, S, L))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -333,7 +333,7 @@ void BRepAlgo_NormalProjection::SetDefaultParams()
|
||||
Only2d = Standard_True;
|
||||
|
||||
if(Only2d && Only3d) {
|
||||
BRepLib_MakeEdge MKed(GeomAdaptor::MakeCurve(hcur->Curve()),
|
||||
BRepLib_MakeEdge MKed(GeomAdaptor::MakeCurve(*hcur),
|
||||
Udeb, Ufin);
|
||||
prj = MKed.Edge();
|
||||
BB.UpdateEdge(TopoDS::Edge(prj),
|
||||
@ -369,7 +369,7 @@ void BRepAlgo_NormalProjection::SetDefaultParams()
|
||||
|
||||
if(!Only3d) PCur2d = appr.Curve2d();
|
||||
if(Only2d) {
|
||||
BRepLib_MakeEdge MKed(GeomAdaptor::MakeCurve(hcur->Curve()),
|
||||
BRepLib_MakeEdge MKed(GeomAdaptor::MakeCurve(*hcur),
|
||||
Udeb, Ufin);
|
||||
prj = MKed.Edge();
|
||||
}
|
||||
|
@ -1292,11 +1292,10 @@ void BRepOffset_Inter3d::ContextIntByArc(const TopTools_IndexedMapOfShape& Conte
|
||||
for ( ;exp2.More(); exp2.Next()) {
|
||||
LOE.Append(exp2.Current());
|
||||
}
|
||||
BRepOffset_Tool::TryProject(CF,OF1,LOE,LInt1,LInt2,mySide,myTol);
|
||||
//-------------------------------------------------------
|
||||
// If no trace try intersection.
|
||||
//-------------------------------------------------------
|
||||
if (LInt1.IsEmpty()) {
|
||||
if (!BRepOffset_Tool::TryProject(CF, OF1, LOE, LInt1, LInt2, mySide, myTol) || LInt1.IsEmpty()) {
|
||||
BRepOffset_Tool::Inter3D (CF,OF1,LInt1,LInt2,mySide,NullEdge,NullFace,NullFace);
|
||||
}
|
||||
Store (CF,OF1,LInt1,LInt2);
|
||||
|
@ -1175,12 +1175,16 @@ void BRepOffset_MakeOffset::MakeThickSolid(const Message_ProgressRange& theRange
|
||||
{
|
||||
NbOF++;
|
||||
}
|
||||
if (NbOF <= NbF)
|
||||
if (NbOF < NbF)
|
||||
{
|
||||
myDone = Standard_False;
|
||||
myError = BRepOffset_UnknownError;
|
||||
return;
|
||||
}
|
||||
if (NbOF == NbF)
|
||||
{
|
||||
myOffset = 0;
|
||||
}
|
||||
}
|
||||
|
||||
if (myOffset > 0 ) myOffsetShape.Reverse();
|
||||
|
@ -1881,6 +1881,10 @@ Standard_Boolean BRepOffset_Tool::TryProject
|
||||
if (C.IsNull()) {
|
||||
BRepLib::BuildCurve3d(CurE,BRep_Tool::Tolerance(CurE));
|
||||
C = BRep_Tool::Curve(CurE,L,f,l);
|
||||
if (C.IsNull())
|
||||
{
|
||||
return Standard_False;
|
||||
}
|
||||
}
|
||||
C = new Geom_TrimmedCurve(C,f,l);
|
||||
if ( !L.IsIdentity()) C->Transform(L);
|
||||
@ -3519,9 +3523,8 @@ void BRepOffset_Tool::ExtentFace (const TopoDS_Face& F,
|
||||
if (ToBuild.IsBound(E)) {
|
||||
TopTools_ListOfShape LOE;
|
||||
LOE.Append(E);
|
||||
BRepOffset_Tool::TryProject (TopoDS::Face(ToBuild(E)),
|
||||
EF,LOE,LInt2,LInt1,Side,TolConf);
|
||||
if (!LInt1.IsEmpty())
|
||||
if (BRepOffset_Tool::TryProject(TopoDS::Face(ToBuild(E)), EF, LOE, LInt2, LInt1, Side, TolConf)
|
||||
&& !LInt1.IsEmpty())
|
||||
ToBuild.UnBind(E);
|
||||
}
|
||||
}
|
||||
|
@ -515,8 +515,13 @@ BSplCLib::EvalBsplineBasis
|
||||
//
|
||||
// this should be always invertible if ii is correctly computed
|
||||
//
|
||||
Factor = (Parameter - FlatKnots(ii - qq + pp + 1))
|
||||
/ (FlatKnots(ii + pp) - FlatKnots(ii - qq + pp + 1)) ;
|
||||
const Standard_Real aScale = (FlatKnots(ii + pp) - FlatKnots(ii - qq + pp + 1));
|
||||
if (Abs (aScale) < gp::Resolution())
|
||||
{
|
||||
return 2;
|
||||
}
|
||||
|
||||
Factor = (Parameter - FlatKnots(ii - qq + pp + 1)) / aScale;
|
||||
Saved = Factor * BsplineBasis(1,pp) ;
|
||||
BsplineBasis(1,pp) *= (1.0e0 - Factor) ;
|
||||
BsplineBasis(1,pp) += BsplineBasis(1,qq) ;
|
||||
@ -536,7 +541,13 @@ BSplCLib::EvalBsplineBasis
|
||||
}
|
||||
|
||||
for (pp = 1 ; pp <= qq - 1 ; pp++) {
|
||||
Inverse = 1.0e0 / (FlatKnots(ii + pp) - FlatKnots(ii - qq + pp + 1)) ;
|
||||
const Standard_Real aScale = (FlatKnots(ii + pp) - FlatKnots(ii - qq + pp + 1));
|
||||
if (Abs (aScale) < gp::Resolution())
|
||||
{
|
||||
return 2;
|
||||
}
|
||||
|
||||
Inverse = 1.0e0 / aScale;
|
||||
Factor = (Parameter - FlatKnots(ii - qq + pp + 1)) * Inverse ;
|
||||
Saved = Factor * BsplineBasis(1,pp) ;
|
||||
BsplineBasis(1,pp) *= (1.0e0 - Factor) ;
|
||||
|
@ -50,22 +50,27 @@ static Standard_Boolean Controle(const TColgp_Array1OfPnt& Poles,
|
||||
Standard_Real umin, umax, vmin, vmax;
|
||||
S->Bounds(umin, umax, vmin, vmax);
|
||||
S->D1((umin + umax) / 2, (vmin + vmax) / 2, P, DU, DV);
|
||||
// On prend DX le plus proche possible de DU
|
||||
gp_Dir du(DU);
|
||||
Standard_Real Angle1 = du.Angle(DX);
|
||||
Standard_Real Angle2 = du.Angle(DY);
|
||||
if (Angle1 > M_PI / 2) Angle1 = M_PI - Angle1;
|
||||
if (Angle2 > M_PI / 2) Angle2 = M_PI - Angle2;
|
||||
if (Angle2 < Angle1) {
|
||||
du = DY; DY = DX; DX = du;
|
||||
}
|
||||
if (DX.Angle(DU) > M_PI / 2) DX.Reverse();
|
||||
if (DY.Angle(DV) > M_PI / 2) DY.Reverse();
|
||||
|
||||
if (DU.SquareMagnitude() > gp::Resolution() &&
|
||||
DV.SquareMagnitude() > gp::Resolution())
|
||||
{
|
||||
// On prend DX le plus proche possible de DU
|
||||
gp_Dir du(DU);
|
||||
Standard_Real Angle1 = du.Angle(DX);
|
||||
Standard_Real Angle2 = du.Angle(DY);
|
||||
if (Angle1 > M_PI / 2) Angle1 = M_PI - Angle1;
|
||||
if (Angle2 > M_PI / 2) Angle2 = M_PI - Angle2;
|
||||
if (Angle2 < Angle1) {
|
||||
du = DY; DY = DX; DX = du;
|
||||
}
|
||||
if (DX.Angle(DU) > M_PI / 2) DX.Reverse();
|
||||
if (DY.Angle(DV) > M_PI / 2) DY.Reverse();
|
||||
|
||||
gp_Ax3 axe(Bary, DX^DY, DX);
|
||||
Plan.SetPosition(axe);
|
||||
Plan.SetLocation(Bary);
|
||||
IsPlan = Standard_True;
|
||||
gp_Ax3 axe(Bary, DX^DY, DX);
|
||||
Plan.SetPosition(axe);
|
||||
Plan.SetLocation(Bary);
|
||||
IsPlan = Standard_True;
|
||||
}
|
||||
}
|
||||
return IsPlan;
|
||||
}
|
||||
|
@ -91,7 +91,14 @@ void RWStepBasic_RWProduct::WriteStep
|
||||
|
||||
// --- own field : description ---
|
||||
|
||||
SW.Send(ent->Description());
|
||||
if (!ent->Description().IsNull())
|
||||
{
|
||||
SW.Send(ent->Description());
|
||||
}
|
||||
else
|
||||
{
|
||||
SW.SendUndef();
|
||||
}
|
||||
|
||||
// --- own field : frameOfReference ---
|
||||
|
||||
|
@ -78,7 +78,14 @@ void RWStepBasic_RWProductDefinition::WriteStep
|
||||
|
||||
// --- own field : description ---
|
||||
|
||||
SW.Send(ent->Description());
|
||||
if (!ent->Description().IsNull())
|
||||
{
|
||||
SW.Send(ent->Description());
|
||||
}
|
||||
else
|
||||
{
|
||||
SW.SendUndef();
|
||||
}
|
||||
|
||||
// --- own field : formation ---
|
||||
|
||||
|
@ -71,7 +71,14 @@ void RWStepBasic_RWProductDefinitionFormation::WriteStep
|
||||
|
||||
// --- own field : description ---
|
||||
|
||||
SW.Send(ent->Description());
|
||||
if (!ent->Description().IsNull())
|
||||
{
|
||||
SW.Send(ent->Description());
|
||||
}
|
||||
else
|
||||
{
|
||||
SW.SendUndef();
|
||||
}
|
||||
|
||||
// --- own field : ofProduct ---
|
||||
|
||||
|
@ -1996,7 +1996,7 @@ Handle(Poly_Triangulation) createMesh(const Handle(StepVisual_ComplexTriangulate
|
||||
const Standard_Integer aNbNormals = theTriangulatedSufaceSet->NbNormals();
|
||||
// Number of pairs (Point, Normal). It is possible for one point to have multiple normals. This is
|
||||
// useful when the underlying surface is not C1 continuous.
|
||||
const Standard_Integer aNbPairs = aNbNormals > 1 ? theTriangulatedSufaceSet->NbPnindex() : aNodes->Length();
|
||||
const Standard_Integer aNbPairs = aNbNormals > 1 ? theTriangulatedSufaceSet->Pnmax() : aNodes->Length();
|
||||
const Standard_Boolean aHasNormals = aNbNormals > 0;
|
||||
|
||||
// Counting number of triangles in the triangle strips list.
|
||||
@ -2021,7 +2021,7 @@ Handle(Poly_Triangulation) createMesh(const Handle(StepVisual_ComplexTriangulate
|
||||
|
||||
for (Standard_Integer j = 1; j <= aNbPairs; ++j)
|
||||
{
|
||||
const gp_XYZ& aPoint = aNodes->Value(aNbNormals > 1 ? theTriangulatedSufaceSet->PnindexValue(j) : j);
|
||||
const gp_XYZ& aPoint = aNodes->Value((aNbNormals > 1 && theTriangulatedSufaceSet->NbPnindex() > 0) ? theTriangulatedSufaceSet->PnindexValue(j) : j);
|
||||
aMesh->SetNode(j, theFact * aPoint);
|
||||
}
|
||||
|
||||
@ -2553,11 +2553,36 @@ static Standard_Boolean ReadDatums(const Handle(XCAFDoc_ShapeTool) &STool,
|
||||
const Handle(StepDimTol_GeometricToleranceWithDatumReference)& GTWDR)
|
||||
{
|
||||
if (GTWDR.IsNull()) return Standard_False;
|
||||
Handle(StepDimTol_HArray1OfDatumReference) HADR = GTWDR->DatumSystem();
|
||||
if (HADR.IsNull()) return Standard_False;
|
||||
for (Standard_Integer idr = 1; idr <= HADR->Length(); idr++) {
|
||||
Handle(StepDimTol_DatumReference) DR = HADR->Value(idr);
|
||||
Handle(StepDimTol_Datum) aDatum = DR->ReferencedDatum();
|
||||
Handle(StepDimTol_HArray1OfDatumSystemOrReference) aHADSOR = GTWDR->DatumSystemAP242();
|
||||
if (aHADSOR.IsNull())
|
||||
{
|
||||
return Standard_False;
|
||||
}
|
||||
NCollection_List<Handle(StepDimTol_Datum)> aDatumList;
|
||||
for (Standard_Integer idr = 1; idr <= aHADSOR->Length(); idr++)
|
||||
{
|
||||
const StepDimTol_DatumSystemOrReference aDSOR = aHADSOR->Value(idr);
|
||||
if (aDSOR.IsNull()) continue;
|
||||
Handle(StepDimTol_DatumSystem) aDS = aDSOR.DatumSystem();
|
||||
Handle(StepDimTol_DatumReference) aDR = aDSOR.DatumReference();
|
||||
Handle(StepDimTol_Datum) aDatum;
|
||||
if (!aDS.IsNull())
|
||||
{
|
||||
auto aDatumConList = aDS->Constituents();
|
||||
for (Standard_Integer anInd = 1; anInd <= aDatumConList->Length(); anInd++)
|
||||
{
|
||||
Handle(StepDimTol_DatumReferenceCompartment) aDatRefC = aDatumConList->Value(anInd);
|
||||
aDatumList.Append(aDatRefC->Base().Datum());
|
||||
}
|
||||
}
|
||||
else if (!aDR.IsNull())
|
||||
{
|
||||
aDatumList.Append(aDR->ReferencedDatum());
|
||||
}
|
||||
}
|
||||
for(NCollection_List<Handle(StepDimTol_Datum)>::Iterator anIt(aDatumList); anIt.More(); anIt.Next())
|
||||
{
|
||||
Handle(StepDimTol_Datum) aDatum = anIt.Value();
|
||||
if (aDatum.IsNull()) continue;
|
||||
Interface_EntityIterator subs4 = graph.Sharings(aDatum);
|
||||
for (subs4.Start(); subs4.More(); subs4.Next()) {
|
||||
|
@ -983,7 +983,7 @@ static Standard_Integer FindEntities(const Handle(Transfer_FinderProcess)& theFP
|
||||
//Handle(Transfer_TransientListBinder)::DownCast( bnd->Next(Standard_True) );
|
||||
Handle(Transfer_TransientListBinder)::DownCast(aBinder);
|
||||
Standard_Integer aResCount = 0;
|
||||
if (aTransientListBinder.IsNull() && theShape.ShapeType() == TopAbs_COMPOUND)
|
||||
if (aTransientListBinder.IsNull())
|
||||
{
|
||||
for (TopoDS_Iterator anIter(theShape); anIter.More(); anIter.Next())
|
||||
{
|
||||
|
@ -580,7 +580,7 @@ static void getSDR(const Handle(StepRepr_ProductDefinitionShape)& PDS,
|
||||
|
||||
// common progress indicator for translation of own shapes and sub-assemblies
|
||||
Message_ProgressScope PS(theProgress, "Part", nbEnt);
|
||||
Standard_Integer nbComponents=0, nbShapes=0;
|
||||
Standard_Integer nbComponents=0;
|
||||
|
||||
// translate sub-assemblies
|
||||
for ( Standard_Integer nbNauo =1; nbNauo <= listNAUO->Length() && PS.More(); nbNauo++) {
|
||||
@ -662,7 +662,6 @@ static void getSDR(const Handle(StepRepr_ProductDefinitionShape)& PDS,
|
||||
else
|
||||
B.Add(Cund, theResult);
|
||||
// [END] ssv: OCCT#22436: extra compound in NMSSR case
|
||||
nbShapes++;
|
||||
}
|
||||
}
|
||||
|
||||
@ -670,50 +669,20 @@ static void getSDR(const Handle(StepRepr_ProductDefinitionShape)& PDS,
|
||||
// way of writing hybrid models in AP203 since 1998, and AP209
|
||||
// Note that both AP203 and AP209 allow main representation to be non-empty
|
||||
if ( readSRR && /*theResult.IsNull() &&*/ i <= nbNotAspect) {
|
||||
Interface_EntityIterator subs1 = graph.Sharings(rep);
|
||||
Handle(Standard_Type) tSRR = STANDARD_TYPE(StepRepr_ShapeRepresentationRelationship);
|
||||
for (subs1.Start(); subs1.More(); subs1.Next()) {
|
||||
const Handle(Standard_Transient)& anitem = subs1.Value();
|
||||
if( !anitem->IsKind(STANDARD_TYPE(StepRepr_RepresentationRelationship)))
|
||||
continue;
|
||||
if (anitem->DynamicType() == tSRR)
|
||||
{
|
||||
Handle(StepRepr_ShapeRepresentationRelationship) SRR =
|
||||
Handle(StepRepr_ShapeRepresentationRelationship)::DownCast(anitem);
|
||||
Standard_Integer nbrep = (rep == SRR->Rep1() ? 2 : 1);
|
||||
// SKL for bug 29068: parameter useTrsf is used because if root entity has connection with other
|
||||
// by ShapeRepresentationRelationship then result after such transferring need to transform also.
|
||||
// This case is from test "bugs modalg_7 bug30196"
|
||||
binder = TransferEntity(SRR, TP, theLocalFactors, nbrep, useTrsf, aPS1.Next());
|
||||
if (! binder.IsNull()) {
|
||||
theResult = TransferBRep::ShapeResult (binder);
|
||||
Result1 = theResult;
|
||||
B.Add(Cund, theResult);
|
||||
nbShapes++;
|
||||
}
|
||||
}
|
||||
else if(readConstructiveGeomRR && anitem->IsKind(STANDARD_TYPE(StepRepr_ConstructiveGeometryRepresentationRelationship)))
|
||||
{
|
||||
Handle(StepRepr_ConstructiveGeometryRepresentationRelationship) aCSRR =
|
||||
Handle(StepRepr_ConstructiveGeometryRepresentationRelationship)::DownCast(anitem);
|
||||
binder = TransferEntity(aCSRR, TP, theLocalFactors);
|
||||
if (! binder.IsNull())
|
||||
{
|
||||
Result1 = TransferBRep::ShapeResult (binder);
|
||||
B.Add(Cund, Result1);
|
||||
nbShapes++;
|
||||
}
|
||||
}
|
||||
TopoDS_Shape aNewResult = TransferRelatedSRR(TP, rep, useTrsf, readConstructiveGeomRR, theLocalFactors, Cund, aPS1);
|
||||
if (!aNewResult.IsNull())
|
||||
{
|
||||
Result1 = aNewResult;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// make a warning if both own shape and sub-assemblies are present
|
||||
if ( nbShapes >0 && nbComponents > 0 )
|
||||
if ( (Cund.NbChildren() - nbComponents) > 0 && nbComponents > 0 )
|
||||
TP->AddWarning ( PD, "Product has both sub-assemblies and directly assigned shape" );
|
||||
|
||||
// if only single shape is read, add it as it is; otherwise add compound
|
||||
if( nbShapes == 1 && nbComponents == 0 )
|
||||
if( (Cund.NbChildren() - nbComponents) == 1 && nbComponents == 0 )
|
||||
shbinder = new TransferBRep_ShapeBinder (Result1);
|
||||
else
|
||||
shbinder = new TransferBRep_ShapeBinder (Cund);
|
||||
@ -1555,8 +1524,8 @@ Handle(TransferBRep_ShapeBinder) STEPControl_ActorRead::TransferEntity
|
||||
const Message_ProgressRange& theProgress)
|
||||
{
|
||||
Handle(TransferBRep_ShapeBinder) shbinder;
|
||||
|
||||
// --------------------------------------------------------------
|
||||
|
||||
// --------------------------------------------------------------
|
||||
// On se trouve ici dans un contexte " d'assemblage geometrique "
|
||||
// - MappedItem
|
||||
// --------------------------------------------------------------
|
||||
@ -1567,7 +1536,8 @@ Handle(TransferBRep_ShapeBinder) STEPControl_ActorRead::TransferEntity
|
||||
// La Shape, et la mise en position
|
||||
Handle(StepShape_ShapeRepresentation) maprep = Handle(StepShape_ShapeRepresentation)::
|
||||
DownCast(mapit->MappingSource()->MappedRepresentation());
|
||||
Standard_Boolean isBound = Standard_False;
|
||||
Standard_Boolean isBound = Standard_False;
|
||||
Message_ProgressScope aPSRoot(theProgress, NULL, 2);
|
||||
Handle(Transfer_Binder) binder = TP->Find(maprep);
|
||||
if (binder.IsNull()) binder = TransferEntity(maprep, TP, theLocalFactors, isBound, Standard_False, theProgress);
|
||||
shbinder = Handle(TransferBRep_ShapeBinder)::DownCast(binder);
|
||||
@ -1575,7 +1545,6 @@ Handle(TransferBRep_ShapeBinder) STEPControl_ActorRead::TransferEntity
|
||||
else {
|
||||
TopoDS_Shape mappedShape = shbinder->Result();
|
||||
if ( ! mappedShape.IsNull() ) {
|
||||
|
||||
// Positionnement : 2 formules
|
||||
// 1/ Ax2 dans Source et comme Target : passage de Source a Target
|
||||
// 2/ CartesianOperator3d comme Target : on applique
|
||||
@ -1607,6 +1576,39 @@ Handle(TransferBRep_ShapeBinder) STEPControl_ActorRead::TransferEntity
|
||||
shbinder = new TransferBRep_ShapeBinder (mappedShape);
|
||||
}
|
||||
}
|
||||
TopoDS_Compound aCund;
|
||||
TopoDS_Shape aResult;
|
||||
BRep_Builder aBuilder;
|
||||
aBuilder.MakeCompound(aCund);
|
||||
if (!shbinder.IsNull())
|
||||
{
|
||||
aResult = TransferBRep::ShapeResult(shbinder);
|
||||
aBuilder.Add(aCund, aResult);
|
||||
}
|
||||
// translate possible shapes related by SRRs, which corresponds to
|
||||
// way of writing hybrid models in AP203 since 1998, and AP209
|
||||
Standard_Integer aReadSRR = Interface_Static::IVal("read.step.shape.relationship");
|
||||
Standard_Integer aReadConstructiveGeomRR = Interface_Static::IVal("read.step.constructivegeom.relationship");
|
||||
if (aReadSRR)
|
||||
{
|
||||
const Interface_Graph& aGraph = TP->Graph();
|
||||
Standard_Integer aSRRnum = 0;
|
||||
for (Interface_EntityIterator aSubsIt(aGraph.Sharings(maprep)); aSubsIt.More(); aSubsIt.Next())
|
||||
++aSRRnum;
|
||||
Message_ProgressScope aPS(aPSRoot.Next(), "Part", aSRRnum);
|
||||
TopoDS_Shape aNewResult = TransferRelatedSRR(TP, maprep, Standard_False, aReadConstructiveGeomRR, theLocalFactors, aCund, aPS);
|
||||
if (!aNewResult.IsNull())
|
||||
{
|
||||
aResult = aNewResult;
|
||||
}
|
||||
// if only single shape is read, add it as it is; otherwise add compound
|
||||
if (aCund.NbChildren() == 1)
|
||||
shbinder = new TransferBRep_ShapeBinder(aResult);
|
||||
else if (aCund.NbChildren() > 1)
|
||||
{
|
||||
shbinder = new TransferBRep_ShapeBinder(aCund);
|
||||
}
|
||||
}
|
||||
TP->Bind(mapit, shbinder);
|
||||
return shbinder;
|
||||
}
|
||||
@ -2091,3 +2093,47 @@ void STEPControl_ActorRead::SetModel(const Handle(Interface_InterfaceModel)& the
|
||||
{
|
||||
myModel = theModel;
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
// Method : TransferRelatedSRR
|
||||
// Purpose : Helper method to transfer SRR related to the representation
|
||||
//=======================================================================
|
||||
TopoDS_Shape STEPControl_ActorRead::TransferRelatedSRR(const Handle(Transfer_TransientProcess)& theTP,
|
||||
const Handle(StepShape_ShapeRepresentation)& theRep,
|
||||
const Standard_Boolean theUseTrsf,
|
||||
const Standard_Integer theReadConstructiveGeomRR,
|
||||
const StepData_Factors& theLocalFactors,
|
||||
TopoDS_Compound& theCund,
|
||||
Message_ProgressScope& thePS)
|
||||
{
|
||||
BRep_Builder aBuilder;
|
||||
TopoDS_Shape aResult;
|
||||
const Interface_Graph& aGraph = theTP->Graph();
|
||||
for (Interface_EntityIterator aSubsIt(aGraph.Sharings(theRep)); aSubsIt.More() && thePS.More(); aSubsIt.Next())
|
||||
{
|
||||
Handle(Standard_Transient) anItem = aSubsIt.Value();
|
||||
if (!anItem->IsKind(STANDARD_TYPE(StepRepr_RepresentationRelationship)))
|
||||
continue;
|
||||
Handle(Transfer_Binder) aBinder;
|
||||
if (anItem->DynamicType() == STANDARD_TYPE(StepRepr_ShapeRepresentationRelationship))
|
||||
{
|
||||
Handle(StepRepr_ShapeRepresentationRelationship) aSRR =
|
||||
Handle(StepRepr_ShapeRepresentationRelationship)::DownCast(anItem);
|
||||
Standard_Integer aNbRep = (theRep == aSRR->Rep1() ? 2 : 1);
|
||||
aBinder = TransferEntity(aSRR, theTP, theLocalFactors, aNbRep, theUseTrsf, thePS.Next());
|
||||
}
|
||||
else if (theReadConstructiveGeomRR &&
|
||||
anItem->DynamicType() == STANDARD_TYPE(StepRepr_ConstructiveGeometryRepresentationRelationship))
|
||||
{
|
||||
Handle(StepRepr_ConstructiveGeometryRepresentationRelationship) aCGRR =
|
||||
Handle(StepRepr_ConstructiveGeometryRepresentationRelationship)::DownCast(anItem);
|
||||
aBinder = TransferEntity(aCGRR, theTP, theLocalFactors);
|
||||
}
|
||||
if (!aBinder.IsNull())
|
||||
{
|
||||
aResult = TransferBRep::ShapeResult(aBinder);
|
||||
aBuilder.Add(theCund, aResult);
|
||||
}
|
||||
}
|
||||
return aResult;
|
||||
}
|
||||
|
@ -206,6 +206,14 @@ private:
|
||||
|
||||
Standard_EXPORT void computeIDEASClosings (const TopoDS_Compound& comp, TopTools_IndexedDataMapOfShapeListOfShape& shellClosingMap);
|
||||
|
||||
Standard_EXPORT TopoDS_Shape TransferRelatedSRR(const Handle(Transfer_TransientProcess)& theTP,
|
||||
const Handle(StepShape_ShapeRepresentation)& theRep,
|
||||
const Standard_Boolean theUseTrsf,
|
||||
const Standard_Integer theReadConstructiveGeomRR,
|
||||
const StepData_Factors& theLocalFactors,
|
||||
TopoDS_Compound& theCund,
|
||||
Message_ProgressScope& thePS);
|
||||
|
||||
StepToTopoDS_NMTool myNMTool;
|
||||
Standard_Real myPrecision;
|
||||
Standard_Real myMaxTol;
|
||||
|
@ -14,8 +14,10 @@
|
||||
|
||||
|
||||
#include <Standard_Type.hxx>
|
||||
#include <Standard_Mutex.hxx>
|
||||
|
||||
#include <Standard_Assert.hxx>
|
||||
#include <Standard_CStringHasher.hxx>
|
||||
#include <Standard_Mutex.hxx>
|
||||
|
||||
#include <unordered_map>
|
||||
|
||||
@ -23,12 +25,23 @@ IMPLEMENT_STANDARD_RTTIEXT(Standard_Type,Standard_Transient)
|
||||
|
||||
//============================================================================
|
||||
|
||||
namespace
|
||||
{
|
||||
static Standard_CString copy_string (const char* theString)
|
||||
{
|
||||
size_t aLength = strlen (theString);
|
||||
char* aResult = static_cast<char*> (Standard::Allocate (aLength + 1));
|
||||
strncpy (aResult, theString, aLength + 1); //including null-character
|
||||
return aResult;
|
||||
}
|
||||
}
|
||||
|
||||
Standard_Type::Standard_Type (const std::type_info& theInfo,
|
||||
const char* theName,
|
||||
Standard_Size theSize,
|
||||
const Handle(Standard_Type)& theParent) :
|
||||
myInfo(theInfo),
|
||||
myName(theName),
|
||||
myName(copy_string (theName)),
|
||||
mySize(theSize),
|
||||
myParent(theParent)
|
||||
{
|
||||
@ -62,7 +75,7 @@ void Standard_Type::Print (Standard_OStream& AStream) const
|
||||
|
||||
namespace {
|
||||
// Map of string to type
|
||||
typedef std::unordered_map<std::type_index, Standard_Type*> registry_type;
|
||||
typedef std::unordered_map<Standard_CString, Standard_Type*, Standard_CStringHasher, Standard_CStringHasher> registry_type;
|
||||
|
||||
// Registry is made static in the function to ensure that it gets
|
||||
// initialized by the time of first access
|
||||
@ -87,7 +100,7 @@ Standard_Type* Standard_Type::Register (const std::type_info& theInfo, const cha
|
||||
// return existing descriptor if already in the registry
|
||||
registry_type& aRegistry = GetRegistry();
|
||||
Standard_Type* aType = 0;
|
||||
auto anIter = aRegistry.find(theInfo);
|
||||
auto anIter = aRegistry.find(theName);
|
||||
if (anIter != aRegistry.end())
|
||||
return anIter->second;
|
||||
|
||||
@ -95,7 +108,7 @@ Standard_Type* Standard_Type::Register (const std::type_info& theInfo, const cha
|
||||
aType = new Standard_Type (theInfo, theName, theSize, theParent);
|
||||
|
||||
// then add it to registry and return (the reference to the handle stored in the registry)
|
||||
aRegistry.emplace(theInfo, aType);
|
||||
aRegistry.emplace(theName, aType);
|
||||
return aType;
|
||||
}
|
||||
|
||||
@ -103,5 +116,6 @@ Standard_Type::~Standard_Type ()
|
||||
{
|
||||
// remove descriptor from the registry
|
||||
registry_type& aRegistry = GetRegistry();
|
||||
Standard_ASSERT(aRegistry.erase(myInfo) > 0, "Standard_Type::~Standard_Type() cannot find itself in registry",);
|
||||
Standard_ASSERT(aRegistry.erase(myName) > 0, "Standard_Type::~Standard_Type() cannot find itself in registry",);
|
||||
Standard::Free (myName);
|
||||
}
|
||||
|
@ -35,7 +35,7 @@
|
||||
// Primary definitions
|
||||
#define OCC_VERSION_MAJOR 7
|
||||
#define OCC_VERSION_MINOR 8
|
||||
#define OCC_VERSION_MAINTENANCE 0
|
||||
#define OCC_VERSION_MAINTENANCE 1
|
||||
|
||||
//! This macro must be commented in official release, and set to non-empty
|
||||
//! string in other situations, to identify specifics of the version, e.g.:
|
||||
@ -47,7 +47,7 @@
|
||||
// Derived (manually): version as real and string (major.minor)
|
||||
#define OCC_VERSION 7.8
|
||||
#define OCC_VERSION_STRING "7.8"
|
||||
#define OCC_VERSION_COMPLETE "7.8.0"
|
||||
#define OCC_VERSION_COMPLETE "7.8.1"
|
||||
|
||||
//! Derived: extended version as string ("major.minor.maintenance.dev")
|
||||
#ifdef OCC_VERSION_DEVELOPMENT
|
||||
|
@ -299,7 +299,7 @@ void StepData_StepReaderData::cleanText(const Handle(TCollection_HAsciiString)&
|
||||
}
|
||||
}
|
||||
}
|
||||
if (aChar == '\n')
|
||||
if (aChar == '\n' || aChar == '\r')
|
||||
{
|
||||
aResString.SetValue(aSetCharInd, aResString.ToExtString() + aStringInd);
|
||||
aResStringSize--;
|
||||
|
@ -1008,7 +1008,7 @@ Handle(Geom_BSplineSurface) StepToGeom::MakeBSplineSurface (const Handle(StepGeo
|
||||
Handle(Geom_CartesianPoint) StepToGeom::MakeCartesianPoint (const Handle(StepGeom_CartesianPoint)& SP,
|
||||
const StepData_Factors& theLocalFactors)
|
||||
{
|
||||
if (SP->NbCoordinates() == 3)
|
||||
if (!SP.IsNull() && SP->NbCoordinates() == 3)
|
||||
{
|
||||
const Standard_Real LF = theLocalFactors.LengthFactor();
|
||||
const Standard_Real X = SP->CoordinatesValue(1) * LF;
|
||||
|
@ -408,7 +408,24 @@ void StepToTopoDS_TranslateEdge::MakeFromCurve3D
|
||||
temp1 = pU1.Distance ( pv1 );
|
||||
temp2 = pU2.Distance ( pv2 );
|
||||
if ( temp1 > preci || temp2 > preci ) {
|
||||
TP->AddWarning (C3D,"Poor result from projection vertex / curve 3d");
|
||||
// #25415: handling of special case found on some STEP files produced by FPX Expert 2013 (PCB design system):
|
||||
// edge curve is line displaced from its true position but with correct direction;
|
||||
// we can shift the line in this case so that it passes through vertices correcty
|
||||
if (Abs (temp1 - temp2) < preci && Abs (U2 - U1 - pnt1.Distance(pnt2)) < Precision::Confusion() &&
|
||||
C1->IsKind(STANDARD_TYPE(Geom_Line)))
|
||||
{
|
||||
Handle(Geom_Line) aLine = Handle(Geom_Line)::DownCast (C1);
|
||||
gp_Lin aLin = aLine->Lin();
|
||||
gp_Pnt anOrigin = pnt1.XYZ() - aLin.Position().Direction().XYZ() * U1;
|
||||
aLin.SetLocation (anOrigin);
|
||||
C1 = new Geom_Line (aLin);
|
||||
|
||||
TP->AddWarning (C3D,"Poor result from projection vertex / line 3d, line shifted");
|
||||
}
|
||||
else
|
||||
{
|
||||
TP->AddWarning (C3D,"Poor result from projection vertex / curve 3d");
|
||||
}
|
||||
}
|
||||
B.UpdateVertex ( V1, 1.000001*temp1 ); //:h6 abv 14 Jul 98: PRO8845 #2746: *=1.0001
|
||||
B.UpdateVertex ( V2, 1.000001*temp2 ); //:h6
|
||||
|
@ -105,12 +105,13 @@ namespace {
|
||||
// ============================================================================
|
||||
static void SetNodes(const Handle(Poly_Triangulation)& theMesh,
|
||||
Handle(TColgp_HArray1OfXYZ)& theNodes,
|
||||
const Standard_Integer theNumPnindex,
|
||||
Handle(TColStd_HArray1OfInteger)& thePnindices,
|
||||
const Standard_Real theLengthFactor)
|
||||
{
|
||||
for (Standard_Integer aPnIndex = 1; aPnIndex <= theMesh->NbNodes(); ++aPnIndex)
|
||||
{
|
||||
const gp_XYZ& aPoint = theNodes->Value(thePnindices->Value(aPnIndex));
|
||||
const gp_XYZ& aPoint = theNodes->Value((theNumPnindex > 0) ? thePnindices->Value(aPnIndex) : aPnIndex);
|
||||
theMesh->SetNode(aPnIndex, theLengthFactor * aPoint);
|
||||
}
|
||||
}
|
||||
@ -326,10 +327,11 @@ namespace {
|
||||
|
||||
const Standard_Boolean aHasUVNodes = Standard_False;
|
||||
const Standard_Boolean aHasNormals = (aNormNum > 0);
|
||||
const Standard_Integer aNbNodes = (aNumPnindex > 0) ? aNumPnindex : aNodes->Length();
|
||||
|
||||
if (aTrianStripsNum == 0 && aTrianFansNum == 0)
|
||||
{
|
||||
aMesh = new Poly_Triangulation(aNumPnindex, aTrianNum, aHasUVNodes, aHasNormals);
|
||||
aMesh = new Poly_Triangulation(aNbNodes, aTrianNum, aHasUVNodes, aHasNormals);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -359,14 +361,14 @@ namespace {
|
||||
aNbTriaFans += aTriangleFan->Length() - 2;
|
||||
}
|
||||
|
||||
aMesh = new Poly_Triangulation(aNumPnindex, aNbTriaStrips + aNbTriaFans, aHasUVNodes, aHasNormals);
|
||||
aMesh = new Poly_Triangulation(aNbNodes, aNbTriaStrips + aNbTriaFans, aHasUVNodes, aHasNormals);
|
||||
}
|
||||
|
||||
SetNodes(aMesh, aNodes, aPnindices, theLocalFactors.LengthFactor());
|
||||
SetNodes(aMesh, aNodes, aNumPnindex, aPnindices, theLocalFactors.LengthFactor());
|
||||
|
||||
if (aHasNormals)
|
||||
{
|
||||
SetNormals(aMesh, aNormals, aNormNum, aNumPnindex);
|
||||
SetNormals(aMesh, aNormals, aNormNum, aNbNodes);
|
||||
}
|
||||
|
||||
SetTriangles(aMesh, aTriangles, aTrianStripsNum, aTriaStrips, aTrianFansNum, aTriaFans);
|
||||
@ -545,7 +547,10 @@ void StepToTopoDS_TranslateFace::Init(const Handle(StepShape_FaceSurface)& FS,
|
||||
#endif
|
||||
FaceBound = FS->BoundsValue(i);
|
||||
Loop = FaceBound->Bound();
|
||||
|
||||
if (Loop.IsNull())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
// ------------------------
|
||||
// The Loop is a VertexLoop
|
||||
// ------------------------
|
||||
@ -758,6 +763,8 @@ void StepToTopoDS_TranslateFace::Init(const Handle(StepVisual_TessellatedFace)&
|
||||
if (theNMTool.IsActive())
|
||||
theNMTool.Bind(theTF, aF);
|
||||
|
||||
aTP->Bind(theTF, new TransferBRep_ShapeBinder(aF));
|
||||
|
||||
myResult = aF;
|
||||
myError = StepToTopoDS_TranslateFaceDone;
|
||||
done = Standard_True;
|
||||
|
@ -96,6 +96,11 @@ void StepToTopoDS_TranslateVertex::Init(const Handle(StepShape_Vertex)& aVertex,
|
||||
//:S4136 Standard_Real preci = BRepAPI::Precision();
|
||||
const Handle(StepShape_VertexPoint) VP = Handle(StepShape_VertexPoint)::DownCast(aVertex);
|
||||
const Handle(StepGeom_Point) P = VP->VertexGeometry();
|
||||
if (P.IsNull()) {
|
||||
myError = StepToTopoDS_TranslateVertexOther;
|
||||
done = Standard_False;
|
||||
return;
|
||||
}
|
||||
const Handle(StepGeom_CartesianPoint) P1 = Handle(StepGeom_CartesianPoint)::DownCast(P);
|
||||
Handle(Geom_CartesianPoint) P2 = StepToGeom::MakeCartesianPoint (P1, theLocalFactors);
|
||||
BRep_Builder B;
|
||||
|
@ -1,8 +1,3 @@
|
||||
puts "TODO OCC23068 ALL: ERROR. offsetperform operation not done."
|
||||
puts "TODO OCC23068 ALL: result is not a topological shape!!!"
|
||||
puts "TODO OCC23068 ALL: Error: The command cannot be built"
|
||||
puts "TODO OCC23068 ALL: TEST INCOMPLETE"
|
||||
|
||||
puts "========================"
|
||||
puts " OCC427 "
|
||||
puts "(case 6)"
|
||||
|
@ -1,8 +1,4 @@
|
||||
puts "TODO OCC25925 ALL: ERROR. offsetperform operation not done."
|
||||
puts "TODO OCC25925 ALL: Error: The command cannot be built"
|
||||
puts "TODO OCC25925 ALL: Faulty OCC5805 : result is not Closed shape"
|
||||
puts "TODO OCC25925 ALL: TEST INCOMPLETE"
|
||||
puts "TODO OCC25925 ALL: Tcl Exception: Error : command \\\"nbshapes result\\\" gives an empty result"
|
||||
puts "TODO OCC25925 ALL: Error : The area of result shape is"
|
||||
|
||||
puts "============"
|
||||
puts "OCC5805"
|
||||
@ -52,6 +48,6 @@ if {$index == -1} {
|
||||
|
||||
}
|
||||
|
||||
checknbshapes result -t -wire 5 -face 5 -shell 2 -solid 1
|
||||
checknbshapes result -t -wire 3 -face 3 -shell 1 -solid 1
|
||||
|
||||
checkview -display result -2d -path ${imagedir}/${test_image}.png
|
||||
|
@ -1,8 +1,4 @@
|
||||
puts "TODO OCC25925 ALL: Faulty OCC5805 : result is not Closed shape"
|
||||
puts "TODO OCC25925 ALL: ERROR. offsetperform operation not done."
|
||||
puts "TODO OCC25925 ALL: Tcl Exception: Error : command \\\"nbshapes result\\\" gives an empty result"
|
||||
puts "TODO OCC25925 ALL: Error: The command cannot be built"
|
||||
puts "TODO OCC25925 ALL: TEST INCOMPLETE"
|
||||
puts "TODO OCC25925 ALL: Error : The area of result shape is"
|
||||
|
||||
puts "============"
|
||||
puts "OCC5805"
|
||||
@ -53,6 +49,6 @@ if {$index == -1} {
|
||||
|
||||
}
|
||||
|
||||
checknbshapes result -vertex 2 -edge 3 -wire 3 -face 3 -shell 1 -solid 1 -compsolid 0 -compound 0 -shape 13
|
||||
checknbshapes result -vertex 1 -edge 2 -wire 3 -face 3 -shell 1 -solid 1 -compsolid 0 -compound 0 -shape 11
|
||||
|
||||
checkview -display result -2d -path ${imagedir}/${test_image}.png
|
||||
|
@ -1,8 +1,4 @@
|
||||
puts "TODO OCC25925 ALL: Faulty OCC5805 : result is not Closed shape"
|
||||
puts "TODO OCC25925 ALL: ERROR. offsetperform operation not done."
|
||||
puts "TODO OCC25925 ALL: Tcl Exception: Error : command \\\"nbshapes result\\\" gives an empty result"
|
||||
puts "TODO OCC25925 ALL: Error: The command cannot be built"
|
||||
puts "TODO OCC25925 ALL: TEST INCOMPLETE"
|
||||
puts "TODO OCC25925 ALL: Error : The area of result shape is"
|
||||
|
||||
puts "============"
|
||||
puts "OCC5805"
|
||||
@ -53,6 +49,6 @@ if {$index == -1} {
|
||||
|
||||
}
|
||||
|
||||
checknbshapes result -vertex 2 -edge 3 -wire 3 -face 3 -shell 1 -solid 1 -compsolid 0 -compound 0 -shape 13
|
||||
checknbshapes result -vertex 1 -edge 2 -wire 3 -face 3 -shell 1 -solid 1 -compsolid 0 -compound 0 -shape 11
|
||||
|
||||
checkview -display result -2d -path ${imagedir}/${test_image}.png
|
||||
|
@ -1,6 +1,4 @@
|
||||
puts "TODO OCC25925 ALL: Faulty OCC5805 : result is not Closed shape"
|
||||
puts "TODO OCC25925 ALL: ERROR. offsetperform operation not done."
|
||||
puts "TODO OCC25925 ALL: Error: The command cannot be built"
|
||||
puts "TODO OCC25925 ALL: Error : The area of result shape is"
|
||||
|
||||
puts "============"
|
||||
puts "OCC5805"
|
||||
|
@ -1,7 +1,4 @@
|
||||
puts "TODO OCC23068 ALL: ERROR. offsetperform operation not done."
|
||||
puts "TODO OCC25925 ALL: Error: The command cannot be built"
|
||||
puts "TODO OCC25925 ALL: Tcl Exception: result is not a topological shape"
|
||||
puts "TODO OCC25925 ALL: TEST INCOMPLETE"
|
||||
puts "TODO OCC25925 ALL: Error : The area of result shape is"
|
||||
|
||||
puts "============"
|
||||
puts "OCC5805"
|
||||
|
@ -1,8 +1,4 @@
|
||||
puts "TODO OCC25925 ALL: Faulty OCC5805 : result is not Closed shape"
|
||||
puts "TODO OCC25925 ALL: ERROR. offsetperform operation not done."
|
||||
puts "TODO OCC25925 ALL: Tcl Exception: Error : command \\\"nbshapes result\\\" gives an empty result"
|
||||
puts "TODO OCC25925 ALL: Error: The command cannot be built"
|
||||
puts "TODO OCC25925 ALL: TEST INCOMPLETE"
|
||||
puts "TODO OCC25925 ALL: Error : The area of result shape is"
|
||||
|
||||
puts "============"
|
||||
puts "OCC5805"
|
||||
|
@ -1,5 +1,3 @@
|
||||
puts "TODO OCC25395 ALL: ERROR. offsetperform operation not done."
|
||||
|
||||
puts "========"
|
||||
puts "OCC25395"
|
||||
puts "========"
|
||||
|
@ -1,5 +1,3 @@
|
||||
puts "TODO OCC25939 ALL: An exception was caught"
|
||||
|
||||
puts "============"
|
||||
puts "0025939: S I G S E G V in MakeThickSolid"
|
||||
puts "============"
|
||||
|
@ -1,5 +1,3 @@
|
||||
puts "TODO OCC31845 All: ERROR. offsetperform operation not done."
|
||||
|
||||
puts "============================================"
|
||||
puts "OCC31845: BRepOffsetAPI_MakeThickSolid fails"
|
||||
puts "============================================"
|
||||
|
@ -1,5 +1,3 @@
|
||||
puts "TODO OCC31845 All: ERROR. offsetperform operation not done."
|
||||
|
||||
puts "============================================"
|
||||
puts "OCC31845: BRepOffsetAPI_MakeThickSolid fails"
|
||||
puts "============================================"
|
||||
|
15
tests/bugs/modalg_8/bug31601
Normal file
15
tests/bugs/modalg_8/bug31601
Normal file
@ -0,0 +1,15 @@
|
||||
puts "================================================================="
|
||||
puts "0031601: Modeling Algorithms - BRepOffset_Tool Segmentation Fault"
|
||||
puts "================================================================="
|
||||
puts ""
|
||||
|
||||
pload MODELING
|
||||
box b 50 50 10
|
||||
explode b E
|
||||
compound b_1 b_2 b_3 b_4 b_5 b_6 b_7 b_8 b_9 b_10 b_11 b_12 c
|
||||
fillet s b 4 c
|
||||
explode s F
|
||||
offsetparameter 1.e-7 c a
|
||||
offsetload s 1 s_11
|
||||
offsetperform r
|
||||
checkview -display r -2d -path ${imagedir}/${test_image}.png
|
17
tests/bugs/modalg_8/bug33367
Normal file
17
tests/bugs/modalg_8/bug33367
Normal file
@ -0,0 +1,17 @@
|
||||
puts "==============================================================="
|
||||
puts "0033367: Modeling Algorithms - Normal projection or BOP problem"
|
||||
puts "==============================================================="
|
||||
puts ""
|
||||
|
||||
pload MODELING
|
||||
restore [locate_data_file bug33367_1.brep] sou
|
||||
restore [locate_data_file bug33367_2.brep] des
|
||||
checkshape sou
|
||||
checkshape des
|
||||
nproject prj sou des
|
||||
checknbshapes prj -vertex 2 -edge 2 -compound 1 -shape 5
|
||||
baddobjects des
|
||||
baddtools prj
|
||||
bfillds
|
||||
bbuild res
|
||||
checkshape res
|
14
tests/bugs/modalg_8/bug33383
Normal file
14
tests/bugs/modalg_8/bug33383
Normal file
@ -0,0 +1,14 @@
|
||||
puts "========================================================="
|
||||
puts "0033383: Modeling Algorithms - Wire/Face creation problem"
|
||||
puts "========================================================="
|
||||
puts ""
|
||||
|
||||
pload MODELING
|
||||
restore [locate_data_file bug33383.brep] a
|
||||
connectedges res a 1e-07 0
|
||||
explode res
|
||||
mkplane pln1 res_1 1
|
||||
|
||||
if ![catch { buildfaces rebf pln1 res_2 }] then {
|
||||
puts "Error: buildfaces command should be failed"
|
||||
}
|
11
tests/bugs/moddata_3/bug33567
Normal file
11
tests/bugs/moddata_3/bug33567
Normal file
@ -0,0 +1,11 @@
|
||||
puts "==========================================================="
|
||||
puts "0033567: Modeling Data - GeomLib_IsPlanarSurface raises SIGFPE in Release mode"
|
||||
puts "==========================================================="
|
||||
|
||||
puts "REQUIRED All: Conversion failed"
|
||||
|
||||
pload MODELING
|
||||
|
||||
restore [locate_data_file bug33567.brep] a
|
||||
mksurface s a
|
||||
tocanon r s 0.0005
|
@ -1,5 +1,3 @@
|
||||
puts "TODO OCC25188 ALL: Error: File "
|
||||
|
||||
puts "========"
|
||||
puts "OCC25168"
|
||||
puts "========"
|
||||
|
11
tests/bugs/step/bug25415
Normal file
11
tests/bugs/step/bug25415
Normal file
@ -0,0 +1,11 @@
|
||||
puts "========"
|
||||
puts "OCC25415"
|
||||
puts "========"
|
||||
puts ""
|
||||
##########################################################################
|
||||
# Invalid result of loading a STEP file
|
||||
##########################################################################
|
||||
|
||||
stepread [locate_data_file bug25415_part_of_hdrv8w64p254_4x2_1016x502h838p.stp] a *
|
||||
|
||||
checkshape a_1
|
17
tests/bugs/step/bug33261
Normal file
17
tests/bugs/step/bug33261
Normal file
@ -0,0 +1,17 @@
|
||||
puts "======="
|
||||
puts "0033261: Data Exchange, Step Import - Empty shape after reading process"
|
||||
puts "======="
|
||||
|
||||
pload OCAF MODELING
|
||||
|
||||
# Read file
|
||||
ReadStep D [locate_data_file bug33261.stp]
|
||||
|
||||
# get document model as a single shape
|
||||
XGetOneShape S1 D
|
||||
|
||||
# check number of subshapes in the shape restored from STEP
|
||||
checknbshapes S1 -face 2025 -solid 24 -compound 100
|
||||
|
||||
Close D -silent
|
||||
unset S1
|
12
tests/bugs/step/bug33410
Normal file
12
tests/bugs/step/bug33410
Normal file
@ -0,0 +1,12 @@
|
||||
puts "========================"
|
||||
puts "0033410: Data Exchange, Step Import - TRIANGULATED_FACE from STEP where there are no pnval entries"
|
||||
puts "========================"
|
||||
|
||||
pload OCAF
|
||||
|
||||
# Read file
|
||||
ReadStep D [locate_data_file bug33410.step]
|
||||
XGetOneShape sh D
|
||||
checktrinfo sh -face 1 -nod 81 -tri 128
|
||||
|
||||
Close D
|
13
tests/bugs/step/bug33569
Normal file
13
tests/bugs/step/bug33569
Normal file
@ -0,0 +1,13 @@
|
||||
puts "================"
|
||||
puts "0033569: Data Exchange, STEP - Crash when reading multi-body file"
|
||||
puts "================"
|
||||
|
||||
ReadStep D [locate_data_file bug33569.stp]
|
||||
|
||||
set result [XDumpNbDGTs D]
|
||||
|
||||
regexp {NbOfAttachedDatum +: +([0-9]+)} $result full nb
|
||||
|
||||
if { $nb != 26} {
|
||||
puts "Error: Number of Datums incorrect"
|
||||
}
|
17
tests/bugs/step/bug33638
Normal file
17
tests/bugs/step/bug33638
Normal file
@ -0,0 +1,17 @@
|
||||
puts "===================================="
|
||||
puts "0033638: Data Exchange, Step Import - Style for tessellated object missed"
|
||||
puts "===================================="
|
||||
puts ""
|
||||
|
||||
pload OCAF
|
||||
|
||||
ReadStep D [locate_data_file bug33638.stp]
|
||||
|
||||
if { [ XFindColor D 0 0 1 ] == "" } {
|
||||
puts "Error: Color not found"
|
||||
}
|
||||
if { [ XFindColor D 1 0 0 ] == "" } {
|
||||
puts "Error: Color not found"
|
||||
}
|
||||
|
||||
Close D
|
@ -1,6 +1,3 @@
|
||||
puts "TODO OCC23068 ALL: ERROR. offsetperform operation not done."
|
||||
puts "TODO OCC23068 ALL: Error : The volume of result shape "
|
||||
|
||||
## ======================================
|
||||
## Grid : CCV002
|
||||
## Test : A1
|
||||
@ -12,4 +9,4 @@ explode s F
|
||||
offsetcompshape result s -10 s_1
|
||||
|
||||
#real volume of result shape is unknown yet
|
||||
checkprops result -v 0
|
||||
checkprops result -v 1.01e+06
|
||||
|
@ -4,7 +4,6 @@
|
||||
## Comment : From CV tests serie page 60
|
||||
## ======================================
|
||||
|
||||
puts "TODO OCC26556 ALL: ERROR. offsetperform operation not done."
|
||||
restore [locate_data_file CCV_2_d1_gsw.rle] s
|
||||
explode s F
|
||||
catch {offsetcompshape result s -2 s_17}
|
||||
|
@ -1,9 +1,9 @@
|
||||
puts "TODO OCC23748 ALL: ERROR. offsetperform operation not done."
|
||||
puts "TODO OCC23748 ALL: Error: The command cannot be built"
|
||||
puts "TODO OCC26556 ALL: Error : The offset cannot be built."
|
||||
puts "TODO CR23530 ALL: Faulty shapes in variables faulty_1 to faulty_"
|
||||
puts "TODO OCC23068 ALL: Error : The area of face "
|
||||
|
||||
pcone s 5 0 12 90
|
||||
trotate s 0 0 0 0 0 1 90
|
||||
|
||||
OFFSETSHAPE 1 {s_4} $calcul $type
|
||||
|
||||
checkprops result -v 0
|
||||
checkprops result -v 78.53988
|
||||
|
@ -1,9 +1,5 @@
|
||||
puts "TODO OCC23748 ALL: ERROR. offsetperform operation not done."
|
||||
puts "TODO OCC23748 ALL: Error: The command cannot be built"
|
||||
puts "TODO OCC26556 ALL: Error : The offset cannot be built."
|
||||
|
||||
pcone s 5 0 12 270
|
||||
|
||||
OFFSETSHAPE -1 {s_4} $calcul $type
|
||||
|
||||
checkprops result -v 0
|
||||
checkprops result -v 235.619
|
||||
|
@ -1,9 +1,5 @@
|
||||
puts "TODO OCC23748 ALL: ERROR. offsetperform operation not done."
|
||||
puts "TODO OCC23748 ALL: Error: The command cannot be built"
|
||||
puts "TODO OCC26556 ALL: Error : The offset cannot be built."
|
||||
|
||||
pcone s 5 0 12 270
|
||||
|
||||
OFFSETSHAPE 1 {s_3 s_4} $calcul $type
|
||||
|
||||
checkprops result -v 0
|
||||
checkprops result -v 235.619
|
||||
|
@ -1,10 +1,9 @@
|
||||
puts "TODO OCC23748 ALL: ERROR. offsetperform operation not done."
|
||||
puts "TODO OCC23748 ALL: Error: The command cannot be built"
|
||||
puts "TODO OCC26556 ALL: Error : The offset cannot be built."
|
||||
puts "TODO OCC23068 ALL: Error : The area of face "
|
||||
puts "TODO CR23530 ALL: Faulty shapes in variables faulty_1 to faulty_"
|
||||
|
||||
psphere s 15 -90 60 90
|
||||
trotate s 0 0 0 0 0 1 90
|
||||
|
||||
OFFSETSHAPE 1 {s_4} $calcul $type
|
||||
|
||||
checkprops result -v 0
|
||||
checkprops result -v 3488.84
|
||||
|
@ -1,9 +1,8 @@
|
||||
puts "TODO OCC23748 ALL: ERROR. offsetperform operation not done."
|
||||
puts "TODO OCC23748 ALL: Error: The command cannot be built"
|
||||
puts "TODO OCC26556 ALL: Error : The offset cannot be built."
|
||||
puts "TODO OCC23068 ALL: Error : The area of face "
|
||||
puts "TODO CR23530 ALL: Faulty shapes in variables faulty_1 to faulty_"
|
||||
|
||||
psphere s 15 -90 60 270
|
||||
|
||||
OFFSETSHAPE 1 {s_4} $calcul $type
|
||||
|
||||
checkprops result -v 0
|
||||
checkprops result -v 10466.5
|
||||
|
@ -1,9 +1,5 @@
|
||||
puts "TODO OCC23748 ALL: ERROR. offsetperform operation not done."
|
||||
puts "TODO OCC23748 ALL: Error: The command cannot be built"
|
||||
puts "TODO OCC26556 ALL: Error : The offset cannot be built."
|
||||
|
||||
psphere s 15 -90 60 270
|
||||
|
||||
OFFSETSHAPE -1 {s_4} $calcul $type
|
||||
|
||||
checkprops result -v 0
|
||||
checkprops result -v 10466.5
|
||||
|
@ -1,10 +1,8 @@
|
||||
puts "TODO OCC23068 ALL: ERROR. offsetperform operation not done."
|
||||
puts "TODO OCC23068 ALL: Error : The offset cannot be built."
|
||||
puts "TODO OCC23068 ALL: Error: The command cannot be built"
|
||||
puts "TODO OCC23068 ALL: Error : The area of face "
|
||||
|
||||
psphere s 15 90
|
||||
trotate s 0 0 0 0 0 1 90
|
||||
|
||||
OFFSETSHAPE 1 {s_3} $calcul $type
|
||||
|
||||
checkprops result -v 0
|
||||
checkprops result -v 3534.29
|
||||
|
@ -1,5 +1,4 @@
|
||||
puts "TODO OCC23748 ALL: ERROR. offsetperform operation not done."
|
||||
puts "TODO OCC23748 ALL: Error : The offset cannot be built."
|
||||
puts "TODO OCC23068 ALL: Error : The area of face "
|
||||
|
||||
psphere s 15 270
|
||||
|
||||
|
@ -1,9 +1,5 @@
|
||||
puts "TODO OCC23748 ALL: ERROR. offsetperform operation not done."
|
||||
puts "TODO OCC23748 ALL: Error: The command cannot be built"
|
||||
puts "TODO OCC26556 ALL: Error : The offset cannot be built."
|
||||
|
||||
psphere s 15 270
|
||||
|
||||
OFFSETSHAPE -1 {s_2} $calcul $type
|
||||
|
||||
checkprops result -v 0
|
||||
checkprops result -v 10602.9
|
||||
|
@ -1,8 +1,5 @@
|
||||
puts "TODO OCC24156 MacOS: An exception was caught"
|
||||
puts "TODO OCC24156 MacOS: TEST INCOMPLETE"
|
||||
puts "TODO OCC23748 ALL: ERROR. offsetperform operation not done."
|
||||
puts "TODO OCC23748 ALL: Error: The command cannot be built"
|
||||
puts "TODO OCC26556 ALL: Error : The offset cannot be built."
|
||||
puts "TODO CR23530 ALL: Faulty shapes in variables faulty_1 to faulty_"
|
||||
puts "TODO OCC23068 ALL: Error : The area of face "
|
||||
|
||||
ellipse w1 0 0 0 15 10
|
||||
mkedge w1 w1 0 pi/2
|
||||
@ -14,4 +11,4 @@ revol s w 0 0 0 0 0 1 90
|
||||
|
||||
OFFSETSHAPE 1 {s_4} $calcul $type
|
||||
|
||||
checkprops result -v 0
|
||||
checkprops result -v 4385.14
|
||||
|
@ -1,9 +1,3 @@
|
||||
puts "TODO OCC24156 MacOS: An exception was caught"
|
||||
puts "TODO OCC24156 MacOS: TEST INCOMPLETE"
|
||||
puts "TODO OCC23748 ALL: ERROR. offsetperform operation not done."
|
||||
puts "TODO OCC23748 ALL: Error: The command cannot be built"
|
||||
puts "TODO OCC26556 ALL: Error : The offset cannot be built."
|
||||
|
||||
ellipse w1 0 0 0 15 10
|
||||
mkedge w1 w1 0 pi/2
|
||||
trotate w1 0 0 0 1 0 0 90
|
||||
@ -14,4 +8,4 @@ revol s w 0 0 0 0 0 1 90
|
||||
|
||||
OFFSETSHAPE -1 {s_4} $calcul $type
|
||||
|
||||
checkprops result -v 0
|
||||
checkprops result -v 4385.14
|
||||
|
@ -1,9 +1,3 @@
|
||||
puts "TODO OCC24156 MacOS: An exception was caught"
|
||||
puts "TODO OCC24156 MacOS: TEST INCOMPLETE"
|
||||
puts "TODO OCC23748 ALL: ERROR. offsetperform operation not done."
|
||||
puts "TODO OCC23748 ALL: Error: The command cannot be built"
|
||||
puts "TODO OCC26556 ALL: Error : The offset cannot be built."
|
||||
|
||||
ellipse w1 0 0 0 15 10
|
||||
mkedge w1 w1 0 pi/2
|
||||
trotate w1 0 0 0 1 0 0 90
|
||||
@ -14,4 +8,4 @@ revol s w 0 0 0 0 0 1 90
|
||||
|
||||
OFFSETSHAPE 1 {s_4 s_5} $calcul $type
|
||||
|
||||
checkprops result -v 0
|
||||
checkprops result -v 4385.14
|
||||
|
@ -1,7 +1,3 @@
|
||||
puts "TODO OCC23748 ALL: ERROR. offsetperform operation not done."
|
||||
puts "TODO OCC23748 ALL: Error: The command cannot be built"
|
||||
puts "TODO OCC26556 ALL: Error : The offset cannot be built."
|
||||
|
||||
ellipse w1 0 0 0 15 10
|
||||
mkedge w1 w1 0 pi/2
|
||||
trotate w1 0 0 0 1 0 0 90
|
||||
@ -12,4 +8,4 @@ revol s w 0 0 0 0 0 1 90
|
||||
|
||||
OFFSETSHAPE -1 {s_4 s_5} $calcul $type
|
||||
|
||||
checkprops result -v 0
|
||||
checkprops result -v 4385.14
|
||||
|
@ -1,8 +1,5 @@
|
||||
puts "TODO OCC24156 MacOS: An exception was caught"
|
||||
puts "TODO OCC24156 MacOS: TEST INCOMPLETE"
|
||||
puts "TODO OCC23748 ALL: ERROR. offsetperform operation not done."
|
||||
puts "TODO OCC23748 ALL: Error: The command cannot be built"
|
||||
puts "TODO OCC26556 ALL: Error : The offset cannot be built."
|
||||
puts "TODO CR23530 ALL: Faulty shapes in variables faulty_1 to faulty_"
|
||||
puts "TODO OCC23068 ALL: Error : The area of face "
|
||||
|
||||
ellipse w1 0 0 0 15 10
|
||||
mkedge w1 w1 0 pi/2
|
||||
@ -14,4 +11,4 @@ revol s w 0 0 0 0 0 1 270
|
||||
|
||||
OFFSETSHAPE 1 {s_4} $calcul $type
|
||||
|
||||
checkprops result -v 0
|
||||
checkprops result -v 13155.2
|
||||
|
@ -1,9 +1,3 @@
|
||||
puts "TODO OCC24156 MacOS: An exception was caught"
|
||||
puts "TODO OCC24156 MacOS: TEST INCOMPLETE"
|
||||
puts "TODO OCC23748 ALL: ERROR. offsetperform operation not done."
|
||||
puts "TODO OCC23748 ALL: Error: The command cannot be built"
|
||||
puts "TODO OCC26556 ALL: Error : The offset cannot be built."
|
||||
|
||||
cpulimit 400
|
||||
|
||||
ellipse w1 0 0 0 15 10
|
||||
@ -16,4 +10,4 @@ revol s w 0 0 0 0 0 1 270
|
||||
|
||||
OFFSETSHAPE -1 {s_4} $calcul $type
|
||||
|
||||
checkprops result -v 0
|
||||
checkprops result -v 13155.2
|
||||
|
@ -1,9 +1,3 @@
|
||||
puts "TODO OCC24156 MacOS: An exception was caught"
|
||||
puts "TODO OCC24156 MacOS: TEST INCOMPLETE"
|
||||
puts "TODO OCC23748 ALL: ERROR. offsetperform operation not done."
|
||||
puts "TODO OCC23748 ALL: Error: The command cannot be built"
|
||||
puts "TODO OCC26556 ALL: Error : The offset cannot be built."
|
||||
|
||||
ellipse w1 0 0 0 15 10
|
||||
mkedge w1 w1 0 pi/2
|
||||
trotate w1 0 0 0 1 0 0 90
|
||||
@ -14,4 +8,4 @@ revol s w 0 0 0 0 0 1 270
|
||||
|
||||
OFFSETSHAPE 1 {s_4 s_5} $calcul $type
|
||||
|
||||
checkprops result -v 0
|
||||
checkprops result -v 13155.2
|
||||
|
@ -1,9 +1,3 @@
|
||||
puts "TODO OCC24156 MacOS: An exception was caught"
|
||||
puts "TODO OCC24156 MacOS: TEST INCOMPLETE"
|
||||
puts "TODO OCC23748 ALL: ERROR. offsetperform operation not done."
|
||||
puts "TODO OCC23748 ALL: Error: The command cannot be built"
|
||||
puts "TODO OCC26556 ALL: Error : The offset cannot be built."
|
||||
|
||||
# 17.01.2010
|
||||
cpulimit 600
|
||||
# 17.01.2010
|
||||
@ -18,4 +12,4 @@ revol s w 0 0 0 0 0 1 270
|
||||
|
||||
OFFSETSHAPE -1 {s_4 s_5} $calcul $type
|
||||
|
||||
checkprops result -v 0
|
||||
checkprops result -v 13155.2
|
||||
|
@ -1,9 +1,5 @@
|
||||
puts "TODO OCC23748 ALL: ERROR. offsetperform operation not done."
|
||||
puts "TODO OCC23748 ALL: Error: The command cannot be built"
|
||||
puts "TODO OCC26556 ALL: Error : The offset cannot be built."
|
||||
|
||||
pcylinder s 5 10 270
|
||||
|
||||
OFFSETSHAPE -1 {s_5} $calcul $type
|
||||
|
||||
checkprops result -v 0
|
||||
checkprops result -v 589.049
|
||||
|
@ -1,9 +1,5 @@
|
||||
puts "TODO OCC23748 ALL: ERROR. offsetperform operation not done."
|
||||
puts "TODO OCC23748 ALL: Error: The command cannot be built"
|
||||
puts "TODO OCC26556 ALL: Error : The offset cannot be built."
|
||||
|
||||
pcone s 9 4 15 270
|
||||
|
||||
OFFSETSHAPE -1 {s_5} $calcul $type
|
||||
|
||||
checkprops result -v 0
|
||||
checkprops result -v 1566.87
|
||||
|
@ -1,9 +1,5 @@
|
||||
puts "TODO OCC23748 ALL: ERROR. offsetperform operation not done."
|
||||
puts "TODO OCC23748 ALL: Error: The command cannot be built"
|
||||
puts "TODO OCC26556 ALL: Error : The offset cannot be built."
|
||||
|
||||
ptorus s 10 10 0 45 270
|
||||
|
||||
OFFSETSHAPE -1 {s_4} $calcul $type
|
||||
|
||||
checkprops result -v 0
|
||||
checkprops result -v 6083.13
|
||||
|
@ -1,7 +1,3 @@
|
||||
puts "TODO OCC23748 ALL: ERROR. offsetperform operation not done."
|
||||
puts "TODO OCC23748 ALL: Error: The command cannot be built"
|
||||
puts "TODO OCC26556 ALL: Error : The offset cannot be built."
|
||||
|
||||
circle w -20 0 0 20
|
||||
mkedge w w 0 pi*2/5
|
||||
wire w w
|
||||
@ -11,4 +7,4 @@ pipe s w profile
|
||||
|
||||
OFFSETSHAPE 1 {s_2 s_3} $calcul $type
|
||||
|
||||
checkprops result -v 0
|
||||
checkprops result -v 785.398
|
||||
|
@ -1,7 +1,3 @@
|
||||
puts "TODO OCC23748 ALL: ERROR. offsetperform operation not done."
|
||||
puts "TODO OCC23748 ALL: Error: The command cannot be built"
|
||||
puts "TODO OCC26556 ALL: Error : The offset cannot be built."
|
||||
|
||||
circle w -20 0 0 20
|
||||
mkedge w w 0 pi*2/5
|
||||
wire w w
|
||||
@ -11,4 +7,4 @@ pipe s w profile
|
||||
|
||||
OFFSETSHAPE 1 {s_4 s_5} $calcul $type
|
||||
|
||||
checkprops result -v 0
|
||||
checkprops result -v 785.398
|
||||
|
@ -1,8 +1,5 @@
|
||||
puts "TODO OCC24156 MacOS: An exception was caught"
|
||||
puts "TODO OCC24156 MacOS: TEST INCOMPLETE"
|
||||
puts "TODO OCC23748 ALL: ERROR. offsetperform operation not done."
|
||||
puts "TODO OCC23748 ALL: Error: The command cannot be built"
|
||||
puts "TODO OCC26556 ALL: Error : The offset cannot be built."
|
||||
puts "TODO CR23530 ALL: Faulty shapes in variables faulty_1 to faulty_"
|
||||
puts "TODO OCC23068 ALL: Error : The area of face "
|
||||
|
||||
beziersurf c 3 2 \
|
||||
0 0 0 0 5 5 2 14 3 \
|
||||
@ -12,4 +9,4 @@ prism s c 0 0 20
|
||||
|
||||
OFFSETSHAPE 1 {s_5 s_6} $calcul $type
|
||||
|
||||
checkprops result -v 0
|
||||
checkprops result -v 3340
|
||||
|
@ -1,5 +1,3 @@
|
||||
puts "TODO OCC23068 All: ERROR. offsetperform operation not done."
|
||||
puts "TODO OCC23068 All: Error : The volume of result shape is"
|
||||
# Original bug : hkg60144
|
||||
# Date : 17Juillet98
|
||||
|
||||
@ -9,5 +7,5 @@ explode s f
|
||||
offsetshape result s -5 s_1
|
||||
|
||||
|
||||
checkprops result -v 2.12817e+006
|
||||
checkprops result -v 2.80312e+07
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user