{"id":18380165,"url":"https://github.com/mossblaser/plottie","last_synced_at":"2025-04-06T22:32:50.038Z","repository":{"id":41348086,"uuid":"220446396","full_name":"mossblaser/plottie","owner":"mossblaser","description":"A little plotting/cutting program for Silhouette Plotters","archived":false,"fork":false,"pushed_at":"2024-06-01T15:17:38.000Z","size":680,"stargazers_count":26,"open_issues_count":2,"forks_count":4,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-22T08:11:07.509Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mossblaser.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-11-08T10:45:41.000Z","updated_at":"2025-03-18T01:13:46.000Z","dependencies_parsed_at":"2024-11-06T00:42:17.103Z","dependency_job_id":"61843fb8-5259-47df-b52c-158bdf7c4c8b","html_url":"https://github.com/mossblaser/plottie","commit_stats":{"total_commits":29,"total_committers":1,"mean_commits":29.0,"dds":0.0,"last_synced_commit":"a8a15182339da2ccc280b0ca47b5455d186909a2"},"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mossblaser%2Fplottie","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mossblaser%2Fplottie/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mossblaser%2Fplottie/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mossblaser%2Fplottie/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mossblaser","download_url":"https://codeload.github.com/mossblaser/plottie/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247563905,"owners_count":20958971,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-06T00:42:03.470Z","updated_at":"2025-04-06T22:32:49.708Z","avatar_url":"https://github.com/mossblaser.png","language":"Python","funding_links":[],"categories":["Software"],"sub_categories":["Plotter Control"],"readme":"Plottie: A little plotting/cutting program for Silhouette Plotters\n==================================================================\n\n![A vector design in Inkscape next to a cut-out output](./examples/banner.png)\n\nPlottie is a command-line tool for plotting and cutting outlines from [SVG\nvector graphics](https://developer.mozilla.org/kab/docs/Web/SVG) using the\n[Silhouette series of desktop\nplotters/cutters](https://www.silhouetteamerica.com/).\n\nKey features:\n\n* **Supports most common SVG features** including beziers, shapes, simple text\n  and dashed lines (via the\n  [`svgoutline`](https://github.com/mossblaser/svgoutline) library).\n\n* **Supports registration marks** allowing printed shapes to be accurately cut\n  out or scored.\n\n* **Sensible defaults** mean that registration marks, plot mode and the\n  layers to include are usually auto-detected.\n\n* **Selectively filter what to cut or plot** based on colour, layer or SVG\n  object IDs or classes.\n\n* **Cut and mark order optimised for speed and integrity.** For example, when\n  cutting, the inner-most shapes are cut out first so adhesive-free cutting\n  mats can be used. Alternatively, the order used in the provided SVG can be\n  used instead if required.\n\n* **Inkscape-aware** allowing layer names to be used to specify what to cut or\n  plot. Also accounts for incorrect DPI settings in files produced prior to\n  Inkscape v0.92.\n\n\nUsage\n-----\n\nPlottie can be installed from [PyPI](https://pypi.org/project/plottie/) as\nusual:\n\n    $ pip install plottie\n\n\u003e NB: Plottie requires Python 3.5+\n\nIn most cases, all you need to do is run `plottie` with your SVG file as\nthe argument:\n\n    $ plottie path/to/my/drawing.svg\n\nIf you don't have a device attached, you can use the `--use-dummy-device/-D`\noption to instead generate an SVG showing the cuts or marks to be made:\n\n    $ plottie path/to/my/drawing.svg -D cuts_made.svg\n\nBy default Plottie will attempt to work out whether you want to cut or plot the\noutlines in the supplied file by looking for Inkscape layer names with names\nlike `Cut` or `Plot`. You can override this (or choose the appropriate mode\nfor non-Inkscape SVGs) using the `--plot/-p` or `--cut/-c` arguments:\n\n    $ plottie --plot file/to/plot.svg\n\nThe speed and force used for cutting and plotting may be specified either in\nmm/s or g (respectively) or as a percentage of the device's supported values\nusing the `--speed/-S` and `--force/-F` options.  By default 100% speed and\n20% force are used. For example, these could be overridden when cutting out a\nparticularly tough material like so:\n\n    $ plottie --speed 50% --force 100% path/to/my/drawing.svg\n\nBy default, Plottie will plot or cut all stroked paths from Inkscape layers\nwith names like 'Cut' or 'Plot', making them visible if they are hidden and\nhiding all other layers. Various options are provided for specifying\nalternative filters, for example:\n\n    $ # Include everything already visible\n    $ plottie --all path/to/my/drawing.svg\n    \n    $ # Include only the Inkscape layer called 'Picture Outline'\n    $ plottie --layer \"Picture Outline\" path/to/my/drawing.svg\n    \n    $ # Include only the object with SVG ID 'object1234' (and its chidren)\n    $ plottie --id object1234 path/to/my/drawing.svg\n    \n    $ # Include just objects (and their children) with SVG class name 'cuttable'\n    $ plottie --class cuttable path/to/my/drawing.svg\n    \n    $ # Include onjects with a red stroke colour\n    $ plottie --colour '#FF0000' path/to/my/drawing.svg\n\nTo see the complete set of options, and for more detailed documentation, use\n`--help/-h`.\n\n\nExample files\n-------------\n\nAn example Inkscape SVG demonstrating the use of registration marks and cutting\nfeatures is included in\n[`examples/cutting_example.svg`](./examples/cutting_example.svg). This file can\nbe directly printed to an A4 page and then cut out using:\n\n    $ plottie examples/cutting_example.svg\n\nFor convenience, a template set of registration marks is also provided in\n[`examples/regmark_template.svg`](./examples/regmark_template.svg) which\nincludes correctly sized markers and strokes.\n\n\nComparison with other software\n------------------------------\n\nPlottie is intended to be a relatively robust and featureful tool for cutting\nand plotting using [Silhouette](https://www.silhouetteamerica.com/) plotters\nand cutters.\n\nThe official [Silhouette Studio\nsoftware](https://www.silhouetteamerica.com/software) provides a complete\nintegrated design and cutting solution. Plottie, by comparison, provides only a\ncommand-line based cutting/plotting function. All design and drawing tasks are\ndeferred to more capable tools (such as [Inkscape](https://inkscape.org/) or\n[Illustrator](https://www.adobe.com/illustrator)). Plottie also works on more\nplatforms, including Linux.\n\nThere are also numerous other unofficial tools for driving Silhouette plotters,\nmost notably [Robocut](https://github.com/nosliwneb/robocut) and\n[Inkscape-Silhouette](https://github.com/fablabnbg/inkscape-silhouette)).\nUnlike Plottie, both of these tools provide graphical interfaces and direct\nintegrations with graphics packages such as Inkscape. However, both have\nlimitations in terms of their lack of support for some SVG features (notably\nincluding text and dashed lines). Further, dealing with registration marks and\nselecting layers to print, vs those to plot is typically a fairly manual\nprocess.\n\nAs a command-line only tool, Plottie is not suited to everyone. However, for\nthose comfortable with such interfaces, Plottie may arguably be easier and\nquicker to use than the tools above, particularly given its numerous automatic\nfeatures. For particularly complex or batch jobs, Plottie can also be driven as\npart of a shell script.\n\nLicense\n-------\n\nGNU Lesser General Public License v3 (LGPLv3)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmossblaser%2Fplottie","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmossblaser%2Fplottie","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmossblaser%2Fplottie/lists"}