Inkscape Gcodetools plug-in English support forum

cnc-club.ru for English speaking users

What function should we develope next?

Можно выбрать до 5 вариантов ответа

 
 
Результаты голосования

Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Inkscape Gcodetools plug-in English support forum

Сообщение Nick »

Generated Gcode in EMC2 (1322396 просмотров) <a class='original' href='./download/file.php?id=508&sid=e5492e67a8fbd504307d4fa7b4a52138&mode=view' target=_blank>Загрузить оригинал (21.99 КБ)</a>
Generated Gcode in EMC2
TypeExtension of vector
graphics editor Inkscape
DeveloperGcodetools develop team
Written inPython
OSCross-Platform (Windows, Linux, MacOS)
Version1.6.03
LicenseGNU GPL
Downloads7800+

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 (1325320 просмотров) <a class='original' href='./download/file.php?id=130&sid=e5492e67a8fbd504307d4fa7b4a52138&mode=view' target=_blank>Загрузить оригинал (154.76 КБ)</a>
Preview of the generated Gcode in EMC
Gcodetools area pocketing (1311423 просмотра) <a class='original' href='./download/file.php?id=772&sid=e5492e67a8fbd504307d4fa7b4a52138&mode=view' target=_blank>Загрузить оригинал (147.75 КБ)</a>
Gcodetools area pocketing
Gcodetools lathe (1317744 просмотра) <a class='original' href='./download/file.php?id=642&sid=e5492e67a8fbd504307d4fa7b4a52138&mode=view' target=_blank>Загрузить оригинал (21.98 КБ)</a>
Gcodetools lathe
Gcodetools engraving by Rene (1317909 просмотров) <a class='original' href='./download/file.php?id=631&sid=e5492e67a8fbd504307d4fa7b4a52138&mode=view' target=_blank>Загрузить оригинал (233.84 КБ)</a>
Gcodetools engraving by Rene
Bears by Durachko (1253367 просмотров) <a class='original' href='./download/file.php?id=5429&sid=e5492e67a8fbd504307d4fa7b4a52138&mode=view' target=_blank>Загрузить оригинал (89.93 КБ)</a>
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
Screenshots (для просмотра содержимого нажмите на ссылку)

Screenshots

Gcodetools plug-in tutorial (2600*1300 px png ~ 700Kb) (1325323 просмотра) <a class='original' href='./download/file.php?id=127&sid=e5492e67a8fbd504307d4fa7b4a52138&mode=view' target=_blank>Загрузить оригинал (752.7 КБ)</a>
Gcodetools plug-in tutorial (2600*1300 px png ~ 700Kb)
Curve to Gcode result (1325329 просмотров) <a class='original' href='./download/file.php?id=103&sid=e5492e67a8fbd504307d4fa7b4a52138&mode=view' target=_blank>Загрузить оригинал (1023.52 КБ)</a>
Curve to Gcode result
Preview of the generated Gcode in EMC (1325320 просмотров) <a class='original' href='./download/file.php?id=130&sid=e5492e67a8fbd504307d4fa7b4a52138&mode=view' target=_blank>Загрузить оригинал (154.76 КБ)</a>
Preview of the generated Gcode in EMC
Get latest version (для просмотра содержимого нажмите на ссылку)

Get latest versions

Latest stable version Gcodetools 1.7
gcodetools.tar.gz
Gcodetools 1.7
(75.25 КБ) 102357 скачиваний
Older versions(ver 1.5)
gcodetools-1.6.tar.gz
Gcodetools 1.6
(56.6 КБ) 15102 скачивания
(ver 1.5)
gcodetools.tar.gz
Gcodetools 1.5
(21.32 КБ) 10686 скачиваний
(ver 1.4)
gcodetools.tar.gz
(14.72 КБ) 27254 скачивания
(ver 1.2)
extensions.tar.gz
(9.01 КБ) 10459 скачиваний

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:
Credits (для просмотра содержимого нажмите на ссылку)

Credits

Developers:
  • Nick Drobchenko (Nick)
  • Vladimir Kalyaev (Dormouse)
  • Henry Nicolas (Alfcnc)
  • Chris Lusby Taylor (ChrisInNewbury)
Translators:
  • John Brooker (greybeard from cnczone.com)
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.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Inkscape Gcodetools plug-in English support forum

