video https://www.youtube.com/watch?v=r1E0YM2vJuk
You will need a version of Inkscape that can be found here https://inkscape.org/
You will also need the Axidraw Utility that can be found here: https://wiki.evilmadscientist.com/Axidraw_Software_Installation
Step 1: Prepare DocumentWe will create a new document and then use document properties to set the page size. In this case we want a 6" x 6" page.
Step 2: Create the text objectsCreate your text objects with the text tool.
Set their size, font and position.
We will paste our image in our document and position it were we want.
Step 3.1: Trace the ImageUse the trace bitmap tool
Select the image and set the threshold.
note: that having the Live updates checkbox checked helps a lot and will automatically update the preview when setting the threshold
Finally delete the bitmap image that was traced as we no longer need it.
First to make things easier to see we will change our view to Outline
Then we want to use the Object to Path
tool
Then convert all the objects to paths
For the Thank you for subscribing to our campaign text we want to create something that looks more like handwriting.
Make sure you have installed the Axidraw Tools to your instance of Inkcape. The Axidraw Utility that can be found here: https://wiki.evilmadscientist.com/Axidraw_Software_Installation
We will be using the Hershey Text...
tool.
To begin we are going to generate a font table so we may choose the font we wish to use.
In the Utilitys tab make sure you have Generate font table
selected. Then hit apply and a font table will be created on your document.
Once we have chosen the font we want we need to find the ID
of the text object we wish to convert.
We need to use the Object Properties...
tool in the Object menu
With the tool open, we need to select the object we want to convert and get it's ID
Back in the Hershey Text
tool we can now fill in the ID for our text and we also want to make sure we select the Font face we chose earlier from the font table 📷
And we have completed the conversion.
Finally we can delete the font table
Step 6: Hatch Fill FontsTo hatch fill we will be using the Hatch Fill
tool in the axidraw utilities
Once the dialog is opened choose your options. The most important options will be:
- Hatch Spacing: this is the spacing between the lines
- Hatch angle: this is the angle from which the lines will be drawn
- Connect Nearby Ends: This will connect the ends making
With the object selected hit apply and the hatch fill will be created.
After the hatch has been created we will want to make sure to ungroup the hatch from the outline.
Step 7: Bold TextWe are going to make the Crowd Supply logo look bold and for that we are going to inset the path and create multiple paths for the robot to draw, creating darker looking font
First Select the text you want to make bold and we will create a duplicate. You can think of this operation like copy and paste in one operation. After complete the copy will be in the exact place as the original.
Use the duplicate tool, or you can press ctrl + d
Once a duplicate is created we will inset the path with the Inset
tool in the Path menu. Or you can press ctrl + (
.
We will repeat this a few times until we have the look we are wanting.
The current parser needs all straight lines, so we are going to need to convert all the curves to straight lines.
The first step in this part we need to select all the objects and combine them. We will be using the Combine
tool in the Path menu. Or you can press ctrl + k
.
Now that all the paths are one object we can take away any curves and convert them to lines. We will use the Approximate Curves by Straight Lines...
tool in the Extensions => Modify Path menu. 0.1 is a fine value. You can make the number bigger if you want the lines to be larger.
We can now export the gcode from inkscape with the Path to Gcode...
tool.
Set filename and directory for the exported file by setting these options:
- File: This will be the filename. You can have the extension be anything you want, but should keep it as 'gcode' as good practice.
- Directory: This is the folder where the file will be saved. You can choose any place you like. If you don't want to choose something like 'C:' would be fine as it will just go in the root directory.
- Add numeric suffix to filename: It is good practice just to leave this checked as it will keep you from overwriting a file if you forget to change something (ask me how I know)
Set Cutting Order and Path Sorting.
- Cutting Order: Subpath by Subpath is fine here, it will ignore if a path is in some other object and will go to wherever is closest.
- Sort paths to reduce rapid distance: this will make the code choose the closest path to whatever is closest. (default is to go by layer order)
Please note that you must have the tab on Path to Gcode
for this operation to function correctly
Press Apply
and the file will be exported.
A view of the toolpath will now be visible
You can find the inkscape2scara canvas here: https://floe.evezor.com/ide/666d3aa8a81388b6canv
The program can be run here: https://floe.evezor.com/pyscript/666d3aa8a81388b6canv?core=mpy
In this program we will be taking the Gcode file from inkscape and converting it to a list of orders that Tobor will run.
The program In the program itself you can see that there are a series of GuiCodeEditors and GuiCodeViewers separated by some logic blocks.
The editors and viewers are places we can put and see the code itself and the viewers will actually render their code in the 3Dviewer
Functionally we put the raw gcode from Inkscape in the ink_sender
parameter.
From there the Inkscape
parameter will convert the gcode to orders and will also change the tool_on
and tool_off
events to some other orders of our choosing.
After that we have a viewer where we can see the original code after trasformation and we move the code to where we want with a CncTranslator
parameter. That parameter also has 3 more connected parameters of type GuiFloat
that will allow the input of new values on the fly.
Then there is another Gui3dViewer
, called translated
; that will show what the robot will actually draw. After that the code is sent to a ScaraKinematics
parameter which will do the inverse kinematics transformations that tobor will actually run.
a_output
is the final parameter of type Gui3dViewer
where we can save and view the actual code that tobor will run.
The program can be run here: https://floe.evezor.com/pyscript/666d3aa8a81388b6canv?core=mpy
When running the canvas you can see at the top we have a 3D viewer that will display code in 3D.
We also have a series of Parameters that are imports and viewers for code in various stages of the export.
- a-output: this is where the final code that we will send to Tobor will be created
- ink_sender: this is where we will put the original gcode file from Inkscape
- original: this is what the code looks like after it is imported from the inkscape gcode file, but is now a series of orders
- translated: this is what the code will actually look like when and where Tobor will draw it.
- rotate, x_offset, y_offset: these are the numbers we can put in to move and rotate where the actual drawing will take place.
You may either drop the file into the code editor or you may browse for the file you wish
Now you can see that there is gcode in the viewer. We will now press Submit
on the ink_sender parameter to process the file.
We can now see that all the parameters have been populated with code.
And we can see that the 3dViewer has been populated
But the file as is will be drawn right under the robot (which we cannot do). So we will change the values to move the drawing.
The drawing is roughly 150mm x 150mm so we will change the value of x_offset
to -75 to center and y_offset
to -300 to move it way out front.
We have also changed the colors of some of the views to better differentiate the different views. Original is still green, the translated view is pink, and the transformed version that tobor will run is in yellow.
We are now ready to export the code in a_output
and send to Tobor.
Also note how you can still make out the drawing even though it's the code that is the angle of the joints! It just skews all straight lines to curves.
Step 11: DrawYou are now ready to have Tobor just run the file.
You can find the inkscape2scara canvas here: https://floe.evezor.com/ide/666d3aa8a81388b6canv
The program can be run here: https://floe.evezor.com/pyscript/666d3aa8a81388b6canv?core=mpy
Comments
Please log in or sign up to comment.