- for i in range(i1):
- chaincoords.append(sfta.points[i])
- chaincoords.append(fbs.points[ifb1])
- w.line([chaincoords])
- w.record(chainName + '_1')
+ chaincoords.append(fbs.points[ifb1])
+ w.line([chaincoords])
+ w.record(chainName + '_1')
+ else:
+ chaincoords = []
+ chaincoords.append(fbs.points[ifb1])
+ for i in range(i1+1, i2):
+ chaincoords.append(sfta.points[i])
+ chaincoords.append(fbs.points[ifb2])
+ if i2+1 < len(sfta.points):
+ for i in range(i2+1, len(sfta.points) -discountLastSftaPoint):
+ chaincoords.append(sfta.points[i])
+ for i in range(i1):
+ chaincoords.append(sfta.points[i])
+ if discountLastSftaPoint:
+ chaincoords.append(fbs.points[ifb1]) # close shape when first point if superposed with last
+ w.line([chaincoords])
+ w.record(chainName)
+