aboutsummaryrefslogtreecommitdiff
path: root/cad/k40-whisperer
diff options
context:
space:
mode:
authorMateusz Piotrowski <0mp@FreeBSD.org>2018-09-19 22:44:36 +0000
committerMateusz Piotrowski <0mp@FreeBSD.org>2018-09-19 22:44:36 +0000
commit01f18e89f14c4dd6ea357d7e6d1adab4a3c719a6 (patch)
treee0a07cdc8fb7672f88bb5d73ff00a8a540d0b7b9 /cad/k40-whisperer
parent1dbe597583985eedb3b61aa1e8a58fadf636ca49 (diff)
downloadports-01f18e89f14c4dd6ea357d7e6d1adab4a3c719a6.tar.gz
ports-01f18e89f14c4dd6ea357d7e6d1adab4a3c719a6.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
Notes
Notes: svn path=/head/; revision=480119
Diffstat (limited to 'cad/k40-whisperer')
-rw-r--r--cad/k40-whisperer/Makefile67
-rw-r--r--cad/k40-whisperer/distinfo3
-rw-r--r--cad/k40-whisperer/files/k40-whisperer.in5
-rw-r--r--cad/k40-whisperer/files/pkg-message.in5
-rw-r--r--cad/k40-whisperer/pkg-descr21
-rw-r--r--cad/k40-whisperer/pkg-plist28
6 files changed, 129 insertions, 0 deletions
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