fablabnbg / inkscape-silhouette

An extension to drive Silhouette vinyl cutters (e.g. Cameo, Portrait, Curio series) from within inkscape.
GNU General Public License v2.0
503 stars 116 forks source link

Cameo 3: paths in the bottommost 15.5mm and the far-right are not cut #58

Open thecodemine opened 6 years ago

thecodemine commented 6 years ago

Hello,

I recently got myself a Silhouette Cameo 3 and used this plugin with inkscape to cut some designs and I'm very happy to be able to use the hardware from Linux. I have however found some small issues e.g. when using a 12"x12" cutting mat or 12" vinyl.

My setup:

OS: Ubuntu 17.10 Cutter: Silhouette Cameo 3 (firmware: v. 1.60) Inkscape version: 0.92 inkscape-silhouette version: 1.19 (built from master branch) Cutting strategy used: Z-order

The issues

The issue seems to be two-fold, but related. The following SVG should reproduce the issues explained below: example.svg.txt

Paths at the bottom 15.5mm of the design are not cut.

The first issue seems to be related to the fact that the margin_top_mm is set to 15.5 in the DEVICES array (in Graphtec.py) and that this offset is not taken into account when deciding what paths are inside the cutting area.

{ 'vendor_id': 0x0b4d, 'product_id': 0x112f, 'name': 'Silhouette Cameo3', 'width_mm': 304, 'length_mm': 3000, 'margin_left_mm':5,'margin_top_mm':15.5, 'regmark': True },

I have been able to work around this issue by adding the margintop value to the mediaheight when calculating the height (line 792 in Graphtec.py).

height = int(0.5+20.*(mediaheight + margintop))

This allows also the bottom paths to be cut correctly when using a mat or a roll of vinyl, but might introduce issues when cutting without a mat (I have not tested this). Will adding the margintop to the height in this way introduce any other issues that you know of?

Paths at the far-right of the design are not cut.

This issue looks very related to the first issue, in that the paths that are in the rightmost 15.5mm are not cut.

I have not been able to work around the second issue, so any input on how to fix this would be appreciated. My first hunch was that I could just append the marginleft when calculating the width (in a similar fashion as with the adding the margintop to the height mentioned above) - but this does not seem to help. Any ideas?

EtherGraf commented 6 years ago

Discussed also at lexelby#2.

EtherGraf commented 6 years ago

I have no cameo 3 at hand, so I cannot test it. What does happen, if you enlarge the document width by 15mm? Does it change anything?

KedneckInc commented 6 years ago

Just to be certain, I increased the dimensions by 20 mm in both directions. The Cameo 3 is presently drawing the path I gave it without any difficulty. I'll be trying actually cutting the page next.

KedneckInc commented 6 years ago

Just finished now. It's drawn the pattern exactly as I wished. Now to try cutting it.

Perfect. Fit exactly where I needed it to.

The only gripe with this method is that because Inkscape uses the bottom left as the origin, the page expands up and right. That means you have to reposition your pattern to the upper left to get it come out right on the Cameo 3.