MantisBT
Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0029401Open CASCADE[OCCT] OCCT:Modeling Algorithmspublic2017-12-25 17:542017-12-25 17:55
Reporterssv 
Assigned Tomsv 
PrioritynormalSeverityminor 
StatusnewResolutionopen 
PlatformOSOS Version
Product Version 
Target Version[OCCT] 7.4.0*Fixed in Version 
Summary0029401: Incomplete history in BRepOffsetAPI_MakeThickSolid
DescriptionBRepOffsetAPI_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.
Steps To Reproduce// 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
  }
}
TagsNo tags attached.
Test case number
Attached Files

- Relationships

-  Notes
There are no notes attached to this issue.

- Issue History
Date Modified Username Field Change
2017-12-25 17:54 ssv New Issue
2017-12-25 17:54 ssv Assigned To => msv


Copyright © 2000 - 2018 MantisBT Team
Powered by Mantis Bugtracker