mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-04-04 18:06:22 +03:00
0028442: Incorrect result of 3D offset operation in mode Complete, Join type - Intersection
1. For the support of the new configurations of the input shapes for the 3D offset algorithm (shapes containing the faces with holes, which are growing during offset operation and sometimes (depending on the offset value) even kill the faces themselves) the new function *FindFacesInsideHoleWires* has been implemented. This new function looks for the splits of the offset face located inside the new hole wire built from offset edges of the edges of the hole wires of the original face. All found splits are simply removed. 2. Test cases for the issue.
This commit is contained in:
parent
b66f375869
commit
0da0275c18
@ -263,10 +263,6 @@ static
|
||||
const TopAbs_ShapeEnum theSSType,
|
||||
TopoDS_Shape& theResult);
|
||||
|
||||
static
|
||||
Standard_Boolean CheckNormals(const TopoDS_Face& theFIm,
|
||||
const TopoDS_Face& theFOr);
|
||||
|
||||
static
|
||||
void UpdateInitOffset(BRepAlgo_Image& myInitOffset,
|
||||
BRepAlgo_Image& myImageOffset,
|
||||
@ -4113,7 +4109,7 @@ Standard_Boolean BuildShellsCompleteInter(const BOPCol_ListOfShape& theLF,
|
||||
TopTools_ListIteratorOfListOfShape aItLF(aLFOr);
|
||||
for (; aItLF.More(); aItLF.Next()) {
|
||||
const TopoDS_Face& aFOr = TopoDS::Face(aItLF.Value());
|
||||
if (CheckNormals(aF, aFOr)) {
|
||||
if (BRepOffset_Tool::CheckPlanesNormals(aF, aFOr)) {
|
||||
aLF3.Append(aF);
|
||||
break;
|
||||
}
|
||||
@ -4159,71 +4155,6 @@ Standard_Boolean GetSubShapes(const TopoDS_Shape& theShape,
|
||||
return Standard_True;
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
//function : CheckNormals
|
||||
//purpose : Comparing normal directions of the faces
|
||||
//=======================================================================
|
||||
Standard_Boolean CheckNormals(const TopoDS_Face& theFIm,
|
||||
const TopoDS_Face& theFOr)
|
||||
{
|
||||
|
||||
Standard_Real aUMin, aUMax, aVMin, aVMax, aU, aV, anAngle;
|
||||
gp_Pnt aP;
|
||||
gp_Vec aVecU, aVecV, aVNIm, aVNOr;
|
||||
Standard_Boolean bIsCollinear;
|
||||
//
|
||||
BRepAdaptor_Surface aSFIm(theFIm), aSFOr(theFOr);
|
||||
//
|
||||
aUMin = aSFIm.FirstUParameter();
|
||||
aUMax = aSFIm.LastUParameter();
|
||||
aVMin = aSFIm.FirstVParameter();
|
||||
aVMax = aSFIm.LastVParameter();
|
||||
//
|
||||
aU = (aUMin + aUMax) * 0.5;
|
||||
if (Precision::IsInfinite(aUMin) &&
|
||||
Precision::IsInfinite(aUMax)) {
|
||||
aU = 0.;
|
||||
}
|
||||
else if (Precision::IsInfinite(aUMin) &&
|
||||
!Precision::IsInfinite(aUMax)) {
|
||||
aU = aUMax;
|
||||
}
|
||||
else if (!Precision::IsInfinite(aUMin) &&
|
||||
Precision::IsInfinite(aUMax)) {
|
||||
aU = aUMin;
|
||||
}
|
||||
//
|
||||
aV = (aVMin + aVMax) * 0.5;
|
||||
if (Precision::IsInfinite(aVMin) &&
|
||||
Precision::IsInfinite(aVMax)) {
|
||||
aV = 0.;
|
||||
}
|
||||
else if (Precision::IsInfinite(aVMin) &&
|
||||
!Precision::IsInfinite(aVMax)) {
|
||||
aV = aVMax;
|
||||
}
|
||||
else if (!Precision::IsInfinite(aVMin) &&
|
||||
Precision::IsInfinite(aVMax)) {
|
||||
aV = aVMin;
|
||||
}
|
||||
//
|
||||
aSFIm.D1(aU, aV, aP, aVecU, aVecV);
|
||||
aVNIm = aVecU.Crossed(aVecV);
|
||||
if (theFIm.Orientation() == TopAbs_REVERSED) {
|
||||
aVNIm.Reverse();
|
||||
}
|
||||
//
|
||||
aSFOr.D1(aU, aV, aP, aVecU, aVecV);
|
||||
aVNOr = aVecU.Crossed(aVecV);
|
||||
if (theFOr.Orientation() == TopAbs_REVERSED) {
|
||||
aVNOr.Reverse();
|
||||
}
|
||||
//
|
||||
anAngle = aVNIm.Angle(aVNOr);
|
||||
bIsCollinear = (anAngle < Precision::Confusion());
|
||||
return bIsCollinear;
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
//function : IsPlanar
|
||||
//purpose : Checks if all the faces of the shape are planes
|
||||
|
@ -115,6 +115,7 @@ static
|
||||
TopTools_IndexedDataMapOfShapeListOfShape& theInvFaces,
|
||||
TopTools_DataMapOfShapeShape& theArtInvFaces,
|
||||
TopTools_IndexedDataMapOfShapeListOfShape& theFImages,
|
||||
TopTools_DataMapOfShapeListOfShape& theDMFNewHoles,
|
||||
TopoDS_Shape& theSolids,
|
||||
TopTools_DataMapOfShapeListOfShape& theSSInterfs);
|
||||
|
||||
@ -122,6 +123,7 @@ static
|
||||
void BuildSplitsOfInvFaces(const TopTools_IndexedDataMapOfShapeListOfShape& theFToRebuild,
|
||||
const TopTools_MapOfShape& theModifiedEdges,
|
||||
TopTools_IndexedDataMapOfShapeListOfShape& theFImages,
|
||||
TopTools_DataMapOfShapeListOfShape& theDMFNewHoles,
|
||||
TopTools_DataMapOfShapeListOfShape& theEdgesOrigins,
|
||||
TopTools_DataMapOfShapeShape& theFacesOrigins,
|
||||
TopTools_DataMapOfShapeListOfShape& theOEImages,
|
||||
@ -156,6 +158,7 @@ static
|
||||
TopTools_DataMapOfShapeListOfShape& theDMFLNE,
|
||||
TopTools_DataMapOfShapeListOfShape& theDMFLIE,
|
||||
TopTools_DataMapOfShapeListOfShape& theDMFLVIE,
|
||||
TopTools_DataMapOfShapeListOfShape& theDMEOrLEIm,
|
||||
TopTools_MapOfShape& theMEInverted,
|
||||
TopTools_MapOfShape& theEdgesInvalidByVertex);
|
||||
|
||||
@ -169,8 +172,20 @@ static
|
||||
const TopTools_ListOfShape& theLEValInverted,
|
||||
const TopTools_MapOfShape& theMEInverted,
|
||||
const TopTools_MapOfShape& theEdgesInvalidByVertex,
|
||||
const TopTools_MapOfShape& theMFHoles,
|
||||
TopTools_IndexedMapOfShape& theMFInvInHole,
|
||||
TopTools_ListOfShape& theInvFaces);
|
||||
|
||||
static
|
||||
void FindFacesInsideHoleWires(const TopoDS_Face& theFOrigin,
|
||||
const TopoDS_Face& theFOffset,
|
||||
const TopTools_ListOfShape& theLFImages,
|
||||
const TopTools_MapOfShape& theInvertedEdges,
|
||||
const TopTools_DataMapOfShapeListOfShape& theDMEOrLEIm,
|
||||
TopTools_MapOfShape& theMFHoles,
|
||||
TopTools_DataMapOfShapeListOfShape& theDMFNewHoles,
|
||||
Handle(IntTools_Context)& theContext);
|
||||
|
||||
static
|
||||
gp_Vec GetAverageTangent(const TopoDS_Shape& theS,
|
||||
const Standard_Integer theNbP);
|
||||
@ -219,6 +234,8 @@ static
|
||||
const TopTools_DataMapOfShapeShape& theArtInvFaces,
|
||||
const TopTools_IndexedMapOfShape& theInvEdges,
|
||||
const TopTools_IndexedMapOfShape& theMFToCheckInt,
|
||||
const TopTools_IndexedMapOfShape& theMFInvInHole,
|
||||
const TopoDS_Shape& theFHoles,
|
||||
TopTools_DataMapOfShapeListOfShape& theSSInterfs,
|
||||
TopTools_IndexedMapOfShape& theMERemoved,
|
||||
TopTools_IndexedMapOfShape& theMEInside,
|
||||
@ -278,6 +295,7 @@ static
|
||||
const TopoDS_Shape& theSolids,
|
||||
const TopTools_DataMapOfShapeListOfShape& theSSInterfs,
|
||||
TopTools_IndexedDataMapOfShapeListOfShape& theFImages,
|
||||
TopTools_DataMapOfShapeListOfShape& theDMFNewHoles,
|
||||
TopTools_DataMapOfShapeListOfShape& theEdgesOrigins,
|
||||
TopTools_DataMapOfShapeShape& theFacesOrigins,
|
||||
TopTools_DataMapOfShapeListOfShape& theOEImages,
|
||||
@ -636,12 +654,15 @@ void BRepOffset_MakeOffset::BuildSplitsOfExtendedFaces(const TopTools_ListOfShap
|
||||
// keep information of already invalid faces to avoid
|
||||
// infinite rebuilding of the same invalid face
|
||||
TopTools_DataMapOfShapeInteger anAlreadyInvFaces;
|
||||
// images of the hole faces of the original faces
|
||||
TopTools_DataMapOfShapeListOfShape aDMFNewHoles;
|
||||
// solid build from the new splits
|
||||
TopoDS_Shape aSolids;
|
||||
// now we can split the faces
|
||||
BuildSplitsOfFaces(theLF, aNewEdges, theEdgesOrigins, theAsDes, theFacesOrigins,
|
||||
anOEImages, anOEOrigins, aLastInvEdges, anEdgesToAvoid, anInvEdges, aValidEdges,
|
||||
anInvertedEdges, anAlreadyInvFaces, anInvFaces, anArtInvFaces, aFImages, aSolids, aSSInterfs);
|
||||
anInvertedEdges, anAlreadyInvFaces, anInvFaces, anArtInvFaces, aFImages,
|
||||
aDMFNewHoles, aSolids, aSSInterfs);
|
||||
//
|
||||
// Find faces to rebuild
|
||||
if (anInvFaces.Extent()) {
|
||||
@ -652,9 +673,10 @@ void BRepOffset_MakeOffset::BuildSplitsOfExtendedFaces(const TopTools_ListOfShap
|
||||
if (aFToRebuild.Extent()) {
|
||||
// vertices to avoid
|
||||
TopTools_MapOfShape aVAEmpty;
|
||||
RebuildFaces(aFToRebuild, aFSelfRebAvoid, aSolids, aSSInterfs, aFImages, theEdgesOrigins, theFacesOrigins,
|
||||
anOEImages, anOEOrigins, aLastInvEdges, anEdgesToAvoid, anInvEdges, aValidEdges, anInvertedEdges,
|
||||
anAlreadyInvFaces, anInvFaces, anArtInvFaces, aVAEmpty, theETrimEInf, theAsDes);
|
||||
RebuildFaces(aFToRebuild, aFSelfRebAvoid, aSolids, aSSInterfs, aFImages, aDMFNewHoles,
|
||||
theEdgesOrigins, theFacesOrigins, anOEImages, anOEOrigins, aLastInvEdges,
|
||||
anEdgesToAvoid, anInvEdges, aValidEdges, anInvertedEdges, anAlreadyInvFaces,
|
||||
anInvFaces, anArtInvFaces, aVAEmpty, theETrimEInf, theAsDes);
|
||||
}
|
||||
}
|
||||
// Fill history for faces and edges
|
||||
@ -668,6 +690,7 @@ void BRepOffset_MakeOffset::BuildSplitsOfExtendedFaces(const TopTools_ListOfShap
|
||||
void BuildSplitsOfInvFaces(const TopTools_IndexedDataMapOfShapeListOfShape& theFToRebuild,
|
||||
const TopTools_MapOfShape& theModifiedEdges,
|
||||
TopTools_IndexedDataMapOfShapeListOfShape& theFImages,
|
||||
TopTools_DataMapOfShapeListOfShape& theDMFNewHoles,
|
||||
TopTools_DataMapOfShapeListOfShape& theEdgesOrigins,
|
||||
TopTools_DataMapOfShapeShape& theFacesOrigins,
|
||||
TopTools_DataMapOfShapeListOfShape& theOEImages,
|
||||
@ -707,7 +730,8 @@ void BuildSplitsOfInvFaces(const TopTools_IndexedDataMapOfShapeListOfShape& theF
|
||||
//
|
||||
BuildSplitsOfFaces(aLF, theModifiedEdges, theEdgesOrigins, theAsDes, theFacesOrigins,
|
||||
theOEImages, theOEOrigins, theLastInvEdges, theEdgesToAvoid, anInvEdges, theValidEdges,
|
||||
anInvertedEdges, theAlreadyInvFaces, anInvFaces, anArtInvFaces, theFImages, aSolids, aSSInterfs);
|
||||
anInvertedEdges, theAlreadyInvFaces, anInvFaces, anArtInvFaces, theFImages,
|
||||
theDMFNewHoles, aSolids, aSSInterfs);
|
||||
//
|
||||
if (anInvFaces.Extent()) {
|
||||
TopTools_IndexedDataMapOfShapeListOfShape aFToRebuild;
|
||||
@ -715,9 +739,10 @@ void BuildSplitsOfInvFaces(const TopTools_IndexedDataMapOfShapeListOfShape& theF
|
||||
FindFacesToRebuild(theFImages, anInvEdges, anInvFaces, aSSInterfs, aFToRebuild, aFSelfRebAvoid);
|
||||
//
|
||||
if (aFToRebuild.Extent()) {
|
||||
RebuildFaces(aFToRebuild, aFSelfRebAvoid, aSolids, aSSInterfs, theFImages, theEdgesOrigins, theFacesOrigins,
|
||||
theOEImages, theOEOrigins, theLastInvEdges, theEdgesToAvoid, anInvEdges, theValidEdges, anInvertedEdges,
|
||||
theAlreadyInvFaces, anInvFaces, anArtInvFaces, theVertsToAvoid, theETrimEInf, theAsDes);
|
||||
RebuildFaces(aFToRebuild, aFSelfRebAvoid, aSolids, aSSInterfs, theFImages, theDMFNewHoles,
|
||||
theEdgesOrigins, theFacesOrigins, theOEImages, theOEOrigins, theLastInvEdges,
|
||||
theEdgesToAvoid, anInvEdges, theValidEdges, anInvertedEdges, theAlreadyInvFaces,
|
||||
anInvFaces, anArtInvFaces, theVertsToAvoid, theETrimEInf, theAsDes);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -743,6 +768,7 @@ void BuildSplitsOfFaces(const TopTools_ListOfShape& theLF,
|
||||
TopTools_IndexedDataMapOfShapeListOfShape& theInvFaces,
|
||||
TopTools_DataMapOfShapeShape& theArtInvFaces,
|
||||
TopTools_IndexedDataMapOfShapeListOfShape& theFImages,
|
||||
TopTools_DataMapOfShapeListOfShape& theDMFNewHoles,
|
||||
TopoDS_Shape& theSolids,
|
||||
TopTools_DataMapOfShapeListOfShape& theSSInterfs)
|
||||
{
|
||||
@ -767,6 +793,8 @@ void BuildSplitsOfFaces(const TopTools_ListOfShape& theLF,
|
||||
TopTools_IndexedMapOfShape aMFToCheckInt;
|
||||
// map of edges created from vertex and marked as invalid
|
||||
TopTools_MapOfShape aMEdgeInvalidByVertex;
|
||||
// connection map from old edges to new ones
|
||||
TopTools_DataMapOfShapeListOfShape aDMEOrLEIm;
|
||||
//
|
||||
Handle(IntTools_Context) aCtx = new IntTools_Context;
|
||||
// build splits of faces
|
||||
@ -877,7 +905,7 @@ void BuildSplitsOfFaces(const TopTools_ListOfShape& theLF,
|
||||
// find invalid edges
|
||||
FindInvalidEdges(aF, aLFImages, theEdgesOrigins, theFacesOrigins, theOEImages,
|
||||
theOEOrigins, theInvEdges, theValidEdges, aDMFLVE, aDMFLNE, aDMFLIE,
|
||||
aDMFLVIE, theInvertedEdges, aMEdgeInvalidByVertex);
|
||||
aDMFLVIE, aDMEOrLEIm, theInvertedEdges, aMEdgeInvalidByVertex);
|
||||
//
|
||||
// save the new splits
|
||||
if (!pLFIm) {
|
||||
@ -922,11 +950,16 @@ void BuildSplitsOfFaces(const TopTools_ListOfShape& theLF,
|
||||
#endif
|
||||
//
|
||||
TopTools_ListOfShape anEmptyList;
|
||||
// invalid faces inside the holes
|
||||
TopTools_IndexedMapOfShape aMFInvInHole;
|
||||
// all hole faces
|
||||
TopoDS_Compound aFHoles;
|
||||
aBB.MakeCompound(aFHoles);
|
||||
// find invalid faces
|
||||
// considering faces containing only invalid edges as invalid
|
||||
aItLF.Initialize(aLFDone);
|
||||
for (; aItLF.More(); aItLF.Next()) {
|
||||
const TopoDS_Shape& aF = aItLF.Value();
|
||||
const TopoDS_Face& aF = TopoDS::Face(aItLF.Value());
|
||||
TopTools_ListOfShape& aLFImages = theFImages.ChangeFromKey(aF);
|
||||
//
|
||||
TopTools_ListOfShape aLFInv;
|
||||
@ -946,8 +979,21 @@ void BuildSplitsOfFaces(const TopTools_ListOfShape& theLF,
|
||||
pLIVE = &anEmptyList;
|
||||
}
|
||||
//
|
||||
// find faces inside holes wires
|
||||
TopTools_MapOfShape aMFHoles;
|
||||
const TopoDS_Face& aFOr = TopoDS::Face(theFacesOrigins.Find(aF));
|
||||
FindFacesInsideHoleWires(aFOr, aF, aLFImages, theInvertedEdges,
|
||||
aDMEOrLEIm, aMFHoles, theDMFNewHoles, aCtx);
|
||||
//
|
||||
TopTools_MapIteratorOfMapOfShape aItMH(aMFHoles);
|
||||
for (; aItMH.More(); aItMH.Next()) {
|
||||
aBB.Add(aFHoles, aItMH.Value());
|
||||
}
|
||||
//
|
||||
// find invalid faces
|
||||
FindInvalidFaces(aLFImages, theInvEdges, theValidEdges, aDMFLVE, aDMFLIE,
|
||||
*pLNE, *pLIVE, theInvertedEdges, aMEdgeInvalidByVertex, aLFInv);
|
||||
*pLNE, *pLIVE, theInvertedEdges, aMEdgeInvalidByVertex,
|
||||
aMFHoles, aMFInvInHole, aLFInv);
|
||||
}
|
||||
//
|
||||
if (aLFInv.Extent()) {
|
||||
@ -999,7 +1045,8 @@ void BuildSplitsOfFaces(const TopTools_ListOfShape& theLF,
|
||||
// remove inside faces
|
||||
TopTools_IndexedMapOfShape aMEInside;
|
||||
RemoveInsideFaces(theFImages, theInvFaces, theArtInvFaces, theInvEdges,
|
||||
aMFToCheckInt, theSSInterfs, aMERemoved, aMEInside, theSolids);
|
||||
aMFToCheckInt, aMFInvInHole, aFHoles, theSSInterfs,
|
||||
aMERemoved, aMEInside, theSolids);
|
||||
//
|
||||
// make compound of valid splits
|
||||
TopoDS_Compound aCFIm;
|
||||
@ -1426,6 +1473,7 @@ void FindInvalidEdges(const TopoDS_Face& theF,
|
||||
TopTools_DataMapOfShapeListOfShape& theDMFLNE,
|
||||
TopTools_DataMapOfShapeListOfShape& theDMFLIE,
|
||||
TopTools_DataMapOfShapeListOfShape& theDMFLVIE,
|
||||
TopTools_DataMapOfShapeListOfShape& theDMEOrLEIm,
|
||||
TopTools_MapOfShape& theMEInverted,
|
||||
TopTools_MapOfShape& theEdgesInvalidByVertex)
|
||||
{
|
||||
@ -1436,7 +1484,8 @@ void FindInvalidEdges(const TopoDS_Face& theF,
|
||||
// The edges created from vertices, i.e. as intersection between two faces connected only
|
||||
// by VERTEX, will also be checked on validity. For these edges the correct orientation will
|
||||
// be defined by the edges on the original face adjacent to the connection vertex
|
||||
//
|
||||
|
||||
// original face
|
||||
const TopoDS_Face& aFOr = *(TopoDS_Face*)&theFacesOrigins.Find(theF);
|
||||
// invalid edges
|
||||
TopTools_IndexedMapOfShape aMEInv;
|
||||
@ -1558,6 +1607,12 @@ void FindInvalidEdges(const TopoDS_Face& theF,
|
||||
}
|
||||
else {
|
||||
FindShape(aSOr, aFOr, aEOrF);
|
||||
//
|
||||
TopTools_ListOfShape *pLEIm = theDMEOrLEIm.ChangeSeek(aSOr);
|
||||
if (!pLEIm) {
|
||||
pLEIm = theDMEOrLEIm.Bound(aSOr, TopTools_ListOfShape());
|
||||
}
|
||||
AppendToList(*pLEIm, aEIm);
|
||||
}
|
||||
//
|
||||
if (aEOrF.IsNull()) {
|
||||
@ -1707,6 +1762,8 @@ void FindInvalidFaces(TopTools_ListOfShape& theLFImages,
|
||||
const TopTools_ListOfShape& theLEValInverted,
|
||||
const TopTools_MapOfShape& theMEInverted,
|
||||
const TopTools_MapOfShape& theEdgesInvalidByVertex,
|
||||
const TopTools_MapOfShape& theMFHoles,
|
||||
TopTools_IndexedMapOfShape& theMFInvInHole,
|
||||
TopTools_ListOfShape& theInvFaces)
|
||||
{
|
||||
// The face should be considered as invalid in the following cases:
|
||||
@ -1827,10 +1884,21 @@ void FindInvalidFaces(TopTools_ListOfShape& theLFImages,
|
||||
!(bHasValid || bAllValid) &&
|
||||
!(bAllInvNeutral && (aNbChecked == 1)))) {
|
||||
theInvFaces.Append(aFIm);
|
||||
if (theMFHoles.Contains(aFIm)) {
|
||||
theMFInvInHole.Add(aFIm);
|
||||
}
|
||||
aItLF.Next();
|
||||
continue;
|
||||
}
|
||||
//
|
||||
if (theMFHoles.Contains(aFIm)) {
|
||||
// remove edges from neutral
|
||||
TopExp::MapShapes(aFIm, TopAbs_EDGE, aMENRem);
|
||||
// remove face
|
||||
theLFImages.Remove(aItLF);
|
||||
continue;
|
||||
}
|
||||
//
|
||||
if (!bAllInvNeutral) {
|
||||
aLFPT.Append(aFIm);
|
||||
}
|
||||
@ -1898,6 +1966,159 @@ void FindInvalidFaces(TopTools_ListOfShape& theLFImages,
|
||||
}
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
//function : FindFacesInsideHoleWires
|
||||
//purpose : Find faces inside holes wires from the original face
|
||||
//=======================================================================
|
||||
void FindFacesInsideHoleWires(const TopoDS_Face& theFOrigin,
|
||||
const TopoDS_Face& theFOffset,
|
||||
const TopTools_ListOfShape& theLFImages,
|
||||
const TopTools_MapOfShape& theInvertedEdges,
|
||||
const TopTools_DataMapOfShapeListOfShape& theDMEOrLEIm,
|
||||
TopTools_MapOfShape& theMFHoles,
|
||||
TopTools_DataMapOfShapeListOfShape& theDMFNewHoles,
|
||||
Handle(IntTools_Context)& theContext)
|
||||
{
|
||||
if (theLFImages.IsEmpty()) {
|
||||
return;
|
||||
}
|
||||
//
|
||||
// find all hole wires in the original face
|
||||
TopTools_ListOfShape aLHoleWires;
|
||||
const TopoDS_Wire& anOuterWire = BRepTools::OuterWire(theFOrigin);
|
||||
TopExp_Explorer aExpW(theFOrigin, TopAbs_WIRE);
|
||||
for (; aExpW.More(); aExpW.Next()) {
|
||||
const TopoDS_Wire& aHoleWire = TopoDS::Wire(aExpW.Current());
|
||||
if (!aHoleWire.IsSame(anOuterWire) && aHoleWire.Orientation() != TopAbs_INTERNAL) {
|
||||
aLHoleWires.Append(aHoleWire);
|
||||
}
|
||||
}
|
||||
//
|
||||
if (aLHoleWires.IsEmpty()) {
|
||||
// no holes in the face
|
||||
return;
|
||||
}
|
||||
//
|
||||
TopTools_ListOfShape *pLFNewHoles = theDMFNewHoles.ChangeSeek(theFOrigin);
|
||||
//
|
||||
if (!pLFNewHoles) {
|
||||
pLFNewHoles = theDMFNewHoles.Bound(theFOrigin, TopTools_ListOfShape());
|
||||
}
|
||||
if (pLFNewHoles->IsEmpty()) {
|
||||
//
|
||||
// find the faces representing holes in the images of the faces:
|
||||
// 1. for each original hole wire try to build its image
|
||||
// 2. build the new planar face from the images
|
||||
//
|
||||
// map vertices and edges of the splits
|
||||
TopTools_IndexedMapOfShape aMESplits;
|
||||
TopTools_ListIteratorOfListOfShape aItLF(theLFImages);
|
||||
for (; aItLF.More(); aItLF.Next()) {
|
||||
TopExp::MapShapes(aItLF.Value(), TopAbs_EDGE, aMESplits);
|
||||
}
|
||||
//
|
||||
TopTools_ListIteratorOfListOfShape aItLW(aLHoleWires);
|
||||
for (; aItLW.More(); aItLW.Next()) {
|
||||
const TopoDS_Wire& aHoleWire = TopoDS::Wire(aItLW.Value());
|
||||
// find images of all edges of the original wire
|
||||
TopTools_IndexedMapOfShape aMEImWire;
|
||||
TopoDS_Iterator aItE(aHoleWire);
|
||||
for (; aItE.More(); aItE.Next()) {
|
||||
const TopoDS_Shape& aEOr = aItE.Value();
|
||||
const TopTools_ListOfShape *pLEIm = theDMEOrLEIm.Seek(aEOr);
|
||||
if (!pLEIm || pLEIm->IsEmpty()) {
|
||||
continue;
|
||||
}
|
||||
TopTools_ListIteratorOfListOfShape aItLEIm(*pLEIm);
|
||||
for (; aItLEIm.More(); aItLEIm.Next()) {
|
||||
const TopoDS_Shape& aEIm = aItLEIm.Value();
|
||||
if (aMESplits.Contains(aEIm)) {
|
||||
aMEImWire.Add(aEIm);
|
||||
}
|
||||
}
|
||||
}
|
||||
//
|
||||
if (aMEImWire.IsEmpty()) {
|
||||
continue;
|
||||
}
|
||||
//
|
||||
// build new planar face using these edges
|
||||
BOPCol_ListOfShape aLE;
|
||||
Standard_Integer i, aNbE = aMEImWire.Extent();
|
||||
for (i = 1; i <= aNbE; ++i) {
|
||||
aLE.Append(aMEImWire(i).Oriented(TopAbs_FORWARD));
|
||||
aLE.Append(aMEImWire(i).Oriented(TopAbs_REVERSED));
|
||||
}
|
||||
//
|
||||
BOPAlgo_BuilderFace aBF;
|
||||
aBF.SetFace(TopoDS::Face(theFOffset.Oriented(TopAbs_FORWARD)));
|
||||
aBF.SetShapes(aLE);
|
||||
aBF.Perform();
|
||||
//
|
||||
const BOPCol_ListOfShape& aLFNew = aBF.Areas();
|
||||
if (aLFNew.IsEmpty()) {
|
||||
continue;
|
||||
}
|
||||
//
|
||||
// check if outer edges in the new faces are not inverted
|
||||
// because the inverted edges mean that the hole has been
|
||||
// filled during offset and there will be no faces to remove
|
||||
TopTools_IndexedDataMapOfShapeListOfShape aDMEFNew;
|
||||
TopTools_ListIteratorOfListOfShape aItLFNew(aLFNew);
|
||||
for (; aItLFNew.More(); aItLFNew.Next()) {
|
||||
TopExp::MapShapesAndAncestors(aItLFNew.Value(), TopAbs_EDGE, TopAbs_FACE, aDMEFNew);
|
||||
}
|
||||
//
|
||||
aNbE = aDMEFNew.Extent();
|
||||
for (i = 1; i <= aNbE; ++i) {
|
||||
if (aDMEFNew(i).Extent() == 1) {
|
||||
const TopoDS_Shape& aE = aDMEFNew.FindKey(i);
|
||||
if (theInvertedEdges.Contains(aE)) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
//
|
||||
if (i <= aNbE) {
|
||||
continue;
|
||||
}
|
||||
//
|
||||
aItLFNew.Initialize(aLFNew);
|
||||
for (; aItLFNew.More(); aItLFNew.Next()) {
|
||||
pLFNewHoles->Append(aItLFNew.Value());
|
||||
}
|
||||
}
|
||||
}
|
||||
//
|
||||
// among the splits of the offset face find those that are
|
||||
// located inside the hole faces
|
||||
//
|
||||
TopTools_ListIteratorOfListOfShape aItLF(theLFImages);
|
||||
for (; aItLF.More(); aItLF.Next()) {
|
||||
const TopoDS_Face& aFIm = TopoDS::Face(aItLF.Value());
|
||||
//
|
||||
// get the point inside the face and classify it relatively hole faces
|
||||
gp_Pnt aP3D;
|
||||
gp_Pnt2d aP2D;
|
||||
Standard_Integer iErr = BOPTools_AlgoTools3D::PointInFace(aFIm, aP3D, aP2D, theContext);
|
||||
if (iErr) {
|
||||
continue;
|
||||
}
|
||||
//
|
||||
Standard_Real aTol = BRep_Tool::Tolerance(aFIm);
|
||||
//
|
||||
TopTools_ListIteratorOfListOfShape aItLFNew(*pLFNewHoles);
|
||||
for (; aItLFNew.More(); aItLFNew.Next()) {
|
||||
const TopoDS_Face& aFNew = TopoDS::Face(aItLFNew.Value());
|
||||
if (theContext->IsValidPointForFace(aP3D, aFNew, aTol)) {
|
||||
// the face is classified as IN
|
||||
theMFHoles.Add(aFIm);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
//function : GetAverageTangent
|
||||
//purpose : Computes average tangent vector along the curve
|
||||
@ -2570,6 +2791,8 @@ void RemoveInsideFaces(TopTools_IndexedDataMapOfShapeListOfShape& theFImages,
|
||||
const TopTools_DataMapOfShapeShape& theArtInvFaces,
|
||||
const TopTools_IndexedMapOfShape& theInvEdges,
|
||||
const TopTools_IndexedMapOfShape& theMFToCheckInt,
|
||||
const TopTools_IndexedMapOfShape& theMFInvInHole,
|
||||
const TopoDS_Shape& theFHoles,
|
||||
TopTools_DataMapOfShapeListOfShape& theSSInterfs,
|
||||
TopTools_IndexedMapOfShape& theMERemoved,
|
||||
TopTools_IndexedMapOfShape& theMEInside,
|
||||
@ -2646,8 +2869,12 @@ void RemoveInsideFaces(TopTools_IndexedDataMapOfShapeListOfShape& theFImages,
|
||||
// to check them on validity - the created solids should be complete,
|
||||
// i.e. all faces should be included.
|
||||
//
|
||||
TopTools_MapOfShape aMFToRem;
|
||||
// Check completeness
|
||||
if (aMV.HasDeleted()) {
|
||||
TopTools_IndexedMapOfShape aMEHoles;
|
||||
TopExp::MapShapes(theFHoles, TopAbs_EDGE, aMEHoles);
|
||||
//
|
||||
// perform additional check on faces
|
||||
aNb = theFImages.Extent();
|
||||
for (i = 1; i <= aNb; ++i) {
|
||||
@ -2656,21 +2883,31 @@ void RemoveInsideFaces(TopTools_IndexedDataMapOfShapeListOfShape& theFImages,
|
||||
continue;
|
||||
}
|
||||
//
|
||||
Standard_Boolean bFaceKept = Standard_False;
|
||||
aItLF.Initialize(aLFIm);
|
||||
for (; aItLF.More(); aItLF.Next()) {
|
||||
const TopoDS_Shape& aFIm = aItLF.Value();
|
||||
if (!aMV.IsDeleted(aFIm)) {
|
||||
break;
|
||||
bFaceKept = Standard_True;
|
||||
continue;
|
||||
}
|
||||
//
|
||||
TopExp_Explorer aExpE(aFIm, TopAbs_EDGE);
|
||||
for (; aExpE.More(); aExpE.Next()) {
|
||||
if (aMEHoles.Contains(aExpE.Current())) {
|
||||
bFaceKept = Standard_True;
|
||||
aMFToRem.Add(aFIm);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
//
|
||||
if (!aItLF.More()) {
|
||||
if (!bFaceKept) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
//
|
||||
TopTools_MapOfShape aMFToRem;
|
||||
TopTools_IndexedMapOfShape aMEBoundary;
|
||||
aNb = aDMFS.Extent();
|
||||
for (i = 1; i <= aNb; ++i) {
|
||||
@ -2696,6 +2933,43 @@ void RemoveInsideFaces(TopTools_IndexedDataMapOfShapeListOfShape& theFImages,
|
||||
}
|
||||
}
|
||||
//
|
||||
// check if the invalid faces inside the holes are really invalid:
|
||||
// check its normal direction - if it has changed relatively the
|
||||
// original face the offset face is invalid and should be kept for rebuilding
|
||||
Standard_Integer aNbFH = theMFInvInHole.Extent();
|
||||
for (i = 1; i <= aNbFH; ++i) {
|
||||
const TopoDS_Shape& aFInv = theMFInvInHole(i);
|
||||
TopTools_ListOfShape aLFInvIm = aMV.Modified(aFInv);
|
||||
if (aLFInvIm.IsEmpty()) {
|
||||
aLFInvIm.Append(aFInv);
|
||||
}
|
||||
//
|
||||
const TopoDS_Shape *pFOffset = aDMFImF.Seek(aFInv);
|
||||
if (!pFOffset) {
|
||||
continue;
|
||||
}
|
||||
TopTools_ListIteratorOfListOfShape aItLFInv(aLFInvIm);
|
||||
for (; aItLFInv.More(); aItLFInv.Next()) {
|
||||
const TopoDS_Shape& aFInvIm = aItLFInv.Value();
|
||||
const TopTools_ListOfShape* pLSols = aDMFS.Seek(aFInvIm);
|
||||
if (!pLSols || pLSols->Extent() != 1) {
|
||||
continue;
|
||||
}
|
||||
//
|
||||
const TopoDS_Shape& aFSol = pLSols->First();
|
||||
//
|
||||
TopoDS_Shape aFx;
|
||||
if (!FindShape(aFInvIm, aFSol, aFx)) {
|
||||
continue;
|
||||
}
|
||||
//
|
||||
if (BRepOffset_Tool::CheckPlanesNormals(TopoDS::Face(aFx), TopoDS::Face(*pFOffset))) {
|
||||
// the normal direction has not changed, thus the face can be removed
|
||||
aMFToRem.Add(aFInvIm);
|
||||
}
|
||||
}
|
||||
}
|
||||
//
|
||||
TopoDS_Compound aSolids;
|
||||
BRep_Builder().MakeCompound(aSolids);
|
||||
TopTools_MapOfShape aMFKeep;
|
||||
@ -3420,6 +3694,7 @@ void RebuildFaces(const TopTools_IndexedDataMapOfShapeListOfShape& theFToRebuild
|
||||
const TopoDS_Shape& theSolids,
|
||||
const TopTools_DataMapOfShapeListOfShape& theSSInterfs,
|
||||
TopTools_IndexedDataMapOfShapeListOfShape& theFImages,
|
||||
TopTools_DataMapOfShapeListOfShape& theDMFNewHoles,
|
||||
TopTools_DataMapOfShapeListOfShape& theEdgesOrigins,
|
||||
TopTools_DataMapOfShapeShape& theFacesOrigins,
|
||||
TopTools_DataMapOfShapeListOfShape& theOEImages,
|
||||
@ -3444,7 +3719,7 @@ void RebuildFaces(const TopTools_IndexedDataMapOfShapeListOfShape& theFToRebuild
|
||||
theInvFaces, theArtInvFaces, theVertsToAvoid, theETrimEInf, aModifiedEdges, theAsDes);
|
||||
//
|
||||
// 2. Repeat steps to build the correct faces
|
||||
BuildSplitsOfInvFaces(theFToRebuild, aModifiedEdges, theFImages, theEdgesOrigins,
|
||||
BuildSplitsOfInvFaces(theFToRebuild, aModifiedEdges, theFImages, theDMFNewHoles, theEdgesOrigins,
|
||||
theFacesOrigins, theOEImages, theOEOrigins, theLastInvEdges,
|
||||
theEdgesToAvoid, theVertsToAvoid, theAlreadyInvFaces, theValidEdges,
|
||||
theETrimEInf, theAsDes);
|
||||
|
@ -4022,5 +4022,30 @@ void BRepOffset_Tool::CorrectOrientation(const TopoDS_Shape& SI,
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
//=======================================================================
|
||||
//function : CheckNormals
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
Standard_Boolean BRepOffset_Tool::CheckPlanesNormals(const TopoDS_Face& theFace1,
|
||||
const TopoDS_Face& theFace2,
|
||||
const Standard_Real theTolAng)
|
||||
{
|
||||
BRepAdaptor_Surface aBAS1(theFace1, Standard_False), aBAS2(theFace2, Standard_False);
|
||||
if (aBAS1.GetType() != GeomAbs_Plane ||
|
||||
aBAS2.GetType() != GeomAbs_Plane) {
|
||||
return Standard_False;
|
||||
}
|
||||
//
|
||||
gp_Dir aDN1 = aBAS1.Plane().Position().Direction();
|
||||
if (theFace1.Orientation() == TopAbs_REVERSED) {
|
||||
aDN1.Reverse();
|
||||
}
|
||||
//
|
||||
gp_Dir aDN2 = aBAS2.Plane().Position().Direction();
|
||||
if (theFace2.Orientation() == TopAbs_REVERSED) {
|
||||
aDN2.Reverse();
|
||||
}
|
||||
//
|
||||
Standard_Real anAngle = aDN1.Angle(aDN2);
|
||||
return (anAngle < theTolAng);
|
||||
}
|
||||
|
@ -132,27 +132,16 @@ public:
|
||||
|
||||
Standard_EXPORT static Standard_Real Gabarit (const Handle(Geom_Curve)& aCurve);
|
||||
|
||||
|
||||
|
||||
//! Compares the normal directions of the planar faces and returns
|
||||
//! TRUE if the directions are the same with the given precision.<br>
|
||||
Standard_EXPORT static Standard_Boolean CheckPlanesNormals(const TopoDS_Face& theFace1,
|
||||
const TopoDS_Face& theFace2,
|
||||
const Standard_Real theTolAng = 1.e-8);
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _BRepOffset_Tool_HeaderFile
|
||||
|
28
tests/offset/shape_type_i_c/YA1
Normal file
28
tests/offset/shape_type_i_c/YA1
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_input.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 100
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 1.41675e+007 -s 507751
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 16 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
10
tests/offset/shape_type_i_c/YA2
Normal file
10
tests/offset/shape_type_i_c/YA2
Normal file
@ -0,0 +1,10 @@
|
||||
restore [locate_data_file bug28442_input.brep] s
|
||||
|
||||
OFFSETSHAPE 130 {} $calcul $type
|
||||
|
||||
checkprops result -v 1.31751e+008 -s 1.66862e+006
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 11 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YA3
Normal file
28
tests/offset/shape_type_i_c/YA3
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 0.5
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 406.625 -s 605.617
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 16 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
10
tests/offset/shape_type_i_c/YA4
Normal file
10
tests/offset/shape_type_i_c/YA4
Normal file
@ -0,0 +1,10 @@
|
||||
restore [locate_data_file bug28442_simple.brep] s
|
||||
|
||||
OFFSETSHAPE 1.5 {} $calcul $type
|
||||
|
||||
checkprops result -v 1504.61 -s 1006.51
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 16 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YA5
Normal file
28
tests/offset/shape_type_i_c/YA5
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple2.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 0.5
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 483.996 -s 587.42
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 16 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YA6
Normal file
28
tests/offset/shape_type_i_c/YA6
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple6.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 0.5
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 484.958 -s 589.936
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 21 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YA7
Normal file
28
tests/offset/shape_type_i_c/YA7
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_input.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 130
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 1.57185e+007 -s 547937
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 17 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YA8
Normal file
28
tests/offset/shape_type_i_c/YA8
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_input.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 150
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 1.67576e+007 -s 563859
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 15 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YA9
Normal file
28
tests/offset/shape_type_i_c/YA9
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_input.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 180
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 1.836e+007 -s 577200
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 6 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YB1
Normal file
28
tests/offset/shape_type_i_c/YB1
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_input.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 210
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 1.998e+007 -s 618600
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 6 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YB2
Normal file
28
tests/offset/shape_type_i_c/YB2
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 0.9
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 465.053 -s 629.882
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 17 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YB3
Normal file
28
tests/offset/shape_type_i_c/YB3
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 1.3
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 524.605 -s 649.688
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 17 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YB4
Normal file
28
tests/offset/shape_type_i_c/YB4
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 1.6
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 570.493 -s 664.008
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 17 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YB5
Normal file
28
tests/offset/shape_type_i_c/YB5
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 2
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 633.44 -s 682.386
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 15 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YB6
Normal file
28
tests/offset/shape_type_i_c/YB6
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 2.5
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 716.909 -s 682.741
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 15 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YB7
Normal file
28
tests/offset/shape_type_i_c/YB7
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 3.5
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 901.771 -s 692.252
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 14 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YB8
Normal file
28
tests/offset/shape_type_i_c/YB8
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 4
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 1000 -s 700
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 6 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YB9
Normal file
28
tests/offset/shape_type_i_c/YB9
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 4.3
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 1060 -s 718
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 6 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YC1
Normal file
28
tests/offset/shape_type_i_c/YC1
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple1.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 1.4
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 541.772 -s 665.099
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 17 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YC2
Normal file
28
tests/offset/shape_type_i_c/YC2
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple1.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 1.8
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 604.464 -s 682.853
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 17 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YC3
Normal file
28
tests/offset/shape_type_i_c/YC3
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple1.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 2
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 636.296 -s 691.505
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 15 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YC4
Normal file
28
tests/offset/shape_type_i_c/YC4
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple1.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 3.5
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 901.771 -s 692.252
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 14 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YC5
Normal file
28
tests/offset/shape_type_i_c/YC5
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple1.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 4
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 1000 -s 700
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 6 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YC6
Normal file
28
tests/offset/shape_type_i_c/YC6
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple1.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 4.5
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 1100 -s 730
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 6 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YC7
Normal file
28
tests/offset/shape_type_i_c/YC7
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple2.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 1.1
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 576.314 -s 626.227
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 17 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YC8
Normal file
28
tests/offset/shape_type_i_c/YC8
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple2.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 1.8
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 682.107 -s 668.86
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 17 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YC9
Normal file
28
tests/offset/shape_type_i_c/YC9
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple2.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 2.3
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 757.26 -s 696.397
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 19 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YD1
Normal file
28
tests/offset/shape_type_i_c/YD1
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple2.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 3.2
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 895.772 -s 734.031
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 20 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YD2
Normal file
28
tests/offset/shape_type_i_c/YD2
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple2.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 4.2
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 1061.61 -s 762.644
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 22 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YD3
Normal file
28
tests/offset/shape_type_i_c/YD3
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple2.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 4.7
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 1150.96 -s 775.193
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 18 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YD4
Normal file
28
tests/offset/shape_type_i_c/YD4
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple2.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 5.2
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 1244.51 -s 790.347
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 18 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YD5
Normal file
28
tests/offset/shape_type_i_c/YD5
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple3.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 0.2
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 437.086 -s 567.751
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 16 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YD6
Normal file
28
tests/offset/shape_type_i_c/YD6
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple3.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 1.5
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 638.971 -s 643.477
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 18 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YD7
Normal file
28
tests/offset/shape_type_i_c/YD7
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple3.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 2.5
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 796.631 -s 688.189
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 18 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YD8
Normal file
28
tests/offset/shape_type_i_c/YD8
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple3.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 3.6
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 980.046 -s 732.882
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 18 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YD9
Normal file
28
tests/offset/shape_type_i_c/YD9
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple3.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 4.2
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 1084.24 -s 760.754
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 19 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
33
tests/offset/shape_type_i_c/YE1
Normal file
33
tests/offset/shape_type_i_c/YE1
Normal file
@ -0,0 +1,33 @@
|
||||
puts "TODO OCC27414 ALL: Error: The command cannot be built"
|
||||
puts "TODO OCC27414 ALL: Tcl Exception"
|
||||
puts "TODO OCC27414 ALL: TEST INCOMPLETE"
|
||||
|
||||
|
||||
restore [locate_data_file bug28442_simple3.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 5
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 1226.52 -s 799.334
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 13 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
33
tests/offset/shape_type_i_c/YE2
Normal file
33
tests/offset/shape_type_i_c/YE2
Normal file
@ -0,0 +1,33 @@
|
||||
puts "TODO OCC27414 ALL: Error: The command cannot be built"
|
||||
puts "TODO OCC27414 ALL: Tcl Exception"
|
||||
puts "TODO OCC27414 ALL: TEST INCOMPLETE"
|
||||
|
||||
|
||||
restore [locate_data_file bug28442_simple3.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 6
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 0 -s 0
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 13 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YE3
Normal file
28
tests/offset/shape_type_i_c/YE3
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple4.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 0.8
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 508.318 -s 619.149
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 21 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YE4
Normal file
28
tests/offset/shape_type_i_c/YE4
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple4.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 1.4
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 593.919 -s 655.117
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 21 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YE5
Normal file
28
tests/offset/shape_type_i_c/YE5
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple4.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 1.7
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 636.586 -s 669.86
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 20 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YE6
Normal file
28
tests/offset/shape_type_i_c/YE6
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple4.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 2.7
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 783.404 -s 711.46
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 17 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YE7
Normal file
28
tests/offset/shape_type_i_c/YE7
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple4.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 3.5
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 914.348 -s 717.153
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 14 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YE8
Normal file
28
tests/offset/shape_type_i_c/YE8
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple4.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 4.5
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 1100.29 -s 736.424
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 14 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YE9
Normal file
28
tests/offset/shape_type_i_c/YE9
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple5.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 0.9
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 522.676 -s 625.27
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 21 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YF1
Normal file
28
tests/offset/shape_type_i_c/YF1
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple5.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 1.2
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 565.605 -s 642.455
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 19 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YF2
Normal file
28
tests/offset/shape_type_i_c/YF2
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple5.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 2
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 680.704 -s 684.886
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 20 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YF3
Normal file
28
tests/offset/shape_type_i_c/YF3
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple5.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 2.7
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 784.337 -s 712.928
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 17 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YF4
Normal file
28
tests/offset/shape_type_i_c/YF4
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple5.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 3
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 831.255 -s 714.751
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 14 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YF5
Normal file
28
tests/offset/shape_type_i_c/YF5
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple5.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 3.5
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 914.786 -s 720.359
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 14 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YF6
Normal file
28
tests/offset/shape_type_i_c/YF6
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple5.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 4.7
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 1140 -s 742
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 6 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YF7
Normal file
28
tests/offset/shape_type_i_c/YF7
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple6.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 1
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 560.833 -s 623.318
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 21 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YF8
Normal file
28
tests/offset/shape_type_i_c/YF8
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple6.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 1.5
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 635.5 -s 653.92
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 19 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YF9
Normal file
28
tests/offset/shape_type_i_c/YF9
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple6.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 3
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 858.491 -s 730.878
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 17 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YG1
Normal file
28
tests/offset/shape_type_i_c/YG1
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple6.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 3.5
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 937.546 -s 742.895
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 16 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YG2
Normal file
28
tests/offset/shape_type_i_c/YG2
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple7.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 0.9
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 532.498 -s 625.58
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 21 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YG3
Normal file
28
tests/offset/shape_type_i_c/YG3
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple7.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 1.3
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 591.624 -s 647.796
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 21 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YG4
Normal file
28
tests/offset/shape_type_i_c/YG4
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple7.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 1.7
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 650.813 -s 669.163
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 22 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YG5
Normal file
28
tests/offset/shape_type_i_c/YG5
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple7.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 3
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 849.197 -s 722.694
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 20 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YG6
Normal file
28
tests/offset/shape_type_i_c/YG6
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple7.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 4
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 1016.84 -s 750.316
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 18 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YG7
Normal file
28
tests/offset/shape_type_i_c/YG7
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple8.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 3.5
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 1446.71 -s 1074.67
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 25 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YG8
Normal file
28
tests/offset/shape_type_i_c/YG8
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple8.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 5
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 1837.67 -s 1118.82
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 24 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YG9
Normal file
28
tests/offset/shape_type_i_c/YG9
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple8.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 5.5
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 1973.21 -s 1128.39
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 24 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YH1
Normal file
28
tests/offset/shape_type_i_c/YH1
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple8.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 6.2
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 2169.52 -s 1151.22
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 22 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YH2
Normal file
28
tests/offset/shape_type_i_c/YH2
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple8.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 7.3
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 2490.91 -s 1189.42
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 14 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YH3
Normal file
28
tests/offset/shape_type_i_c/YH3
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple8.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 8
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 2700 -s 1230
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 6 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YH4
Normal file
28
tests/offset/shape_type_i_c/YH4
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple9.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 2.3
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 1173.38 -s 1002.15
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 22 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YH5
Normal file
28
tests/offset/shape_type_i_c/YH5
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple9.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 4
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 1596 -s 1099.91
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 16 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YH6
Normal file
28
tests/offset/shape_type_i_c/YH6
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple9.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 5.5
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 1977 -s 1167.43
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 15 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YH7
Normal file
28
tests/offset/shape_type_i_c/YH7
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple9.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 7
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 2400 -s 1160
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 6 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YH8
Normal file
28
tests/offset/shape_type_i_c/YH8
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple9.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 7.5
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 2550 -s 1195
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 6 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YH9
Normal file
28
tests/offset/shape_type_i_c/YH9
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple10.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 2.3
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 1173.38 -s 1002.15
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 22 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YI1
Normal file
28
tests/offset/shape_type_i_c/YI1
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple10.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 3.3
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 1420.77 -s 1055.6
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 22 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YI2
Normal file
28
tests/offset/shape_type_i_c/YI2
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple10.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 4.2
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 1649.74 -s 1092.64
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 16 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YI3
Normal file
28
tests/offset/shape_type_i_c/YI3
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple10.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 5.2
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 1914.35 -s 1128.32
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 15 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YI4
Normal file
28
tests/offset/shape_type_i_c/YI4
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple10.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 6.5
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 2271.64 -s 1187.85
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 13 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YI5
Normal file
28
tests/offset/shape_type_i_c/YI5
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple10.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 7.5
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 2555.91 -s 1227.21
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 12 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YI6
Normal file
28
tests/offset/shape_type_i_c/YI6
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple10.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 9.3
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 3090 -s 1321
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 6 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YI7
Normal file
28
tests/offset/shape_type_i_c/YI7
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple11.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 2.5
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 1196.69 -s 1020.67
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 24 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YI8
Normal file
28
tests/offset/shape_type_i_c/YI8
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple11.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 3.5
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 1442.83 -s 1065.3
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 25 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YI9
Normal file
28
tests/offset/shape_type_i_c/YI9
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple11.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 4.2
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 1622.85 -s 1081.68
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 23 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YJ1
Normal file
28
tests/offset/shape_type_i_c/YJ1
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple11.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 5
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 1837.33 -s 1101.2
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 22 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YJ2
Normal file
28
tests/offset/shape_type_i_c/YJ2
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple11.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 5.5
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 1976.05 -s 1125.25
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 22 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YJ3
Normal file
28
tests/offset/shape_type_i_c/YJ3
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple11.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 6.2
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 2172.83 -s 1149.47
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 21 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YJ4
Normal file
28
tests/offset/shape_type_i_c/YJ4
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple11.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 7.3
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 2493.03 -s 1195.43
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 14 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YJ5
Normal file
28
tests/offset/shape_type_i_c/YJ5
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple11.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 8
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 2700.83 -s 1235.47
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 10 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YJ6
Normal file
28
tests/offset/shape_type_i_c/YJ6
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple11.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 9.2
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 3060 -s 1314
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 6 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YJ7
Normal file
28
tests/offset/shape_type_i_c/YJ7
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple12.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 2.5
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 1163.57 -s 1020.66
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 20 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YJ8
Normal file
28
tests/offset/shape_type_i_c/YJ8
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple12.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 3.2
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 1327.75 -s 1049.86
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 20 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YJ9
Normal file
28
tests/offset/shape_type_i_c/YJ9
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple12.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 4.4
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 1640.18 -s 1049.39
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 16 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YK1
Normal file
28
tests/offset/shape_type_i_c/YK1
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple12.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 5
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 1810.17 -s 1052.79
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 10 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YK2
Normal file
28
tests/offset/shape_type_i_c/YK2
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple12.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 6
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 2102.46 -s 1105.62
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 10 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YK3
Normal file
28
tests/offset/shape_type_i_c/YK3
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple13.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 3.1
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 1316.75 -s 1063.5
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 21 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
28
tests/offset/shape_type_i_c/YK4
Normal file
28
tests/offset/shape_type_i_c/YK4
Normal file
@ -0,0 +1,28 @@
|
||||
restore [locate_data_file bug28442_simple13.brep] s
|
||||
|
||||
offsetparameter 1e-7 c i r
|
||||
offsetload s 0
|
||||
|
||||
foreach f [explode s f] {
|
||||
mksurface surf $f
|
||||
set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
|
||||
if {$found == 0} {
|
||||
continue
|
||||
}
|
||||
# reverse normal direction for faces with orientation REVERSED
|
||||
if {[regexp {REVERSED} [whatis $f]]} {
|
||||
set z [expr -1*$z]
|
||||
}
|
||||
# set offset value for top faces only
|
||||
if {abs($z - 1) < 1.e-7 } {
|
||||
offsetonface $f 5
|
||||
}
|
||||
}
|
||||
offsetperform result
|
||||
|
||||
checkprops result -v 1811.61 -s 1059.5
|
||||
|
||||
unifysamedom result_unif result
|
||||
checknbshapes result_unif -face 14 -shell 1
|
||||
|
||||
checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
|
Loading…
x
Reference in New Issue
Block a user