# The OpenEmbroidery software: a free machine embroidery design interface OpenEmbroidery software is a part of the OpenEmbroidery system wich include OSHW OpenEmbroidery module and the [openembroidery.com](http://openembroidery.com) website ## Important This software is in an early-stage development status, not yet in alpha version (core functionnalities). There is no ihm menu nor buttons, more details below under [Current IHM](#CurrentIHM). ## Prerequisites on Linux * Needs Bluetooth development packages * glfw library * CMake * libpakal (included) On debian-based systems: sudo apt-get install libbluetooth-dev cmake gcc-c++ ## License OpenEmbroidery is released as opensource software under CeCILL licence ## First build ``` mkdir -p libPakalPersist/build cd libPakalPersist/build cmake .. make -j4 cd ../.. mkdir build cd build cmake .. make -j4 ``` ## Current IHM Your view is an embroidery XY plan of infinite size, you can import vector drawing (svg format, from Inkscape or Adobe Illustrator) and move or resize them. These drawings will be the skeleton of your embroidery. A virtual frame of 10x10cm is displayed on your drawing and let you evaluate the actual size of your design and your stitches. First grid has squares of 1x1cm, and when you zoom in a second grid of 1x1mm appears. Based on your drawing, you will do stitches actions, you start one by pressing the corresponding key binding and go to next action step by pressing Enter. Each step is action-specific and described below. ``` TODO: Note: only your drawing shapes edges will be used. TODO: Note: you can edit your curves a little bit. ``` ### View: translate, zoom in and out * Translate view: hold mouse middle button, then drag and release * Zoom in: mouse scroll up * Zoom out: mouse scroll down Note: zoom is centered on screen center, not on mouse ! ### Element selection * Select all elements in an area: mouse left button and drag, everything fully inside selecting rectangle is taken * Select with a simple left click: svg curve, curve control points, stitches (everything) * Add to selection: hold Shift when selecting * Remove from selection: hold Ctrl when selecting A red rectangle surround selection. Selected elements are highlighted. Selected svg curves shows their control points. ### Move, resize and delete elements * Delete: press Suppr key Svg curves selected can be moved and resized at your ease with handles on your selection rectangle: * Move: drag the cross on top left corner * Resize: drag the arrow on top left corner ### Curve edit, point move, vector edit TODO ### Save/load and undo Current state of save and load is really rough. * Save: Ctrl+s, save your file to ../roger.oe * Load: Ctrl+o, open your file from ../roger.oe Note: "../" means upper directory from where you ran the openEmbroider executable. If you ran the software from it's build directory, roger.oe file will be in source directory. Note: this file format is not yet finalized nor decided. This means your current file **will** be unusable one day. It will be stable with the alpha version. * Undo: Ctrl+z, undo last action. Known bug: actions **MUST** be finished, don't undo while creating a stitch ! ### Action stich: line A line stitch is an embroidery following svg lines. This stitch embroid a pattern along svg lines and can jump between thems. Press key b to activate line stitch mode. A red dot now follow your cursor and find the nearest curve to snap on. You can drag the part of line you want with a drag and drop. You can jump to another curve as you like, when you have finished just press enter. Your line is now created, but you can adjust starts and ends of lines by dragging them if you want to. Default stitch pattern is a straight line, but you can try the nine available patterns by selecting your stitch and press keypad buttons 1 to 9. (keypad only, **not** other number keys). TODO: Note: svg closed curve key r to reverse. TODO: Note: howto change pattern parameters with +/- and Ctrl +/-. ### Action stich: birail TODO ### Action stich: fill TODO