LASERWEB3 is available! See https://github.com/openhardwarecoza/LaserWeb3 for details!
laserweb / deprecated-laserweb2 Goto Github PK
View Code? Open in Web Editor NEWDeprecated: use http://github.com/openhardwarecoza/LaserWeb3 instead
Deprecated: use http://github.com/openhardwarecoza/LaserWeb3 instead
LASERWEB3 is available! See https://github.com/openhardwarecoza/LaserWeb3 for details!
When I set the quadrant to top left, SVG files are placed correctly, but bitmaps still place in bottom left.
I started with a big svg, scalled it, set tool offset to 0, then changed position.
Hit generate G-code. position is ignored
Change tool offset to 0.1 or more or less then hit generate G-code. position is applied.
@openhardwarecoza I just want to know if you have any thoughts on this issues before I start making changes.
The Go server portion of SPJS is binding to only IPv6 on my computer ( I use IPv6 so I don't want to disable it) The spjs.js file in LaserWeb2 does not support IPv6 address format ( e.g. [::1] ). I can look into resolving this. But I wanted your input before making changes.
Since the last merge, files that generated the raster and preview and gcode in less than a minute are now taking much longer (5 -10 minutes to complete the process, or even causes a hang sometimes). The raster seems to generate just as quick, but creating the gcode and displaying the preview seems to be where the bottleneck is. Not sure what has happened, but it definitely feels broken.
Zoom in to the raster and youll notice that the calculated path has slight offset to the left.
Is this:
affecting the actual location of the raster
its a bug from the image preview
Its part of the code originally intended by @nathanielstenzel
Else?
@mkeyno so lets talk (:
I can compile lw2 down to a single file. We are also working on Fabrica, see arthur wolf's posts on google plus (follow me on google plus too).
That parts easy. Hosting the file from an esp, probably possible but it could be a few mb so we'll have to see.
The first thing we need is a websocket server to serial bridge on the esp8266 first. You can't telnet from the browser and http requests have too much overhead.
Once we have that, i can start porting the code from laserweb1 since its node.js app acted as websocket to serial bridge.
At the end of the day, dont worry too much about it. You can already play with laserweb2 live on http://openhardwarecoza.github.io/LaserWeb2
Can we get LW to show the file name in use
I get this error when opening svg files
TypeError: fileParentGroup is undefined
(http://openhardwarecoza.github.io/LaserWeb2/js/fileprep.js on line 72)
Error after pressing prepare raster
ReferenceError: startgcode is not defined
(http://openhardwarecoza.github.io/LaserWeb2/js/laserraster.js line 77)
Added G92 in LW options thinking i had to. Same result
The travel moves setting does not want to save after I enter a value of 1000. It reverts to the greyed out default of 2000, and keeps telling me I have an incomplete config file.
Creating the communication layer between laserweb2 and TinyG - TinyG2
We need to prevent refresh page if isconnected
I am in the process of testing LaserWeb and am choosing the controller firmware had hardware, however there do not seem to be any clear directions yet.
Based on tickets support for Marlin/Smoothieware/Grbl is under development and thus would be a good idea to nicely display what id the default, most operational path.
Happy to prepare this, just ping your replies which firmware should be the best choice.
I am putting object at 0,0 on scale and offset tasks. Doesnt always worth though so needs rethinking. Positioning is ignored on these moves too.
@rafffel reminded me that we want LaserWeb to eventually be a full cam solution:
https://github.com/openhardwarecoza/LaserWeb/issues /118 relates.
But basically, the framework is there
js/threegcode.js is your friend (:
Transfer from LaserWeb/deprecated-LaserWeb1#93
@cojarbi submitted a SVG that doesnt work
@Gustavvr wanted to help out so creating issue to track this
Notes:
Add a configurable field to https://github.com/openhardwarecoza/LaserWeb2/blob/gh-pages/index.html#L560 (handle the saving and loading to Localsettings here too https://github.com/openhardwarecoza/LaserWeb2/blob/gh-pages/js/main.js#L193
translation functions: https://github.com/openhardwarecoza/LaserWeb2/blob/gh-pages/js/fileprep.js#L77 - here it puts it at 0,0 - but if we implement the Origin change we need to do that calculation here...
The way the gcode generator works in LW2 is that we create and move the threejs objects to where we want it. When I run the gcode generator over the threejs geometry it does a localtoWorld to get the coordinates in the scene for each vertex (: (so less math)
Consider adding 250000 baud as an available option. It's a common baud rate, and seems to be more stable than 230400 for some users on USB serial UART clones.
I will gladly wait a few more seconds for the gcode to be generated if I can get X seconds back with an optimized Gcode (for batches with more than one run)
http://xyzbots.com/gcode-optimizer/
There is a few command line toolq on github too.
We might have to think about a laserweb api.
Otherwise this will become hard to maintain.
Here some quick ideas.
laserWeb.settings = {...} // object containing all the settings
laserWeb.settings.set('x', 15000) // a way to set the settings, this way we can also trigger events
laserWeb.settings.set('homingCommand', '$H')
laserWeb.controller.home() // home your machine
laserWeb.raster
laserWeb.dxf
laserWeb.gcode
laserWeb.controller
laserWeb.trigger('WPos',{x:231,y:541,z:9})
This is more testable :-)
The UI would hook into the laserWeb object
When I try and load an svg file I get the following error:
TypeError: Cannot read property 'position' of undefined
(http://openhardwarecoza.github.io/LaserWeb2/js/fileprep.js on line 72)
When I open an SVG file, it correctly places it in the upper left quadrant, but bitmaps always open on lower left quadrant.
Maybe I'm just too stupid, but how do I start LaserWeb2?
The instructions from LW1 don't work:
´´´
C:\Users...\LaserWeb2>node server
module.js:338
throw err;
^
Error: Cannot find module 'C:\Users\Tobias\Entwicklung\Microcontroller\LaserWeb2\server'
at Function.Module._resolveFilename (module.js:336:15)
´´´
Best regards
Tobias
Selecting SVG produces the following " ReferenceError: drawSVG is not defined (http://openhardwarecoza.github.io/LaserWeb2/js/googlesignin.js on line 123)"
DXF load without issues
BMP and jpg don't show at all
Maybe show a pop-up like touchpad to select file im afraid that a long list will move the whole left side of the interface down.
Did you apply a maximum? I just added a folder inside the drive and reduced the files showen minus one but does not show the folder
Is it possible to change the layout of this buttons to reflect X and Y in a cross pattern instead of side by side?
I need someone to help moving raster from laserweb1 to laserweb2
Other important places in old code https://github.com/openhardwarecoza/LaserWeb/blob/master/i/index.html#L110 and
https://github.com/openhardwarecoza/LaserWeb/blob/master/i/main.js#L2494 and https://github.com/openhardwarecoza/LaserWeb/tree/master/i/raster contains most of the functions
settings module:
https://github.com/openhardwarecoza/LaserWeb/blob/master/i/main.js#L2428 and https://github.com/openhardwarecoza/LaserWeb/blob/master/i/index.html#L849
Preview size bounding box https://github.com/openhardwarecoza/LaserWeb/blob/master/i/main.js#L2521
Another cool thing in LaserWeb2 is a new progress bar - https://github.com/openhardwarecoza/LaserWeb2/blob/gh-pages/lib/gcode-viewer/gcode-parser.js#L208 for example. See
https://github.com/rstacruz/nprogress for details - which looks a lot better than the one in LW1
In grbl you can receive the size of your cnc by asking the settings. The grbl object already contains the size of the cnc after you send $$
command, by storing all the data into it's memory.
It could or should set the size of the cnc in laserweb.
Since I'm gonna start implementing the TinyG & TinyG2 object, we should think about a flow to retrieve data from our controllers to have a validation layer in laser web that generates better gcode that does not try to go faster or is not going to hit the limits of the machine.
Need help from a grbl owner with a bit of JS experience to add some more if statements below
https://github.com/openhardwarecoza/LaserWeb2/blob/gh-pages/js/spjs.js#L197
you can get sample code from https://github.com/openhardwarecoza/LaserWeb/blob/master/server.js#L329 and https://github.com/openhardwarecoza/LaserWeb/blob/master/i/main.js#L2011 - I just dont have a grbl machine at hand to test with :)
In laserweb1 we had the functionality split between server.js (pushed it as posStatus to main.js) and main.js (updated UI) - in laser this just all happens in the frontend - otherwise mostly copy/paste
If I open a file, then open a second one, it does not clear the first one from the display, it overlays the first one over the second one. Then if you open a 3rd one it overlays over the first 2.
After saving the selection nothing happens. Only after refresh
Convert to maintain scale from source design a
If i load a file but then change the original and load again without refreshing the browser it wont update itself. This can cause problem while connected
Found this on the web:
http://projects.nickstakenburg.com/tipped/documentation
If you implement this in the overall design, I can go through and add context sensitive tool tips where they make sense, makes for a much more user friendly app in my opinion.
Calling @lautr3k...
See https://github.com/openhardwarecoza/LaserWeb2/blob/gh-pages/js/grbl.js and https://github.com/openhardwarecoza/LaserWeb2/blob/gh-pages/test/grbl.js
Do you feel up for for helping out? (I'm thing smoothie-happy)
It would be great if raster engravings could be output in G7 format as done by Turnkeytyranny. The advantage over a number of G1 commands are first of all faster engravings due to different internal handling. A proper implementation in the laser controller will also make sure that intensity stays correct even when accelerating motor or if motor should stutter.
I dont think this is a big effort, laserraster.js need some additions. The syntax is rather easy
Open a large image, like a HD photo in jpg, png.
Generate raster and keep track of the browser's memory usage - it will grow with GBs when the path rendering is created. For a large enough photo the browser will crash.
I assume that the problem is in the area of number of THREE lines, a 1000x1000 photo may need 1 million lines with bad luck, usually less, but a lot of lines anyway.
I have no working experience with THREE but I assume it would help to group the lines into lines with many vertices with different colors.
I intend to look into this the coming days.
This is a complete dump of the terminal running a complete job.
Tested 57600, 115200, 230400 and 250000 ( this last one did not connect )
Always chokes on 300 aprox lines remaining in the queue
Smoothie with marlin buffer.zip
.
I get this when loading an svg or inkscake svg
Same file in LW1 works ok.
LW2 copy.svg.txt
LW2P copy.svg.txt
TypeError: Cannot read property 'position' of undefined
(http://openhardwarecoza.github.io/LaserWeb2/js/fileprep.js on line 72)
I have a problem .
How to run the LaserWeb2 locally on Rasspberry Pi.(like LaserWeb2)
Which server(app or software) need to installed.
Can you help me?
I think my issue is specifically with Marlin, but I am seeing artifacts in some grayscale burns. It is not due to acceleration as I have tried constant feed speeds where no acceleration is needed. I think the issue might be with the 16 command look ahead limit in marlin. If there are to many pixel intensity changes to close together, the laser stops moving for a split second as marlin catches up. The reason I think this is the issue is because I do not see a problem with the calibration pattern which does not have a large number of intensity changes in very quick succession. Has anyone else seen this?
If I open a bitmap and generate the raster, then change the dpi and re generate the raster, it overlays the new view over the original view.
I have a CHIP that I invested in a few months ago, and I feel that it would be perfect to serve as the head for my laser cutter. However, I'm running into difficulty figuring out how to get the software running as a local ad-hoc server (similar to the octopi project). Does anyone have any insight as to how to get this running in such a way? Or might I be completely off base?
Joe ( @prcdslnc13 ) reported that LaserWeb2 on Windows fails to connect to the device. We need to get rid of the /dev/ (;
I keep getting this error when trying to open bitmaps:
TypeError: evt.target.files[0] is undefined (http://openhardwarecoza.github.io/LaserWeb2/js/main.js on line 391)
I have tried about 30 different bitmaps, always with the same result.
All the jog buttons work, however I cannot make it home using the home button. Also the abort job button only works about 50% of the time for me.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.