1
0
Fork 0
freesewing/designs/bent/src/topsleeve.mjs
2023-04-26 18:53:16 -07:00

88 lines
1.7 KiB
JavaScript

import { sleeve } from './sleeve.mjs'
import { dimensions } from './shared.mjs'
function draftBentTopSleeve({
macro,
Path,
points,
paths,
complete,
paperless,
snippets,
Snippet,
sa,
store,
part,
}) {
// Extract seamline from sleeve
delete paths.us
paths.seam = paths.ts.clone().attr('class', 'fabric', true)
delete paths.ts
store.cutlist.addCut()
// Complete?
if (complete) {
macro('scalebox', { at: points.elbowCenter })
snippets.logo = new Snippet('logo', points.elbowCenter.shift(90, 50))
macro('title', {
at: points.armCenter,
nr: 3,
title: 'topsleeve',
})
if (sa) {
paths.sa = paths.seam.clone()
// Remove hem
paths.sa.ops.splice(-2)
paths.sa = paths.sa
.offset(sa)
.join(
new Path()
.move(points.tsWristLeft)
.line(points.tsWristRight)
.offset(sa * 3)
)
.close()
.attr('class', 'fabric sa')
}
}
// Paperless?
if (paperless) {
dimensions(part, 'ts')
macro('vd', {
from: points.tsLeftEdge,
to: points.top,
x: points.tsLeftEdge.x - sa - 15,
})
macro('hd', {
from: points.tsLeftEdge,
to: points.top,
y: points.top.x - sa - 15,
})
macro('hd', {
from: points.tsLeftEdge,
to: points.backPitchPoint,
y: points.top.x - sa - 30,
})
macro('hd', {
from: points.tsLeftEdge,
to: points.tsRightEdge,
y: points.top.x - sa - 45,
})
macro('vd', {
from: points.tsRightEdge,
to: points.backPitchPoint,
x: points.tsRightEdge.x + sa + 15,
})
}
return part
}
export const topSleeve = {
name: 'bent.topSleeve',
from: sleeve,
draft: draftBentTopSleeve,
}