Страница 19 из 32
Inkscape Gcodetools plug-in English support forum
Добавлено: 10 дек 2009, 10:28
Nick

- Generated Gcode in EMC2
| Type | Extension of vector
graphics editor Inkscape |
| Developer | Gcodetools develop team |
| Written in | Python |
| OS | Cross-Platform (Windows, Linux, MacOS) |
| Version | 1.6.03 |
| License | GNU GPL |
| Downloads | 7800+ |
Gcodetools
Gcodetools is a plug-in for Inkscape. It prepares and converts paths from Inkscape to Gcode, using biarc interpolation.
This article is unfinished. You can help cnc-club expanding it.
Screenshots and photos are needed. Please post them at this thread.
Features (для просмотра содержимого нажмите на ссылку)Features

- Preview of the generated Gcode in EMC

- Gcodetools area pocketing

- Gcodetools lathe

- Gcodetools engraving by Rene

- Bears by Durachko
Export to Gcode- Export paths to Gcode
- Using circular (biarc approximation) or straight line interpolation
- Automatic path subdivision to reach defined tolerance
- Multiply tool processing
- Export Gcode in parametric of flat form
- Including personal headers and footers
- Choosing units
- Multi-pass processing
- Numeric suffix is added to generated files to avoid overwriting
Lathe Gcode- Compute trajectories for lathe
- Fine cut
- Define fine cut's depth
- Define fine rounds
- Two different computation functions for fine cut
- Standard axis remapping
Path's area processing- Building area paths
- Area paths could be modified
Engraving- Building trajectory according to the cutter's shape
- Defining different cutter's shapes
Tool's library- Defining different tool's parameters (diameter, feed, depth step, penetration feed, personal Gcode before/after each path, cutters shape, personal tool's changing Gcode)
- Tools can be managed by Inkscape's standard procedures (copy, delete, assigned to different layer)
- Multiply tools processing
Orientation system- Applying scale along any axis
- Apply rotate in the ХY plane
- Apply translation along any axis
- Apply transforms according to arbitrary points
Post-processor- You can create custom post-processor by writing down the commands or choose from the list of default post-processors
- Scale and offset Gcode
- Gcode commands remapping
- Parameterize Gcode
- Round floating point values to specified precision
Verifying tools for the scene- Select and remove small paths (area artefacts)
- Tool's alignment check
- Cutting order check
Plotter cutting- Export to Gcode for plotter with tangential knife. Forth axis A is knife's rotation.
Install (для просмотра содержимого нажмите на ссылку)Install
Windows
Unpack and copy all the files to the following directory Program Files\Inkscape\share\extensions\ and restart inkscape
Linux
Unpack and copy all the files to the following directory /usr/share/inkscape/extensions/ and restart inkscape
Get latest version (для просмотра содержимого нажмите на ссылку)Get latest versions
Latest stable version
Gcodetools 1.7
Older versions(ver 1.5)
(ver 1.5)
(ver 1.4)
(ver 1.2)
Dev-version
You can try the newest development version by getting it from github repository
https://github.com/cnc-club/gcodetools via web interface or using
git clone git@github.com:cnc-club/gcodetools.git .
You'll need to run
python create_inx.py to create inx files. After that install procedure is the same with the stable version.
Translations
Gcodetools is included into Inkscape v 0.49 so it will have native translations as other Inkscape's extensions. Until it is released you can use some self made translation packs:
Develop (для просмотра содержимого нажмите на ссылку)Develop
At the moment following features are being developed:
- Plasma cutter extension
- Turning lathe extension
- Plotter extension
You can help us improve Gcodetools in several ways
- Writing a report / bug report
- Improve help and manuals
- Publish G-codes / SVGs / other code
- Publish photos / videos
- Make a bug report
- Help develop new features
- Suggest a new feature
Tested on (для просмотра содержимого нажмите на ссылку)Tested on
Linux
Ubuntu 9.10 14.04 + inkscape 0.48 (older Gcodetools versions also work with 0.46, 0.47)
Windows
Windows XP, Windows Vista, Windows 7 + inkscape 0.46, inkscape 0.47
MacOS
There are some reports on successful work on MacOs.
Re: Inkscape Gcodetools plug-in English support forum
Добавлено: 22 май 2012, 18:49
Nick
Cool! I'll add this to the header of thread, if you do not mind

!
Re: Inkscape Gcodetools plug-in English support forum
Добавлено: 22 май 2012, 22:39
Dan13
Beautiful work!
Nick,
How is the testing of the new offsetting code going? Were you able to successfully offset the file I attached?
Regards,
Dan
Re: Inkscape Gcodetools plug-in English support forum
Добавлено: 22 май 2012, 22:57
Nick
I've got a lot of work now... Just tried offset on that Liam path. Got python error on path that looks pretty simple... Probably a kin of bug... This is needed to work out.
Re: Inkscape Gcodetools plug-in English support forum
Добавлено: 23 май 2012, 11:25
Dan13
Thanks for the update, Nick. Will keep waiting.
Dan
Re: Inkscape Gcodetools plug-in English support forum
Добавлено: 08 июл 2012, 21:48
Dan13
Hi Nick,
Any progress with the offset code?
Regards,
Dan
Re: Inkscape Gcodetools plug-in English support forum
Добавлено: 10 июл 2012, 10:54
Nick
Not yet

... just have no time... hope to find some soon, it's really needed to make a release of new version...
Re: Inkscape Gcodetools plug-in English support forum
Добавлено: 10 июл 2012, 11:10
Dan13
I know what you mean. Just not enough time for everything you want to do.
Will keep waiting.
Dan
Re: Inkscape Gcodetools plug-in English support forum
Добавлено: 24 авг 2012, 16:42
ytrewq_17
Hi Nick
installed your extension and after some searching got it in the right place (apololgies, I am an computer simpleton)
made a sqare in inkscape, object to path, nodes, made the lines straight etc
then path to gcode, saved as .gcode
uploaded into Pronterface to drive Reprap based XY plotter (Arduino/Ramps/Marlin firmware)
got this message:
the print goes from 24.190474 mm to 116.920637 mm in X
and is 92.730163 mm wide
the print goes from 124.177788 mm to 224.971440 mm in Y
and is 100.793652 mm wide
the print goes from 25.000000 mm to 50.000000 mm in Z
and is 25.000000 mm high
Estimated duration (pessimistic): 0 layers, 00:00:00
Reset.
Print Started at: 15:18:22
echo:Unknown command:"N0 %*123"
echo:Unknown command:"N1 (Header)*97"
echo:Active Extruder: 0
echo:Unknown command:"N5 (Header end.)*4"
Error:No Checksum with line number, Last Line:6
Resend:7
Error:No Checksum with line number, Last Line:6
Resend:7
Error:No Checksum with line number, Last Line:6
Resend:7
Error:No Line Number with checksum, Last Line:6
The Marlin does not see any layers
The Marlin firmware is used to feed slices of a 3d object into the hardware- is this a gcode flavour problem?
Please if you have a solution, speak to me with easy words!
thx br
Carel
Re: Inkscape Gcodetools plug-in English support forum
Добавлено: 24 авг 2012, 17:25
Nick
It looks like problem with Reprap Gcode interpreter.
It seems that it does not support comments, or any other than G01 G02 Gcodes.
You can try to remove anything except G01 and G02-3 Gcodes and see will it work or not...
Re: Inkscape Gcodetools plug-in English support forum
Добавлено: 01 сен 2012, 23:14
tomate
Hello,
First, I'd like to thank all the developers of Gcodetools. I use it several times a week since I got a 3-axis mill for my job, 1 and a half year ago.
I noticed that Gcodetools does the drilling operations with a G01 move.
This is sometimes a problem, especially when drilling deep holes with a router bit : the spindle can easily slow down, or even stop !
There are special Gcodes for drilling like
G73 and
G83.
So I made a small modification on Gcodetools source code to allow the user to choose the Gcode to use on drilling.
It adds a choice of drilling strategy in the options tab.
Here are the patches :
Код: Выделить всё
--- gcodetools-dev.inx 2012-09-01 18:50:24.010904548 +0200
+++ gcodetools-tomate.inx 2012-09-01 18:42:44.186907225 +0200
@@ -40,7 +40,11 @@
<param name="comment-gcode" type="string" _gui-text="Comment Gcode:"></param>
<param name="comment-gcode-from-properties" type="boolean" _gui-text="Get additional comments from object's properties">False</param>
<param name="debug-level" type="string" _gui-text="Debug level">0b0000000</param>
-
+ <param name="drilling-strategy" type="optiongroup" _gui-text="Drilling Strategy">
+ <option value='drillg01'>G01 : drills straight to the bottom of the hole</option>
+ <option value='drillg73'>G73 : drills with small upward moves on each step</option>
+ <option value='drillg83'>G83 : drills with complete retract moves on each step</option>
+ </param>
</page>
<!-- Gcodetools: /options block -->
Код: Выделить всё
--- gcodetools-dev.py 2012-09-01 18:50:33.070904494 +0200
+++ gcodetools-tomate.py 2012-09-01 18:28:02.242912362 +0200
@@ -4851,6 +4851,8 @@
self.OptionParser.add_option("", "--tools-library-type", action="store", type="string", dest="tools_library_type", default='cylinder cutter', help="Create tools definition")
self.OptionParser.add_option("", "--dxfpoints-action", action="store", type="string", dest="dxfpoints_action", default='replace', help="dxfpoint sign toggle")
+
+ self.OptionParser.add_option("", "--drilling-strategy", action="store", type="string", dest="drilling_strategy", default='drillg83', help="d")
self.OptionParser.add_option("", "--help-language", action="store", type="string", dest="help_language", default='http://www.cnc-club.ru/forum/viewtopic.php?f=33&t=35', help="Open help page in webbrowser.")
@@ -5839,7 +5841,12 @@
def print_dxfpoints(points):
gcode=""
for point in points:
- gcode +="(drilling dxfpoint)\nG00 Z%f\nG00 X%f Y%f\nG01 Z%f F%f\nG04 P%f\nG00 Z%f\n" % (self.options.Zsafe,point[0],point[1],self.Zcoordinates[layer][1],self.tools[layer][0]["penetration feed"],0.2,self.options.Zsafe)
+ if self.options.drilling_strategy == 'drillg01':
+ gcode +="(drilling dxfpoint)\nG00 Z%f\nG00 X%f Y%f\nG01 Z%f F%f\nG04 P%f\nG00 Z%f\n" % (self.options.Zsafe,point[0],point[1],self.Zcoordinates[layer][1],self.tools[layer][0]["penetration feed"],0.2,self.options.Zsafe)
+ if self.options.drilling_strategy == 'drillg73':
+ gcode +="(drilling dxfpoint)\nG00 Z%f\nG73 X%f Y%f Z%f R%f Q%f F%f\n" % (self.options.Zsafe,point[0],point[1],self.Zcoordinates[layer][1], self.options.Zsafe, self.tools[layer][0]["depth step"], self.tools[layer][0]["penetration feed"])
+ if self.options.drilling_strategy == 'drillg83':
+ gcode +="(drilling dxfpoint)\nG00 Z%f\nG83 X%f Y%f Z%f R%f Q%f F%f\n" % (self.options.Zsafe,point[0],point[1],self.Zcoordinates[layer][1], self.options.Zsafe, self.tools[layer][0]["depth step"], self.tools[layer][0]["penetration feed"])
# print_(("got dxfpoints array=",points))
return gcode
Thanks again,
Tomate
Re: Inkscape Gcodetools plug-in English support forum
Добавлено: 02 сен 2012, 00:47
Nick
Wow! thanks!
Are you familiar with bazaar or do you have account at launchpad.net? I can grant you permissions to push this or any future improvements to the main branch!
Re: Inkscape Gcodetools plug-in English support forum
Добавлено: 02 сен 2012, 09:22
tomate
Hello Nick,
No. I have no launchpad account, and I don't know bazaar at all.
It is the first time I ever propose a patch !
And I have very basic coding skills, so I am afraid I won't be able to help much more in future.
Re: Inkscape Gcodetools plug-in English support forum
Добавлено: 02 сен 2012, 12:50
Nick
Doube wow

.
Taking into account all you've just written, how have you managed to get the right place in our "messy code" to make the patch?
PS I'll try not to forget to push your patch into main stream, I'm in the vocation right now, writing from the airport

.
PS Thanks !

Re: Inkscape Gcodetools plug-in English support forum
Добавлено: 03 сен 2012, 06:43
zkaplan
Hi Nick,
Your plugin looks amazing. When I try to run gCode in inkscape I get this response. Does this mean I did something wrong?
Traceback (most recent call last):
File "gcodetools.py", line 6749, in <module>
gcodetools.affect()
File "C:\Program Files\Inkscape\share\extensions\inkex.py", line 211, in affect
self.parse()
File "C:\Program Files\Inkscape\share\extensions\inkex.py", line 139, in parse
self.document = etree.parse(stream)
File "lxml.etree.pyx", line 2692, in lxml.etree.parse (src/lxml/lxml.etree.c:49594)
File "parser.pxi", line 1522, in lxml.etree._parseDocument (src/lxml/lxml.etree.c:71582)
File "parser.pxi", line 1552, in lxml.etree._parseFilelikeDocument (src/lxml/lxml.etree.c:71892)
File "parser.pxi", line 1435, in lxml.etree._parseDocFromFilelike (src/lxml/lxml.etree.c:70807)
File "parser.pxi", line 997, in lxml.etree._BaseParser._parseDocFromFilelike (src/lxml/lxml.etree.c:67948)
File "parser.pxi", line 539, in lxml.etree._ParserContext._handleParseResultDoc (src/lxml/lxml.etree.c:63824)
File "parser.pxi", line 625, in lxml.etree._handleParseResult (src/lxml/lxml.etree.c:64745)
File "parser.pxi", line 565, in lxml.etree._raiseParseError (src/lxml/lxml.etree.c:64088)
lxml.etree.XMLSyntaxError: Document is empty, line 1, column 1
Re: Inkscape Gcodetools plug-in English support forum
Добавлено: 03 сен 2012, 19:18
Nick
Hmmm it looks like thera are some problems with inkscape. What versions of inkscapeand Gcodetools are you using? And what system (win or linux and version)?
Re: Inkscape Gcodetools plug-in English support forum
Добавлено: 09 сен 2012, 20:15
tomate
Hi Nick,
I hope that your holidays are fine.
Please forget the previous patch I posted here.
I worked a little bit more on DXF points and made the creation of them easier.
With this new patch, it is now possible to create a group of multiple dxf points out of a path.
If the path is not closed, all the nodes, except the ending one, will be converted to dxf points ( this allows creation of a single dxf point ).
If the path is closed, all the nodes will be converted to dxf points.
Top view : "save shape" option
Bottom view : "draw arrow" option
Below is the patch.
Good holidays.
Tomate
Re: Inkscape Gcodetools plug-in English support forum
Добавлено: 17 сен 2012, 14:34
Nick
Thanks a lot

. I've patched dev version, so this enhance is available since rev. 241.
Re: Inkscape Gcodetools plug-in English support forum
Добавлено: 17 сен 2012, 15:29
tomate
Thank you so much, Nick.
My first patch, yeah
I created a launchpad account, and asked to join the team.
I am working on another small improvement :
The user can add a "depth" tag to a path or dxfpoint in the XML tree editor, that will override the default Z depth of the orientation points.
This way, it is possible to generate one Gcode to mill objects to different depths.
Tomate
PS : here are a few pics of
my work with gcodetools.
Re: Inkscape Gcodetools plug-in English support forum
Добавлено: 17 сен 2012, 19:16
Nick
I've added you to the team, so now you can make patches directly to the code.
According different depth for the paths, you can do it right now using colors and depth function. See the path to Gcode tab.
As of now there are three parameters which are send to the function - c (color), d (z-depth) and s (z-surface). Color is color intencity [0;1].
So you can use something like this:
10 if 0<c<1 else 100 or 10
It's defined here using lambda function:
http://bazaar.launchpad.net/~gcodetools ... v.py#L5891
tomate писал(а):PS : here are a few pics of my work with gcodetools.
Wait a minute, all of that guitar was made with Gcodetools???
Re: Inkscape Gcodetools plug-in English support forum
Добавлено: 17 сен 2012, 20:01
tomate
Thanks, Nick.
I'll have a look at Bzr to learn how it works.
Your solution seams powerful, but I am afraid I didn't understand how it works yet.
I will do some testing to get it.
Yes, all the guitar body and headstock was made with gcodetools and LinuxCNC.
The neck carving was made by hand.
I use very few 3D milling, since 3D modeling is much more work.