View Issue Details

IDProjectCategoryView StatusLast Update
0027656CommunityOCCT:Modeling Algorithmspublic2016-07-20 17:08
Reporteranpoit00 Assigned Tomsv  
Status assignedResolutionopen 
Product Version7.0.0 
Target VersionUnscheduled 
Summary0027656: BRepFill_OffsetWire does not build offset of b-spline curves
DescriptionI have found that no wire has been created using the GeoMaps Intersection option. I believe it is because the curves are deiniert as Spline.
Steps To ReproduceDraw[1]> brestore c:/aWire.brep s1
Draw[2]> mkoffset mk1 s1 1 1 i
TagsNo tags attached.
Test case number

Attached Files

  • aWire.brep (703 bytes)
  • wire.brep (33,351 bytes)



2016-06-30 09:44


aWire.brep (703 bytes)


2016-06-30 11:34

developer   ~0055602

Indeed, if we create the same form wire from line segments the operation works:

polyline w 0 0 0 10 0 0 20 10 0 0 0 0
mkoffset r w 1 1 i

The attached aWire.brep is based on b-spline curves of degree 1.


2016-06-30 12:21


wire.brep (33,351 bytes)


2016-06-30 12:23

developer   ~0055603

Yes you are right but algorithm has general problems as soon as it contains Spline (see new attached wire.brep).


2016-07-20 17:08

developer   ~0056062

The offset algorithm with the option GeomAbs_Intersection has a limitation that it works only with analytical geometries. If there is a join of b-spline or bezier curves this case does not work by intention. It is because during making intersection join we need to extent the curve till the point of intersection. And though b-spline can be extended, nevertheless we cannot rely on such extension in general case as it can give unexpected oscillations.

There should be another solution for this problem. There is GeomAbs_Tangent join type. With this join type, it is intended that a tangent lines a created as continuation of joined curves, and intersection point of these tangent lines will be used as a join point on offset contour.

However, in the current implementation GeomAbs_Tangent join type is not considered and the algorithm will fail. So, this problem is open and needs to be solved.

We have no plans to schedule this task in the nearest future, unless it is paid by some third party.

Issue History

Date Modified Username Field Change
2016-06-30 09:44 anpoit00 New Issue
2016-06-30 09:44 anpoit00 Assigned To => msv
2016-06-30 09:44 anpoit00 File Added: aWire.brep
2016-06-30 11:34 msv Note Added: 0055602
2016-06-30 12:21 anpoit00 File Added: wire.brep
2016-06-30 12:23 anpoit00 Note Added: 0055603
2016-07-18 15:10 msv Summary BRepFill_OffsetWire should not create offset wire => BRepFill_OffsetWire does not build offset of b-spline curves
2016-07-18 15:10 msv Assigned To msv => ema
2016-07-18 15:10 msv Status new => assigned
2016-07-20 17:08 msv Note Added: 0056062
2016-07-20 17:08 msv Assigned To ema => msv
2016-07-20 17:08 msv Priority normal => low
2016-07-20 17:08 msv Target Version => Unscheduled