View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0023600 | Community | OCCT:Modeling Algorithms | public | 2012-11-28 18:51 | 2012-11-28 18:51 |
Reporter | flauzon | Assigned To | |||
Priority | normal | Severity | major | ||
Status | new | Resolution | open | ||
Platform | Windows | OS | XP | ||
Product Version | 6.5.4 | ||||
Summary | 0023600: GeomLib::ExtendSurfByLength doesn't work in some case | ||||
Description | I have 2 very similar surfaces, when I do a extend by length on both of them, in 1 case it is working fine, on the other case the surface is extended way too much. I have include a snapshot showing initals surfaces and extended surfaces. The first case work well, the face is extended by about 0.025mm The second case work not so well, the face is extended by about 0.56mm, which is 22x more than asked. You could probably easily reproduce the case in Draw, but I never really use it (I should probably start learning it!) | ||||
Steps To Reproduce | // read brep files BRep_Builder aBuilder; TopoDS_Shape aShape1,aShape2; BRepTools::Read(aShape1,"./bug_extendByLength1.brep",aBuilder); BRepTools::Read(aShape2,"./bug_extendByLength2.brep",aBuilder); // extract faces TopoDS_Face aFace1=TopoDS::Face(aShape1); TopoDS_Face aFace2=TopoDS::Face(aShape2); // extend face1 on all side by 0.025mm, works fine Standard_Real extra=.025; Handle_Geom_Surface aSurface1=BRep_Tool::Surface(aFace1); Handle_Geom_BoundedSurface aBSurf1=Handle_Geom_BoundedSurface::DownCast(aSurface1); GeomLib::ExtendSurfByLength(aBSurf1,extra,1,Standard_True,Standard_True); GeomLib::ExtendSurfByLength(aBSurf1,extra,1,Standard_True,Standard_False); GeomLib::ExtendSurfByLength(aBSurf1,extra,1,Standard_False,Standard_True); GeomLib::ExtendSurfByLength(aBSurf1,extra,1,Standard_False,Standard_False); // extend face2 on all side by 0.025mm, don't works fine Handle_Geom_Surface aSurface2=BRep_Tool::Surface(aFace2); Handle_Geom_BoundedSurface aBSurf2=Handle_Geom_BoundedSurface::DownCast(aSurface2); GeomLib::ExtendSurfByLength(aBSurf2,extra,1,Standard_True,Standard_True); GeomLib::ExtendSurfByLength(aBSurf2,extra,1,Standard_True,Standard_False); GeomLib::ExtendSurfByLength(aBSurf2,extra,1,Standard_False,Standard_True); GeomLib::ExtendSurfByLength(aBSurf2,extra,1,Standard_False,Standard_False); | ||||
Additional information and documentation updates | It was doing the same in OCC Release 6.5.3 | ||||
Tags | No tags attached. | ||||
Test case number | |||||