Knot vector not valid for a NurbsSurface

I am creating a NurbsSurface out of data coming from a ParaSolid Surface. I am feeding in the data extracted from ParaSolid, including CPoints, knots, etc.
The Surface is invalid and here is the log message :

“Knot vector order=3 and knot[1]=86 >= knot[2]=86 (should have knot[order-2] < knot[order-1]).\n
ON_NurbsSurface.m_knot[1] is not a valid knot vector.\n”

The V knot vector raw data :
periodic=True; degree=2; knots={ 0 86 86 96,9955742875643 96,9955742875643 182,995574287564 182,995574287564 193,991148575129 193,991148575129 279,991148575129 279,991148575129 290,986722862693 290,986722862693 376,986722862693 376,986722862693 387,982297150257 387,982297150257 }

The Surface has 16 V Control Points.

Any possible explanation ? It doesn’t seem to be a problem with knot’s multiplicity ?

Hi @ahmedwael.si,

Does this help?

— Dale

Hi Dale,
Thanks a lot.
In my conversion, I am taking into account the superfluous values.
I remove the ParaSolid surperfluous values for non-periodic direction knot vector and “keep” them for periodic knots. It seemed to work for other examples.
However, for this surface, the log message suggests I should have knot[order-2] < knot[order-1]), while in my case it is the same value knot[1]=86 >= knot[2]=86.
It seems to be a different issue from superfluous values right?

I think the issue is this → periodic=True

That means the first 3 and last 3 knots overlap,
Those knots have to be increasing in value.
Is it possible this is supposed to be not periodic?