LaserWeb / LaserWeb4

Collaborative effort on the next version of LaserWeb / CNCWeb
GNU Affero General Public License v3.0
706 stars 191 forks source link

DXF 2000 and later support #615

Open AleyRobotics opened 3 years ago

AleyRobotics commented 3 years ago

Please add DXF 2000 or later file format support

easytarget commented 2 years ago

A quick, belated, note that this is one of the issues addressed in my recent work; you can see a preview here: https://easytarget-org.github.io/lw-mods-preview/ , I hope this will make it to the main code base in the near future.

harlock999 commented 2 years ago

Any update on this? I'd like to give it a spin if possible.

easytarget commented 2 years ago

It will be done when it is done; in the meantime you can try the preview listed above. It produces viable gcode that can be saved and then imported & run via web UI's, ugs, etc..

harlock999 commented 2 years ago

Thank you for your work easytarget, I have few modifications I'd like to share (working piercing function, partially working use of XHC HB04B MPG pendant) but it sounds like the fork you are working on has some major rework. That's why I'm seeking to coordinate. I'm also new to javascript and github. I wouldn't mind some mentoring on best practices.

easytarget commented 2 years ago

I'm also new to javascript and github. I wouldn't mind some mentoring on best practices.

No worries, I'll try and be useful.

TL;DR

The fork/branch I have worked on is here: https://github.com/easytarget-org/LaserWeb4 and can be cloned and built:

One of my next commits is to add a 'building the frontend' guide, I wrote the above as a quickref to base that on.

I do not intend to add any new features; this is at my personal 'rc1' status. But yes the changes are extensive (though pretty lightweight in most cases, stuff like adding help tooltips has affected many files).

I also need to get this working in electron, rebase to the dev-es6 branch and bump versions etc. it wont be instant. Sorry for being non-committal but I do not want to make promises I cannot keep.

PS: The gcode generator stuff is a bit of a tangled mess where several different plans and architectures have collided. But it's pretty 'pure' javascript without a lot of framework stuff to deal with, once the release is out it would be a good idea for me to brain-dump an architecture diagram for this. There are dragons lurking in the shadows there. Also see: https://github.com/LaserWeb/LaserWeb4/wiki/How-to-Contribute

harlock999 commented 2 years ago

Awesome, thanks for this. I'm using Debian Bullseye by the way on a Amazon bought Quotom Q355g4 with 8gb ram and SSD. At the price I got there wasn't much point to fiddle with RPi. Will look into this soon.

cprezzi commented 2 years ago

@harlock999 I have implemented support for XHC HB04 into lw.comm.server several years ago (including DRO display). Check out MPG branch of lw.comm-server, if your curious how I did it. ;)

I's activated by setting mpgType=HB04 in config.js or by defining MPG_TYPE=HB04 as environment variable. All the code for it is in server.js.

harlock999 commented 2 years ago

Thanks Claudio, I'll definitely have a look. The HB04 is a bit different than the HB04B so the bitmapping is different. But for communication level I will check because right now I had to hack the node-usb in some not-very-elegant way: some functions were dumbing down USB comms too much and I didn't had access to the special code the HB04B was requiring. I tried also to put the MPG at the web browser client level like the gamepad but I couldn't get much done due to some precompiler requirement that the web browser wouldn't do.

cprezzi commented 2 years ago

I implemented it server side, because the machine is also connected to the server and this is where the MPG is used. If you like it, I could probably pull over my additions to the actual master branch.

harlock999 commented 2 years ago

Let me have a look first.

easytarget commented 2 years ago

@harlock999 Both myself and @cprezzi hang out on MakerForums (see all the links in readme's etc), there is a development forum there and you can seamlessly login via github authentication. I'll be making some posts there summarising my next steps asap.

I get the need to get this all commited asap, and free the dev-es6 branch for other developers.

AleyRobotics commented 1 year ago

Are any update on this?

harlock999 commented 1 year ago

I've been using @easytarget fork for the front end over a year now, albeit I'm saving into R12 format. I'm using my server for HB04B MPG support and it's quite reliable for what I do. Waiting for @easytarget to find time and pull everything into the dev-es6 branch.