diff options
author | 0mp <0mp@FreeBSD.org> | 2018-09-20 06:44:36 +0800 |
---|---|---|
committer | 0mp <0mp@FreeBSD.org> | 2018-09-20 06:44:36 +0800 |
commit | ef4ba0070a100df18643db54891d4c6b609fc10c (patch) | |
tree | e0a07cdc8fb7672f88bb5d73ff00a8a540d0b7b9 /cad | |
parent | 336be1e02334303702e547bf5d081dda76a0f927 (diff) | |
download | freebsd-ports-gnome-ef4ba0070a100df18643db54891d4c6b609fc10c.tar.gz freebsd-ports-gnome-ef4ba0070a100df18643db54891d4c6b609fc10c.tar.zst freebsd-ports-gnome-ef4ba0070a100df18643db54891d4c6b609fc10c.zip |
New port: cad/k40-whisperer
GUI control software for the stock K40 laser cutter controller
K40 Whisperer is an alternative to the Laser Draw (LaserDRW) program that
comes with some Chinese laser cutters. It reads SVG and DXF files,
interprets the data and sends commands to the K40 controller to move the
laser head and control the laser accordingly. K40 Whisperer does not
require a USB key (dongle) to function.
Features:
- Reads SVG files and DXF files.
- Splits input design based on color formatting (red, blue).
- In SVG files blue and red paths are interpreted as vectors for vector
engraving and cutting. Everything else is transferred as a raster image.
- In DXF files blue paths are interpreted as vector engrave (blue).
Everything else is interpreted as vector cut (red).
- Performs cuts on features inside of other features before cutting the
outside features. (If you cut the outside first the part might drop out
of the stock material.)
- Converts gray scale images to halftone images to simulating varying
levels of gray (i.e. engraving pictures). The Halftone option needs to be
selected under "Raster"-"Settings" to enable halftoning.
WWW: http://www.scorchworks.com/K40whisperer/k40whisperer.html
PR: 228466
Reviewed by: mat (mentor)
Approved by: mat (mentor)
Sponsored by: Warsaw Hackerspace
Differential Revision: https://reviews.freebsd.org/D16339
Diffstat (limited to 'cad')
-rw-r--r-- | cad/Makefile | 1 | ||||
-rw-r--r-- | cad/k40-whisperer/Makefile | 67 | ||||
-rw-r--r-- | cad/k40-whisperer/distinfo | 3 | ||||
-rw-r--r-- | cad/k40-whisperer/files/k40-whisperer.in | 5 | ||||
-rw-r--r-- | cad/k40-whisperer/files/pkg-message.in | 5 | ||||
-rw-r--r-- | cad/k40-whisperer/pkg-descr | 21 | ||||
-rw-r--r-- | cad/k40-whisperer/pkg-plist | 28 |
7 files changed, 130 insertions, 0 deletions
diff --git a/cad/Makefile b/cad/Makefile index d9ef14cb4d73..2ccc50b71275 100644 --- a/cad/Makefile +++ b/cad/Makefile @@ -44,6 +44,7 @@ SUBDIR += irsim SUBDIR += iverilog SUBDIR += jspice3 + SUBDIR += k40-whisperer SUBDIR += kicad SUBDIR += kicad-devel SUBDIR += kicad-library diff --git a/cad/k40-whisperer/Makefile b/cad/k40-whisperer/Makefile new file mode 100644 index 000000000000..bde1c92f69c6 --- /dev/null +++ b/cad/k40-whisperer/Makefile @@ -0,0 +1,67 @@ +# $FreeBSD$ + +PORTNAME= k40-whisperer +DISTVERSION= 0.19 +CATEGORIES= cad python +MASTER_SITES= http://www.scorchworks.com/K40whisperer/ +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} +DISTNAME= K40_Whisperer-${DISTVERSION}_src + +MAINTAINER= 0mp@FreeBSD.org +COMMENT= GUI control software for the stock K40 laser cutter controller + +LICENSE= GPLv3+ +LICENSE_FILE= ${WRKSRC}/gpl-3.0.txt + +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}lxml>0:devel/py-lxml@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pillow>0:graphics/py-pillow@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}usb>0:devel/py-usb@${PY_FLAVOR} + +USES= python:2.7 zip + +OPTIONS_DEFINE= DOCS + +NO_BUILD= yes + +WHISPERER_COMMAND= ${PORTNAME} +SUB_FILES= pkg-message ${WHISPERER_COMMAND} +SUB_LIST= PYTHON_CMD=${PYTHON_CMD} WHISPERER_COMMAND=${WHISPERER_COMMAND} +PLIST_SUB= WHISPERER_COMMAND=${WHISPERER_COMMAND} + +DATA= bezmisc.py \ + CC.png \ + cspsubdiv.py \ + cubicsuperpath.py \ + down.png \ + dxf.py \ + egv.py \ + emblem64 \ + ffgeom.py \ + g_code_library.py \ + inkex.py \ + interpolate.py \ + k40_whisperer.py \ + left.png \ + LL.png \ + LR.png \ + nano_library.py \ + right.png \ + simplepath.py \ + simplestyle.py \ + simpletransform.py \ + svg_reader.py \ + UL.png \ + up.png \ + UR.png + +DOCS= README_Linux.txt \ + README_MacOS.md + +do-install: + ${INSTALL_SCRIPT} ${WRKDIR}/${WHISPERER_COMMAND} ${STAGEDIR}${PREFIX}/bin + @${MKDIR} ${STAGEDIR}${DATADIR} + ${INSTALL_DATA} ${DATA:S,^,${WRKSRC}/,} ${STAGEDIR}${DATADIR} + @${MKDIR} ${STAGEDIR}${DOCSDIR} + ${INSTALL_DATA} ${DOCS:S,^,${WRKSRC}/,} ${STAGEDIR}${DOCSDIR} + +.include <bsd.port.mk> diff --git a/cad/k40-whisperer/distinfo b/cad/k40-whisperer/distinfo new file mode 100644 index 000000000000..edda5c5923a7 --- /dev/null +++ b/cad/k40-whisperer/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1527085070 +SHA256 (K40_Whisperer-0.19_src.zip) = c688cf1746aa391b6a9d4cfb3e66c2f183d1f45da88a2770e8ddefac44349193 +SIZE (K40_Whisperer-0.19_src.zip) = 121328 diff --git a/cad/k40-whisperer/files/k40-whisperer.in b/cad/k40-whisperer/files/k40-whisperer.in new file mode 100644 index 000000000000..dde305e83828 --- /dev/null +++ b/cad/k40-whisperer/files/k40-whisperer.in @@ -0,0 +1,5 @@ +#! /bin/sh - +# +# $FreeBSD$ + +exec %%PYTHON_CMD%% %%DATADIR%%/k40_whisperer.py diff --git a/cad/k40-whisperer/files/pkg-message.in b/cad/k40-whisperer/files/pkg-message.in new file mode 100644 index 000000000000..3f65a81f00a3 --- /dev/null +++ b/cad/k40-whisperer/files/pkg-message.in @@ -0,0 +1,5 @@ +At the moment K40 Whisperer has to be run as root unless devd(8) is properly +configured. Some notes on how it is handled on macOS and Linux can be +found in %%DATADIR%%. + +K40 Whisperer can be launched with a `%%WHISPERER_COMMAND%%` command. diff --git a/cad/k40-whisperer/pkg-descr b/cad/k40-whisperer/pkg-descr new file mode 100644 index 000000000000..aaecf78eb812 --- /dev/null +++ b/cad/k40-whisperer/pkg-descr @@ -0,0 +1,21 @@ +K40 Whisperer is an alternative to the Laser Draw (LaserDRW) program that comes +with some Chinese laser cutters. It reads SVG and DXF files, interprets the +data and sends commands to the K40 controller to move the laser head and +control the laser accordingly. K40 Whisperer does not require a USB key +(dongle) to function. + +Features: +- Reads SVG files and DXF files. +- Splits input design based on color formatting (red, blue). +- In SVG files blue and red paths are interpreted as vectors for vector + engraving and cutting. Everything else is transferred as a raster image. +- In DXF files blue paths are interpreted as vector engrave (blue). + Everything else is interpreted as vector cut (red). +- Performs cuts on features inside of other features before cutting the outside + features. (If you cut the outside first the part might drop out of the stock + material.) +- Converts gray scale images to halftone images to simulating varying levels of + gray (i.e. engraving pictures). The Halftone option needs to be selected + under "Raster"-"Settings" to enable halftoning. + +WWW: http://www.scorchworks.com/K40whisperer/k40whisperer.html diff --git a/cad/k40-whisperer/pkg-plist b/cad/k40-whisperer/pkg-plist new file mode 100644 index 000000000000..e418bbc483df --- /dev/null +++ b/cad/k40-whisperer/pkg-plist @@ -0,0 +1,28 @@ +bin/%%WHISPERER_COMMAND%% +%%PORTDOCS%%%%DOCSDIR%%/README_Linux.txt +%%PORTDOCS%%%%DOCSDIR%%/README_MacOS.md +%%DATADIR%%/CC.png +%%DATADIR%%/LL.png +%%DATADIR%%/LR.png +%%DATADIR%%/UL.png +%%DATADIR%%/UR.png +%%DATADIR%%/bezmisc.py +%%DATADIR%%/cspsubdiv.py +%%DATADIR%%/cubicsuperpath.py +%%DATADIR%%/down.png +%%DATADIR%%/dxf.py +%%DATADIR%%/egv.py +%%DATADIR%%/emblem64 +%%DATADIR%%/ffgeom.py +%%DATADIR%%/g_code_library.py +%%DATADIR%%/inkex.py +%%DATADIR%%/interpolate.py +%%DATADIR%%/k40_whisperer.py +%%DATADIR%%/left.png +%%DATADIR%%/nano_library.py +%%DATADIR%%/right.png +%%DATADIR%%/simplepath.py +%%DATADIR%%/simplestyle.py +%%DATADIR%%/simpletransform.py +%%DATADIR%%/svg_reader.py +%%DATADIR%%/up.png |