-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Is this project still alive? #1
Comments
I did some work on my eggbot a few weeks ago (as easter was approaching 😉). The software is functional, but not very user friendly. You can use the following steps to use it:
Did you build an eggbot yet? The main problem i ran into was the cheap stepper motors "28BYJ-48" use a gear, which has a gear backslash. This makes the pen "fall over" when gravity pulls it over to the other side of the gear backslash. So I guess the few more euros/dollars for other stepper motors might actually be worth it. So in short: yes the project is still alive, I'll probably work on it every year around easter 😄. Feel free to open Issues/PRs when you find something not working. |
I did build eggbot using good Nema 11 steppers. |
The Nema 11 looks like a standard 4 wire stepper, you should be able to use the repo without changes.
Yeah, a nice feature would be for the ESP to host a web server with the interface and also receive commands via websockets or an http upload instead of netcat. Looking at my local repo i found some unpushed path optimization code which i worked on during GPN18, not sure if it fully works though 😅 |
I had to change document.getElementById("image").innerHTML = e.target.result; to document.getElementById("image").outerHTML = e.target.result; in ui.js to make it work. |
I'm sorry for bothering you so much. I'm trying to implement "curves" and I have few questions... I have a very fast JavaScript function that accepts xyxyxyxyx.. array of "Bezier Curves" from svg path and returns calculated array of points that can be connected to draw actua curve. The calculations based on Bernstein algorithm. So for example if you pass all points (max 32) (including M points) from d="M 80,40 C 80,62.09139 62.09139,80 40,80 17.90861,80 0,62.09139 0,40 0,17.90861 17.90861,0 40,0 62.09139,0 80,17.90861 80,40 z" Let me know if you can help me to integrate this function in to the code . EDIT---------------------------------------------------------------
|
Hmm it would be a great idea to bring curve support to the front end. But the most important function I assume the |
360 is how many lines are coming back. Where should I send a .js file? it's a couple of supporting functions it it as well. By the way, have you check https://github.com/deanm/nanosvg (C SVG parser) and https://github.com/deanm/nanosvgjs (JavaScrip port)? Allegedly it's supports most SVG functionality. |
Here we go. |
Bump... |
Sorry, im currently in a very busy week, I'll try to get time for this on the weekend |
Alright, cubic beziers are working. However there is still some work todo:
I used a small svg with a cubic bezier curve for testing (mostly stolen from here): <?xml version="1.0" standalone="no"?>
<svg width="2048" height="512" viewBox="0 0 500 400"
xmlns="http://www.w3.org/2000/svg" version="1.1">
<path d="M 100,200 C 100,100 250,100 250,200 C 250,300 400,300 400,200" />
</svg> p.s.: do you have a video of your eggbot drawing? I would love to see it & use it in the readme etc. if thats ok for you? |
I played a little with nanosvgjs (javascript port of nanosvg) over the weekend, and now I can successfully generate g-code from pretty much any svg file I can find. Nanosvg parses svg and outputs a list of cubic bezier shapes, and then I convert these cubic beziers to line points using function that I posted earlier (10 lines looks more than enough). Oh, I output actual g-code because I want to verify that output is correct. This is what I use to visualize g-code
The only thing left to do is auto-scale down output to fit the actual egg. p.s. |
I uploaded complete working sample of the above. Please check it out here As a proof of concept I'm actually drawing the converted SVG on canvas. So it is very possible to send these commands directly to ESP one by one using ajax. |
This looks very interresting! What does the original svg look like? Are the shapes already consisting out of lines? Or does nanosvg convert them? According to the nanosvg spec it converts svg to only cubic bezier curves. This makes me wonder wether a simple line converted to cubic beziers and then to lines using BizelCurve would result in a single gcode instruction or in multiple? |
I uploaded svg's into folder in my repository (https://github.com/evomotors/SvgToGCode/tree/master/test/sample%20svg%20files), they are normal svgs. I tried bunch of them. nanosvg converts them to collection of chapes that contains collection of paths (cubic bezier curves points) and BizelCurve takes them and converts to lines. Result is one g-code file. I'm working to optionally generate multiple g-code files for multicolored svgs EDIT: |
My hope is to create standalone eggbot, so even my 6 year old son will be able to use it from his tablet. e.g. (start drawing from the button click on the web page) |
updates to https://github.com/evomotors/SvgToGCode. Now you can download individual g-code files separated by color. |
If you are interested, I made a complete standalone NodeMCU EggBot |
Hey, today i received a mail from someone interested in the eggbot. He uses windows so he had some trouble using EggEsp from Edge. And i guess there will be even more trouble sending the instructions to the ESP. |
I'm very interested.
The text was updated successfully, but these errors were encountered: