I have XYZ Da Vinci 1. Hacked, there is Repetier 0 Hacked. 92mod firmware and would like to use it as a drawing machine/cutter as well as a 3D printer. Some use cases: Printer mod easy to install and uninstall quickly is important to me so you can quickly switch between drawing, cutting and 3D printing. The software side is a Python script/Inkscape plugin that I wrote to convert SVG/HPGL path files to gcode that the printer can print. Material: my total cost is less than $20, not counting the printer. I chose two for versatility and easy printing Part method: the accessory clamp provides an mounting surface with a screw hole or a bonded mounting hole that can be clipped to the print head. The tool holder is then screwed or glued to it. Attachment clips need to be customized for your specific print head. Mine is XYZ Da Vinci 1. 0a. You can customize for other printers using my OpenSCAD file. Experience has shown that you have to measure, print, modify and print again. I used three tool racks. All of this needs to be printed with ABS and elastic from the built in ABSin ABS springs. Elasticity is essential to make up for surface defects ( Although you can also get some extra elasticity from the flat spring of your bed --- But it could damage your level). As long as the mounting screw/glue hole on the accessory clip is in the same position as mine, you should be able to print my tool clip without changing. I used the ABS juice ( ABS dissolved in acetone) Attach the two stand to the accessory clip. Bonds are surprisingly strong. M3 screws and nuts are used for the rest. The size of my pen holder is designed to hold up to 15mm of fabric marks, but you can change the size using the customizer of Thingiverse. All of this was designed to secure the tool in place using M3 screws and nuts. The file is printed with a nut hole. These tend to be very comfortable on my printer and I have to run a drill bit ( Sometimes just handheld) Through the screw hole, then push the nut into the hole with the screw. The good thing about doing this is that nuts tend to stay in the holes. The two- This pen holder looks cool but takes up a lot of space, which limits your print area. So I designed my low Not the holder of personal data. On my printer, because the tool is off the side of the print bed, a large chunk of the print bed cannot be used for drawing and cutting. However, there is also a large chunk of space to use if the print bed is large. In my scrap collection, I have the remains of a plywood puzzle that I stick to some extra wood that makes an extended printing platform tied to it with a bungee rope One of the benefits of doing this is that I can use a pushpin to connect the work to the wood. It\'s ugly, but it works. I won\'t use it to cut because it\'s hard to make plywood flat like a glass bed and leveling is more important for cutting. Level the printer bed. If you want to cut, level it very carefully. Connect the clip with the tool holder and insert the tool to be used. Calibration will be different for different combinations, Z- Calibration is required each time the height is adjusted as the height changes slightly. Make sure you can go home without clips, brackets or tools hitting the bed. If not, you need to do some careful hardware/software work. Now, use the printer panel or software ( I\'m using Repetier Host) Move the print head in manual mode. First, remove the print head from the bed for safety. Then locate the minimum and maximum XY coordinates of the available print area ( Make sure the printer can move freely on it without touching any clips you use to hold the work in place). There are two on my printer. Frame, coordinates minX = 10, minY = 8, maxX = 192, maxY = 150, all in mm. This is a critical moment. This is very important and I recommend doing this before each print. Find the Z coordinate that the tool will be in when drawing and cutting. To do this, please attach anything you want to draw ( Paper, fabric, etc. ) On the bed, or attach a cutting pad. Then reduce the tool very slowly until it reaches the desired height. To prevent marking an object while drawing, you can place a piece of aluminum foil between the PEN/marker pen and the object. For drawings, you want the pen to put some pressure on the drawing surface. You need to experiment in order to get the right pressure. For cutting, you want the tip of the blade to penetrate the cutting pad a little. Write down the Z coordinates. Then check how many millimeters it takes to move the tool. Usually two or 3mm elevators are OK. The less you lift, the faster printing will be. Finally, measure \"tool offset\" if you are cutting \". This is the distance from the rotary knife pivot to the far edge of the knife. Usually, this is just the width of the knife. Now you will have this data all in millimeters: there is a good chance that you will drive the printer as a drawing machine using the bundled gcodetools extension, but I ended up writing my own python scripts and extensions. 1. Make sure Inkscape is installed. 2. Download the latest version of my gcodeplot script. Drag the contents of the zip file into the extension directory of Inkscape. E. g. , C: \\ Program file \\ Inkscape \\ share \\ extension in typical Windows installation ( You will get a UAC prompt in Windows and you will need to use an account with administrator privileges; If you don\'t have an account like this, do one User installation for Inkscape). 3. Restart or start Inkscape. 4. The SVG file to be drawn or cut is loaded into Inskcape. The lower- The top left corner of the page in Inkscape corresponds to the minimum X and Y coordinates you measured in the previous step. Make sure your image is suitable for the print area. 5. Convert drawing to path: ctrl- A select everything, then select path | object to path. 6. Save to gcode: Make sure your work is connected well enough with the print bed. Here are some tips: load the gcode file into the printer control program and print it. I\'m using Repetier Host. Kill print ( Know what the reset button order is for your printer) To avoid damage, if something goes wrong. When saving gcode with my gcodeplot Inkscape extension, you can fill in the serial port name (e. g. , \"COM4\") And have it send the code to the printer at the same time. I don\'t recommend doing this at the beginning, because you don\'t have control during the sending process, and the reliability may be lower than using something like Repetier Host. But you can try it eventually. If python is installed, gcodeplot. Py can also be used directly from the command line and applied to the path-only SVG file (i. e. , Use Select-to convert an object to an SVG file of a path Then path | object-to- Path in Inkscape) Or the HPGL file. Run python gcodeplot. py ( Suppose you have python in your path and you are in the root gcodeplot directory) List the options. A particularly useful option is to adjust the x/y/z coordinates in gcodeplot. py. To do this, including--pause-at-start -- Send = portname, e in command lineg. : The printer will start, but you will get the gcodeplot command line that allows you to move the print head before any print starts. There\'s some suspension here. Mode Command: After setting the left, bottom, and working values, the drawing/cutting will be adjusted to use them. Finally, you can do a multi-color drawing using a pen control file. Make a text file. g. , named pens. Txt, the content is as follows: The general format is penNumber (OffsetX, offsetY) SvgColor description: if you include--pens=pens. Txt on your gcodeplot. Py command line, gcodeplot. Py will match the color in the drawing to the closest color in the pen file and insert the pause command in the gcode for pen changes. The challenge is either to make sure the pen reaches the same distance ( If you send gcode to a printer using a 3rd-party program like Repetier Host, you have to do so)or else re- Z- Coordinate using the pause of gcodeplot-mode commands (i. e. , Move the print head to the correct working position using the zinc or z n command-- Protective work with aluminum foil-- Then do the work = z). I haven\'t tested multiple color features yet because I haven\'t used it yet.