CreativeInquiry / PEmbroider

Embroidery Library for Processing
Other
465 stars 27 forks source link

In PEmbroider_lines_1.pde example, the bobbin thread gets tangled #111

Open nkymut opened 1 year ago

nkymut commented 1 year ago

First of all, thank you for creating such an amazing library that allows creative coders to explore the world of embroidery!

I'm not sure if this is the right place to ask, as I'm uncertain if it's a sewing machine setup problem or a software problem. But when embroidering the output from Example/PEmbroider_lines1.pde, I always encounter issues where the bobbin thread gets tangled and the upper thread breaks, or worst-case scenario, the needle breaks at the exact point. I have no issue with other examples such as Hello_PEmbroider.pde.

Here is the part where the issue occurs.

  E.strokeSpacing(2.0);
  E.setStitch(5, 15, 0.0);
  E.PARALLEL_RESAMPLING_OFFSET_FACTOR = 0.33;

  E.strokeCap(SQUARE); // NOTE: currently not working for PERPENDICULAR
  E.strokeMode(PEmbroiderGraphics.PERPENDICULAR); 

  //repeats a stitch at the end of each line drawn
  E.beginRepeatEnd(2);

  int lineX = 50;
  for (int i=0; i<nLines; i++) {  // Break Thread when nLines == 3
    float x0 = lineX; 
    float x1 = x0+lineLength;
    float y0 = map(i, 0, nLines-1, 50, height-50);
    E.strokeWeight(i+1); 
    E.line (x0, y0, x1, y0);
  }

Has anyone else encountered a similar situation?

Processing 4.0b1 ExportFile Format: .dst Machine: BERNINA B590 Needle: BERNINA 130/705 H-E 75/11 upper thread:Mettle Polyester No.40 bobbin thread: SERACOR, Polyester No.120

IMG_2325 IMG_2327

Thank you in advance!

nkymut commented 1 year ago

After numerous discussions and troubleshooting with BERNINA support technicians, we have identified three main issues that are causing the problems.

Firstly, the upper thread was not properly threaded through the thread take-up lever, and the tension setting was incorrect for thinner fabric (cotton <0.1mm thickness). This led to tangling of the bobbin thread, resulting in bird-nesting behind the fabric. To address this, a lower upper-thread tension setting of 1.75 worked better than the default setting of 3.0.

Secondly, using E.strokeWeight(i) when i <= 4 caused fabric breakage due to the satin stitch width being too narrow, which led to the upper thread breaking. Here is the relevant code snippet lines 24-43 :

int nLines = 15;
int lineLength = 150;

E.strokeSpacing(2.0);
E.setStitch(5, 15, 0.0);
E.PARALLEL_RESAMPLING_OFFSET_FACTOR = 0.33;

E.strokeCap(SQUARE);
E.strokeMode(PEmbroiderGraphics.PERPENDICULAR);

E.beginRepeatEnd(2);

int lineX = 50;
for (int i = 0; i < nLines; i++) {
  float x0 = lineX;
  float x1 = x0 + lineLength;
  float y0 = map(i, 0, nLines - 1, 50, height - 50);
  E.strokeWeight(i + 1); // breaks upper thread when i+1 <= 4; 
  E.line(x0, y0, x1, y0);
}

Lastly, when the upper thread tension is too tight or too loose against the fabric, as mentioned in the first issue, using E.beginRepeatEnd(2) will also cause the upper thread to break when E.strokeMode(PEmbroiderGraphics.TANGENT); where E.strokeWeight(1+1); >=13 as it pulls too much bobbin thread in the same location without support. This issue is present in lines 47-56 of the code:

E.strokeCap(SQUARE);
lineX += lineLength + 50;
E.strokeMode(PEmbroiderGraphics.TANGENT);
for (int i = 0; i < nLines; i++) {
  float x0 = lineX;
  float x1 = x0 + lineLength;
  float y0 = map(i, 0, nLines - 1, 50, height - 50);
  E.strokeWeight(i + 1); // breaks upper thread at the end of E.line when nLines >= 13
  E.line(x0, y0, x1, y0);
}

Additionally, it is worth noting that for the lines with E.strokeMode(PEmbroiderGraphics.TANGENT) setting, better results can be achieved by rotating the pattern by 90 degrees and aligning the stroke parallel to the pressure foot.

I understand that these issues may be common knowledge for embroidery experts, but I thought its worth mentioning here for a complete beginner in digital embroidery and sewing machines like myself,

Line_setting Line_Success Line_back

nkymut commented 1 year ago

Trouble shooting page from UAL Creative Computing Institute Wiki was extremely helpful while identifying the issue.

https://wiki.cci.arts.ac.uk/books/facilities/page/using-the-brother-innov-is-v3-embroidery-machine#bkmrk-troubleshooting

tatyanade commented 8 months ago

Hi! Where you able to resolve this? I think this is most likely a tension issue with your machine as we where able to embroider this without issue when compiling the examples; might also be a result of the type of needle or thread or fabric that you where using; there seems to be tension issues based on the tangling and amount of extra white thread on the bottom in your last picture

Interesting note about it embroidering better when rotated 90 degrees

nkymut commented 7 months ago

Thank you for reminding me! yes sort of.

As someone who was completely new to embroidery and sewing, there were several factors involved (which is what makes embroidery interesting), but here are some improvements I made through trial and error:

The initial fabrics I tried, like cotton shirts and coarse linen, were either too thin or had a weave that was too rough. No matter how I adjusted the sewing machine's tension, it didn't seem to help. What did make a difference was using a thicker stabilizer. But I am wondering if changing needle type or bobbin thread may improve the results?

From these experiences, when I try new embroidering pattern, I use non-woven fabrics like felt that are about 2mm thick.