Сообщение Nick »

Cool! I'll add this to the header of thread, if you do not mind :)!
Dan13
Новичок
Сообщения: 12
Зарегистрирован: 16 май 2012, 22:09
Репутация: 0
Контактная информация:

Re: Inkscape Gcodetools plug-in English support forum

Сообщение 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
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Inkscape Gcodetools plug-in English support forum

Сообщение 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.
Dan13
Новичок
Сообщения: 12
Зарегистрирован: 16 май 2012, 22:09
Репутация: 0
Контактная информация:

Re: Inkscape Gcodetools plug-in English support forum

Сообщение Dan13 »

Thanks for the update, Nick. Will keep waiting.

Dan
Dan13
Новичок
Сообщения: 12
Зарегистрирован: 16 май 2012, 22:09
Репутация: 0
Контактная информация:

Re: Inkscape Gcodetools plug-in English support forum

Сообщение Dan13 »

Hi Nick,

Any progress with the offset code?

Regards,
Dan
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Inkscape Gcodetools plug-in English support forum

Сообщение Nick »

Not yet :(... just have no time... hope to find some soon, it's really needed to make a release of new version...
Dan13
Новичок
Сообщения: 12
Зарегистрирован: 16 май 2012, 22:09
Репутация: 0
Контактная информация:

Re: Inkscape Gcodetools plug-in English support forum

Сообщение Dan13 »

I know what you mean. Just not enough time for everything you want to do.

Will keep waiting.

Dan
ytrewq_17
Новичок
Сообщения: 1
Зарегистрирован: 24 авг 2012, 16:29
Репутация: 0
Контактная информация:

Re: Inkscape Gcodetools plug-in English support forum

Сообщение 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
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Inkscape Gcodetools plug-in English support forum

Сообщение 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...
tomate
Новичок
Сообщения: 13
Зарегистрирован: 01 сен 2012, 22:37
Репутация: 0
Откуда: Nantes, France
Контактная информация:

Re: Inkscape Gcodetools plug-in English support forum

Сообщение 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
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Inkscape Gcodetools plug-in English support forum

Сообщение 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!
tomate
Новичок
Сообщения: 13
Зарегистрирован: 01 сен 2012, 22:37
Репутация: 0
Откуда: Nantes, France
Контактная информация:

Re: Inkscape Gcodetools plug-in English support forum

Сообщение 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.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Inkscape Gcodetools plug-in English support forum

Сообщение 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 ! :)
zkaplan
Новичок
Сообщения: 1
Зарегистрирован: 03 сен 2012, 06:41
Репутация: 0
Контактная информация:

Re: Inkscape Gcodetools plug-in English support forum

Сообщение 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
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Inkscape Gcodetools plug-in English support forum

Сообщение 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)?
tomate
Новичок
Сообщения: 13
Зарегистрирован: 01 сен 2012, 22:37
Репутация: 0
Откуда: Nantes, France
Контактная информация:

Re: Inkscape Gcodetools plug-in English support forum

Сообщение 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.
enhanced-dxfpoints.png (9041 просмотр) <a class='original' href='./download/file.php?id=7914&sid=e5492e67a8fbd504307d4fa7b4a52138&mode=view' target=_blank>Загрузить оригинал (42.13 КБ)</a>
Top view : "save shape" option
Bottom view : "draw arrow" option

Below is the patch.
Good holidays.

Tomate
enhanced-dxfpoints-patch.zip
(2.96 КБ) 726 скачиваний
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Inkscape Gcodetools plug-in English support forum

Сообщение Nick »

Thanks a lot :good:. I've patched dev version, so this enhance is available since rev. 241.
tomate
Новичок
Сообщения: 13
Зарегистрирован: 01 сен 2012, 22:37
Репутация: 0
Откуда: Nantes, France
Контактная информация:

Re: Inkscape Gcodetools plug-in English support forum

Сообщение tomate »

Thank you so much, Nick.
My first patch, yeah :good:
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.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Inkscape Gcodetools plug-in English support forum

Сообщение 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???
tomate
Новичок
Сообщения: 13
Зарегистрирован: 01 сен 2012, 22:37
Репутация: 0
Откуда: Nantes, France
Контактная информация:

Re: Inkscape Gcodetools plug-in English support forum

Сообщение 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.
Ответить

Вернуться в «English forum»