bullestock / 4xidraw Goto Github PK
View Code? Open in Web Editor NEWThis project forked from evil-mad/axidraw
Software for the AxiDraw drawing machine
License: GNU General Public License v2.0
This project forked from evil-mad/axidraw
Software for the AxiDraw drawing machine
License: GNU General Public License v2.0
InkScape Version - 1.0.2
Python Version - 3.8
OS - MacOS Big Sur 11.4
I imported this extension based off of this tutorial and I have successfully imported grbl to the arduino and i know the motors work.
What's happening is I have my .svg file in inkscape and when I press apply to run in the 4xiDraw control, nothing happens. There are no errors, its just not sending the .svg.
Here is where I press apply with a really basic shape, but nothing is being sent.
Any advice on troubleshooting or debugging this?
Traceback (most recent call last):
File "fourxidraw.py", line 1416, in
e.run()
File "/Applications/Inkscape.app/Contents/Resources/share/inkscape/extensions/inkex/base.py", line 140, in run
self.save_raw(self.effect())
File "fourxidraw.py", line 310, in effect
self.serialPort = grbl_serial.openPort(self.options.logSerial)
File "/Applications/Inkscape.app/Contents/Resources/share/inkscape/extensions/grbl_serial.py", line 90, in openPort
foundPort = findPort()
File "/Applications/Inkscape.app/Contents/Resources/share/inkscape/extensions/grbl_serial.py", line 14, in findPort
from serial.tools.list_ports import comports
File "/Applications/Inkscape.app/Contents/Resources/lib/python3.8/site-packages/serial/tools/list_ports.py", line 29, in
from serial.tools.list_ports_posix import comports
File "/Applications/Inkscape.app/Contents/Resources/lib/python3.8/site-packages/serial/tools/list_ports_posix.py", line 31, in
from serial.tools.list_ports_osx import comports
File "/Applications/Inkscape.app/Contents/Resources/lib/python3.8/site-packages/serial/tools/list_ports_osx.py", line 32, in
kIOMasterPortDefault = ctypes.c_void_p.in_dll(iokit, "kIOMasterPortDefault")
ValueError: dlsym(RTLD_DEFAULT, kIOMasterPortDefault): symbol not found
Traceback (most recent call last):
File "C:\Program Files\Inkscape\share\inkscape\extensions\fourxidraw.py", line 1431, in
e.run()
File "C:\Program Files\Inkscape\share\inkscape\extensions\inkex\base.py", line 131, in run
self.save_raw(self.effect())
File "C:\Program Files\Inkscape\share\inkscape\extensions\fourxidraw.py", line 336, in effect
self.plotDocument()
File "C:\Program Files\Inkscape\share\inkscape\extensions\fourxidraw.py", line 582, in plotDocument
sx = 1.0 / float(plot_utils.pxPerInch)
AttributeError: module 'plot_utils' has no attribute 'pxPerInch'
how can i fix this error..?
Hello,
I fixed my initial incorrect installation of this extension, but I am still having issues getting this extension to work at all without Inkscape reporting errors from Python.
I am using Windows 10 build 19041, 4xidraw release 1.2.2, and Inkscape 1.0.1.
I put the 'inkscape driver' files into the Inkscape extensions folder.
I opened Inkscape, went to Extensions > AxiDraw > AxiDraw Control...
Any plot or manual controls I tried to apply, an error constantly appeared about inconsistent indentation in axidraw.py, so I had to convert all tabs to spaces and fix some inconsistent indentation in various places.
Now, any plot or manual controls I try to apply, this error appears:
Traceback (most recent call last):
File "axidraw.py", line 35, in <module>
import ebb_serial # https://github.com/evil-mad/plotink Requires version 0.4
ModuleNotFoundError: No module named 'ebb_serial'
(Although the readme says that the extension should work directly with Inkscape 1.0.1, and that only Inkscape 0.9.x needs additional modules and extensions)
Since the error is to do with plotink, I think installing the plotink library would help the issue. However I am unsure on how to do this properly.
Last night I tried various things:
from plotink import ebb_serial
from plotink import ebb_motion
from plotink import plot_utils
Inkscape complained that it cannot find the module plotink.
from . import ebb_serial
from . import ebb_motion
from . import plot_utils
but again with no success.
Could you possibly assist with installing these plotink dependencies?
Thank you!
is there a way to cancel once drawing, I just get an error if i try to start something else
The provided instructions are ambiguous.
"To install a new extension, download and unpack the archive file. Copy the files into the directory listed at Edit > Preferences > System: User extensions. Be sure to copy the *.py, *.pyc and *.inx files from inkscape driver directly to this folder. After a restart of Inkscape, the new extension will be available."
Instead of the above, the instructions should clearly describe the proper expected hierarchy and should mention the actual folder names instead of "this folder". This is especially important since downloading the zip from git results in a 4xidraw-master.zip file containing a 4xidraw-master folder.
The foolproof way to achieve the above is simply to provide screenshots from the Inkscape extensions folder, showing all the relevant files and hierarchy. And ideally, providing a dedicated download with only the necessary and sufficient files, as opposed to the automatically packed "-master" zip.
I have max travel of 300x, 300y. In universal Gcode sender this works as expected, however the Inkscape extension always runs past the end of travel when using a4 pages. It seems its producing drawings 2x the actual size, so A4 in Inkscape becomes A2 when plotting.
Which setting should I adjust to fix this? I have already checked my grbl settings, so I suspect its related to the axidraw inkscape extension
Hi, I'm having some trouble with this extension.
On the manual control tab, "walk carriage (X)" or "walk carriage (Y)" makes the plotter travel diagonally.
Also, is there a way to set the origin of the tool or does it default to top left or right etc?
What firmware should i use in the plotter?
Is this compatible with the cnc shield? i apologize if I am missing something obvious.
I would like to convert a grbl based plotter.
Has there been any progress on getting Hatch fill to work on Inkspace 1.0+? I can only use versions above 1.0+ on the latest Mac OS.
hi, I uploaded grbl servo sketch to my uno CNC machine, It worked well
The servo can turn but only one position, doesn't seem to raise up.
my servo is china sg90 toy servo, it work well with arduino servo sample sketch but can't work properly on axidraw.
Please help.
My large, detailed prints often stops midway, and the Inkscape extensions says: "Warning: 4xiDraw movement was limited by its physical range of motion. If everything looks right, your document may have an error with its units or scaling. Contact technical support for help!"
However, I set my software limits to 5000 mm for all axis and I am printing an A4 size picture. So there is no way it ran into software limit, the warning is a false trigger and now my 2 hour drawing is incomplete. The pen did not even return to home,
It is actually happens with crosshatch style drawings, saved as a SVG file. I don't get this problem on the example drawings.
Please take a look.
Hello,
These are the steps I took:
I am using Windows 10 build 19041.
I uninstalled any previous version of Inkscape and Python I had, just in case.
I installed the latest Python 3.9.5 (64-bit) for Windows.
I installed Inkscape 1.0.1 (64-bit) as it seems to be the latest one which should work with this extension.
I then restarted for good measure...
I downloaded 4xiDraw release v1.2.2 from here, unzipped it and put the contents (4xidraw-1.2.2/) into the Inkscape user extensions folder.
I restarted again for good measure...
Plugged in the 4xiDraw, checked in Arduino IDE serial monitor to see it was indeed connected and responded to commands.
Closed Arduino IDE and serial monitor so as not to interfere.
Launched Inkscape 1.0.1.
The 4xiDraw extension is there, but the 'AxiDraw Control' and 'Hatch fill...' options are greyed out.
(A similar issue was posted but it seemed as if an older release was used)
Do you have any advice?
Thank you!
Hi, and thanks for providing such a useful extension!
I have managed to get it working with Python 3 & modern PySerial - would you be interested in a patch request for this? The main difference lies in the difference between P2 and P3 on string handling.
Thanks,
Matt
I'm just doing my first few test prints and I'm getting the same error at the end of each print:
Error: Unexpected response from GRBL.
Command: G90
Response:
Error: Unexpected response from GRBL.
Command: M3 S90
Response: Grbl 0.9i ['$' for help]
It's a little strange since I have the pen set to 45 degrees so it shouldn't even be giving the M3 S90
.
With other gcode generators I can do it but it after reaching 210mm or 300mm one of the axis wont move
heres my settings
$1 = 25 (step idle delay, msec)
$2 = 0 (step port invert mask:00000000)
$3 = 0 (dir port invert mask:00000000)
$4 = 0 (step enable invert, bool)
$5 = 0 (limit pins invert, bool)
$6 = 0 (probe pin invert, bool)
$10 = 3 (status report mask:00000011)
$11 = 0.010 (junction deviation, mm)
$12 = 0.002 (arc tolerance, mm)
$13 = 0 (report inches, bool)
$20 = 0 (soft limits, bool)
$21 = 0 (hard limits, bool)
$22 = 0 (homing cycle, bool)
$23 = 0 (homing dir invert mask:00000000)
$24 = 25.000 (homing feed, mm/min)
$25 = 500.000 (homing seek, mm/min)
$26 = 0 (homing debounce, msec)
$27 = 1.000 (homing pull-off, mm)
$100 = 80.000 (x, step/mm)
$101 = 80.000 (y, step/mm)
$102 = 250.000 (z, step/mm)
$110 = 15000.000 (x max rate, mm/min)
$111 = 15000.000 (y max rate, mm/min)
$112 = 0.000 (z max rate, mm/min)
$120 = 1200.000 (x accel, mm/sec^2)
$121 = 1200.000 (y accel, mm/sec^2)
$122 = 1200.000 (z accel, mm/sec^2)
$130 = 10000.000 (x max travel, mm)
$131 = 10000.000 (y max travel, mm)
$132 = 10000.000 (z max travel, mm)```
I want the plotter to go to its home position after each print. is thera a way to do this?
So is there an option to put the grbl command at end of each internally generated gcode?
I have installed last 4xidraw extension in Inkscape 1.2.2 with Python 3.11 and I have this error when starting Inkscape:
Extension "4xiDraw Control" failed to load because a dependency was not met.
Dependency:
type: executable
location: extensions
string: inkex.py
Any help available?
Best regards,
Rafa
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.