Skip to content
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

DXF 2000 and later support #615

Open
AleyRobotics opened this issue Oct 30, 2020 · 13 comments
Open

DXF 2000 and later support #615

AleyRobotics opened this issue Oct 30, 2020 · 13 comments

Comments

@AleyRobotics
Copy link

Please add DXF 2000 or later file format support

@easytarget
Copy link
Contributor

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
Copy link

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

@easytarget
Copy link
Contributor

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
Copy link

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
Copy link
Contributor

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:

  • It currently needs node16 & npm7+ to build. 1Gb is not enough ram (no more Pi3 builds)
  • Many dependencies are changed, remove package-lock.json and node_modules/
  • you need to force npm to install some older ddependencies,
  • run npm install --force, assuming that works run npm run bundle-dev
  • The webapp is built to ./dist
  • cd dist then python3 -m http.server 8000 to start a web server for the newly built app
  • go to 'http://localhost:8000/` and test.

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
Copy link

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
Copy link
Member

cprezzi commented Feb 9, 2022

@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
Copy link

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
Copy link
Member

cprezzi commented Feb 9, 2022

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
Copy link

Let me have a look first.

@easytarget
Copy link
Contributor

@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
Copy link
Author

Are any update on this?

@harlock999
Copy link

harlock999 commented Aug 29, 2023

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants