View Issue Details

IDProjectCategoryView StatusLast Update
0027637Open CASCADEOCCT:Modeling Algorithmspublic2022-10-24 10:42
ReporternbvAssigned Tonbv 
PrioritynormalSeverityminor 
Status assignedResolutionopen 
Target Version7.8.0 
Summary0027637: Method Geom_BSplineCurve::Segment() produces invalid B-spline curve while the source curve seems to be OK
DescriptionAfter applying Geom_BSplineCurve::Segment(...) method to the attached curves we obtain the result curve with several close poles and knots.

Result of Steps To Reproduce scrips:

SCRIPT # 1

Draw[]> dump cc1
*********** Dump of cc1 *************
BSplineCurve
  Degree 8, 28 Poles, 5 Knots
Poles :
...
  22 : -41.6415298559676, 11.5000002955484, 113.822875195299
  23 : -41.4999999999997, 11.5000001477742, 113.822875425416
  24 : -41.4999999999996, 11.5000001477742, 113.822875425416
  25 : -41.4999999999994, 11.5000001477742, 113.822875425416
  26 : -41.4999999999992, 11.5000001477742, 113.822875425416
  27 : -41.4999999999991, 11.5000001477742, 113.822875425416
  28 : -41.4999999999989, 11.5000001477742, 113.822875425416
Knots :

   ...
   4 : 1.38173176294828 5
   5 : 1.38173176294839 9


SCRIPT # 2

Draw[]> dump cc2
*********** Dump of cc2 *************
BSplineCurve
  Degree 8, 30 Poles, 5 Knots
Poles :
...
  22 : -41.614408772683, 11.5, 113.822875655532
  23 : -41.4999999999999, 11.5, 113.822875655532
  24 : -41.4999999999999, 11.5, 113.822875655532
  25 : -41.4999999999998, 11.5, 113.822875655532
  26 : -41.4999999999997, 11.5, 113.822875655532
  27 : -41.4999999999997, 11.5, 113.822875655532
  28 : -41.4999999999996, 11.5, 113.822875655532
  29 : -41.4999999999996, 11.5, 113.822875655532
  30 : -41.4999999999995, 11.5, 113.822875655532
Knots :

   ...
   4 : 0.807999411490432 7
   5 : 0.807999411490455 9

Steps To ReproduceSCRIPT # 1

Draw[]> restore scurv.brep c0
Draw[]> takesegment cc1 c0 1.0064553654290889 1.3817317629483903
Draw[]> dump cc1

SCRIPT # 2

Draw[]> restore scurv1.brep c1
Draw[]> reverse c1
Draw[]> takesegment cc2 c1 0.61918345724997570 0.80799941149045451
Draw[]> dump cc2
TagsNo tags attached.
Test case number

Attached Files

  • scurv.brep (8,387 bytes)
  • scurv1.brep (14,090 bytes)
  • takesegment.cxx (814 bytes)

Activities

nbv

2016-06-24 13:13

developer  

scurv.brep (8,387 bytes)

nbv

2016-06-24 13:13

developer  

scurv1.brep (14,090 bytes)

nbv

2016-06-24 13:34

developer  

takesegment.cxx (814 bytes)

nbv

2016-06-24 13:35

developer   ~0055441

The code for "takesegment" DRAW-command is attached in takesegment.cxx file.

msv

2016-10-25 18:30

developer   ~0059115

Does not the command "segment" do the same as "takesegment"?

Issue History

Date Modified Username Field Change
2016-06-24 13:13 nbv New Issue
2016-06-24 13:13 nbv Assigned To => msv
2016-06-24 13:13 nbv File Added: scurv.brep
2016-06-24 13:13 nbv File Added: scurv1.brep
2016-06-24 13:34 nbv File Added: takesegment.cxx
2016-06-24 13:35 nbv Note Added: 0055441
2016-06-24 15:01 msv Summary Method Geom_BSplineCurve::Segment() produces invalid B-spline curve if the source curve seems to be OK => Method Geom_BSplineCurve::Segment() produces invalid B-spline curve while the source curve seems to be OK
2016-06-24 15:04 msv Assigned To msv => nbv
2016-06-24 15:04 msv Status new => assigned
2016-10-25 18:30 msv Note Added: 0059115
2016-10-25 18:44 msv Target Version 7.1.0 => 7.2.0
2017-07-24 09:33 msv Target Version 7.2.0 => 7.3.0
2017-12-05 17:08 msv Target Version 7.3.0 => 7.4.0
2019-08-12 16:37 msv Target Version 7.4.0 => 7.5.0
2020-09-14 22:58 msv Target Version 7.5.0 => 7.6.0
2021-08-29 18:53 msv Target Version 7.6.0 => 7.7.0
2022-10-24 10:42 szy Target Version 7.7.0 => 7.8.0