MantisBT - Open CASCADE
View Issue Details
0029401Open CASCADE[OCCT] OCCT:Modeling Algorithmspublic2017-12-25 17:542020-09-14 22:54
ssv 
msv 
normalminor 
newopen 
 
[OCCT] 7.6.0* 
0029401: Incomplete history in BRepOffsetAPI_MakeThickSolid
BRepOffsetAPI_MakeThickSolid does not provide a history for the generated wall faces. It is expected that the base edges of the input shell will generate not only their corresponding offset edges but also the wall faces. At least, that would be natural.

In the provided reproducer, the edge E1 has only one image in its GENERATED collection. To complete the history, it is necessary to have a wall face as the second image for E1. The same remark applies to all base edges.
// Build rectangular face.
TopoDS_Face R;
TopoDS_Edge E1, E2, E3, E4;
{
  gp_Pnt P1(0, 0, 0),
         P2(1, 0, 0),
         P3(1, 1, 0),
         P4(0, 1, 0);

  E1 = BRepBuilderAPI_MakeEdge(P1, P2);
  E2 = BRepBuilderAPI_MakeEdge(P2, P3);
  E3 = BRepBuilderAPI_MakeEdge(P3, P4);
  E4 = BRepBuilderAPI_MakeEdge(P4, P1);

  BRepBuilderAPI_MakeWire mkWire;
  mkWire.Add(E1); E1 = mkWire.Edge();
  mkWire.Add(E2); E2 = mkWire.Edge();
  mkWire.Add(E3); E3 = mkWire.Edge();
  mkWire.Add(E4); E4 = mkWire.Edge();

  R = BRepBuilderAPI_MakeFace( mkWire.Wire() );
}

// Make offset (use any offset value)
BRepOffsetAPI_MakeThickSolid mkOffset;
mkOffset.MakeThickSolidBySimple(R, 0.5);

// Get result
TopoDS_Shape result;
if ( mkOffset.IsDone() )
{
  result = mkOffset.Shape();
}

// Images of E1
{
  // MODIFIED
  const TopTools_ListOfShape& MODIFIED = mkOffset.Modified(E1);
  //
  if ( !MODIFIED.IsEmpty() )
  {
    for ( TopTools_ListIteratorOfListOfShape lit(MODIFIED); lit.More(); lit.Next() )
      // Draw modification image.
  }

  // GENERATED
  const TopTools_ListOfShape& GENERATED = mkOffset.Generated(E1);
  //
  if ( !GENERATED.IsEmpty() )
  {
    for ( TopTools_ListIteratorOfListOfShape lit(GENERATED); lit.More(); lit.Next() )
      // Draw generation image
  }
}
No tags attached.
Issue History
2017-12-25 17:54ssvNew Issue
2017-12-25 17:54ssvAssigned To => msv
2019-08-12 16:50msvTarget Version7.4.0 => 7.5.0
2020-09-14 22:54msvTarget Version7.5.0 => 7.6.0*

There are no notes attached to this issue.