Code Monkey home page Code Monkey logo

wcb-ink's Introduction

wcb-ink's People

Contributors

berleant avatar oskay avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

wcb-ink's Issues

Handle case with no named layers

Idea: Paint in black?
Idea: Suggest running auto-color extension?
Idea: Add option setting, that allows you to specify which color un-named content will be painted in.

[Feature Request] wipe out excess paint drop

Just like in real painting by hand it is very common to wipe out a drop of excess paint/water after the brush got refilled. This results in a way more precisely drawing experience.

It would be fantastic if the inkscape add-on could handle such behaviour.

One of the three water container could be abused as an dispose container for
those excess drops. A new brush remove-excess-drop-position would be necessary too.

The moment of the wipe out should be right after the refill, after the brush got dipped/wiped into the paint.

Right after the refill the brush moves to a empty water container and moves down to a position where the brush's hair is slightly beneath the edge of that container. In the next step the brush moves across that edge and wipes away the drop of excess paint.

From here starts the actual painting process.

Mac installer assumes Inkscape is in /Applications

The installer assumes Inkscape is in /Applications . It should be using Launch Services to find the path to the installer.

Workaround: move Inkscape to /Applications . Install. Put Inkscape back where you wanted it.

Implement resume capability

  1. Upon "pause" (PRG) button press, stop moving and raise pen. Do not return home.
  2. For resume tab: Behavior upon "Apply" determined by choice of radio button:

-- Option A: Return to home corner (only)
-- Option B: Resume (Still at paused location)
-- Option C: Resume (From Home Corner)

Edit apparent page size

Trying to paint at exactly 8x11 inches can lead to bumping into the walls, depending on exact robot dimensions and calibration. Possibly revise total print area down slightly, or change location of print box slightly.

Add option for backtracking after reinking

Due to the length of the bristles (default brush), when the carriage lifts to reink, then sets the brush back down to complete a given line, you are left with a gap in the line that does not get painted.
This may be acceptable for shorter bristled brushes, pens, pencils, etc., but i believe it would be a "nice-to-have" option in the WCB extension to backtrack from the reink point % (var.) inches before setting back down. This should close the gap.

Error Message after "Apply" on Control WaterColorBot Extension

In Inkscape, when I go to the extension menu> Control WaterColorBot extension> the window appears> I click "apply"> it gives this error message:

Inkscape has received additional data from the script executed. The script did not return an error, but this may indicate the results will not be as expected.

Traceback (most recent call last):
File "wcb.py", line 1843, in
e.affect()
File "C:\Program Files\Inkscape\share\extensions\inkex.py", line 268, in affect
self.effect()
File "wcb.py", line 374, in effect
self.plotToWCB()
File "wcb.py", line 880, in plotToWCB
self.recursivelyTraverseSvg( self.svg, self.svgTransform )
File "wcb.py", line 1057, in recursivelyTraverseSvg
w = float( node.get( 'width' ) )
ValueError: invalid literal for float(): 100%

My WaterColorBot is plugged into a power source and my laptop. I have Inkscape and the Control WaterColorBot extension downloaded. I have restarted the laptop several times and unplugged the bot several times. Each time I open the test file with some shapes and font to test the above message appears and the device does not print. What can I do to resolve this message? Thank you for any help!

Add per-layer water dip control

Currently, layer name is used only to manage which color will be painted. It could also be used to control give per-layer control over water dipping while in Watercolor style painting modes.

For example,
2@-Red
3&-Orange

Where the symbol following the number would be interpreted to control that layer's water usage in watercolor or watercolor+post-dip modes.

Suggested symbols:
Symbol "&" : Force water dip after re-inking brush (that layer only)
Symbol "@": Disallow water dip after re-inking brush (that layer only)

Layers tab: Extra washes & colors before painting

When painting from the Layers tab, say, layer 6-blue, with watercolor style enabled, the robot re-inks and washes with the color for each previous layer, rather than skipping directly to the blue paint.

Update installers for Inkscape 0.91

Inkscape 0.91 will be released soon ("weeks to months"), and we would like to be ready. The current installer is not compatible with Inkscape 0.91.

Todo:

Check compatibility of Inkscape extensions with 0.91
Update installers with new file locations for 0.91.

For MacOS, the location of extensions in Inkscape 0.48.5 is:
/Applications/Inkscape.app/Contents/Resources/extensions/

However, in 0.91 the new location is:
/Applications/Inkscape.app/Contents/Resources/share/inkscape/extensions

See also evil-mad/EggBot#19

Getting python errors on OSX w/ 1.3.2

When I click Apply (for anything), I get the following error:

Traceback (most recent call last): File "wcb.py", line 1586, in <module> e.affect() File "/Applications/Inkscape.app/Contents/Resources/share/inkscape/extensions/inkex.py", line 265, in affect self.getposinlayer() File "/Applications/Inkscape.app/Contents/Resources/share/inkscape/extensions/inkex.py", line 207, in getposinlayer x = self.unittouu( xattr[0] + 'px' ) File "/Applications/Inkscape.app/Contents/Resources/share/inkscape/extensions/inkex.py", line 351, in unittouu return retval * (self.__uuconv[u.string[u.start():u.end()]] / self.__uuconv[self.getDocumentUnit()]) File "/Applications/Inkscape.app/Contents/Resources/share/inkscape/extensions/inkex.py", line 304, in getDocumentUnit p = param.match(svgwidth) TypeError: expected string or buffer

Map painting depth to stroke width

Future versions of Inkscape will support a feature called "powerstroke" that allows for creating and editing strokes with variable width. This could potentially be used to control the height of the paintbrush above the paper, during each stroke.

More 'aggressive' wash cycle

The wash "cycle" doesn't seem to be aggressive enough to prevent tainting the palette - I'm wondering if there is a way to send a separate brush-up/down amount to the device for a wash. For example if the default up position is 60 and the default down position is 21, then those numbers would apply to pre-dip, re-ink, and plotting, however, for the wash cycle, perhaps use 60 and 10 so that the bristles spread out on the bottom of the petri dish. This should allow for the paint in the brush to be rinsed out more completely at the end of the cycle before going to the next color in the palette.

Possible error when printing off-page data

Issue reported when using Hershey Text. New "text" (actually curves produced by the Hershey Text extension) produced off page.

Produced a "crash" (python error) when trying to print this on the WCB.

Re-Order colors for plotting from light to dark.

Using the Y, O, R, G, B, V, Br, Bl order offers cleaner colors and less contamination on the palette.
img_3387

Rather than plotting 8-1, use 4, 3, 2, 5, 6, 7, 8, 1 to accomplish this order. Maybe just added as an option tick-box?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.