Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

[bug]: Jager sleeves still have problems, though ease is fixed. #6023

Open
RockerKitten opened this issue Feb 12, 2024 · 3 comments
Open

[bug]: Jager sleeves still have problems, though ease is fixed. #6023

RockerKitten opened this issue Feb 12, 2024 · 3 comments
Labels

Comments

@RockerKitten
Copy link

RockerKitten commented Feb 12, 2024

What seems to be the problem? 馃

Jager (and Bent) sleeves generate larger for smaller bicep measures, and smaller for larger bicep measures.
All else equal, at default ease of 15% Jager, with 20cm set for bicep circumference results in this sleeve
image
with the bicep measure set to 30cm this is the sleeve that is generated
image
and with a bicep of 40 cm this is the sleeve that is generated
image
Moving the bicep ease slider now correctly makes it larger for more ease, and smaller for less ease however.

Design / Plugin / Package 馃

designs/jaeger

Additional context

I checked and Bent has the same issue.

@BenJamesBen
Copy link
Contributor

The problem is that:

  1. Bent's sleeve width is inversely proportional to the sleevecap height.
  2. Bent's sleevecap height is proportional to the biceps circumference.
  3. So, as the biceps get larger, the sleevecap gets taller and the sleeve gets narrower.

A possible solution might be for Bent to start with a baseline sleevecap height simply based on the armhole size, then decrease sleevecap height based on biceps circumference. So, a larger biceps circumference would result in a shorter sleevecap and a wider sleeve.

These values are entirely made up and probably bogus, but for example:

--- a/designs/bent/src/sleeve.mjs
+++ b/designs/bent/src/sleeve.mjs
@@ -1,7 +1,7 @@
 import { front } from '@freesewing/brian'
 
-function draftBentSleeve({ Path, paths, points, store, options, part }) {
-  function draftSleeve(part, tweak) {
+function draftBentSleeve({ Path, paths, points, store, options, part, log }) {
+  function draftSleeve(part, tweak, target) {
     let { Point, Path, points, store, options, measurements, utils } = part.shorthand()
     // Sleeve frame
     points.top = new Point(0, 0)
@@ -13,9 +13,12 @@ function draftBentSleeve({ Path, paths, points, store, options, part }) {
     )
     points.boxBottomRight = points.boxBottom.shift(0, points.boxTopRight.x)
     points.boxBottomLeft = points.boxBottomRight.flipX()
+    const bicepsConstant = 0.15
+    const baseSleeveHeight = target * options.sleevecapHeight
+    const bicepsFactor = measurements.biceps * (1 + options.bicepsEase) * bicepsConstant
     points.armCenter = points.top.shift(
       -90,
-      measurements.biceps * (1 + options.bicepsEase) * options.sleevecapHeight * tweak
+      (baseSleeveHeight - bicepsFactor * tweak)
     )
     points.armRight = points.armCenter.shift(0, points.boxTopRight.x)
     points.armLeft = points.armRight.flipX()
@@ -133,7 +136,7 @@ function draftBentSleeve({ Path, paths, points, store, options, part }) {
   let tweak = 1
   let target = store.get('sleevecapTarget')
   do {
-    draftSleeve(part, tweak)
+    draftSleeve(part, tweak, target)
     runs++
     delta = store.get('sleevecapLength') - target
     if (delta > 0) tweak = tweak * 0.99

@joostdecock
Copy link
Member

@all-contributors please add @RockerKitten for question

Copy link
Contributor

@joostdecock

I've put up a pull request to add @RockerKitten! 馃帀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants