Live data from Hacker News

CNC milling with open source software

opensource.com

101–110 of 133 posts

Re: CNC milling with open source software

#101
post #33

G-code is the most hilariously bad language. Keywords are G + a number, e.g. G01, with wildly different effects, varying arg lists and no standard. E.g. G01 move to position, G20 set the machine units to inches. Its often stateful. Obviously its coz its old and works, but i chuckle everytime i have to look up the codes at how comically awful it is compared to anything else i see https://en.m.wikipedia.org/wiki/G-code

What would a good G-Code variant look like? For all its flaws, it's pretty good at encoding the exact thing you want the CNC machine to do and while there certainly are different post-processors for different machines and in most cases they're not optional, it's also not like they're entirely different. I think of G-code as ASM. For high-performance work you might write code differently for different (related) machin…

Not really, it cant do helical cuts.

Re: CNC milling with open source software

#102

Earlier quoted context omitted.

Is there any reason why CNC machines aren't directly controlled by CAM software, beyond it always having been done that way? I'd think it would be useful to integrate the two, instead of the CAM software just firing-and-forgetting toolpaths.

(I have built and worked on a lot of CNC mills, routers, etc) In some cases, it is. There are integrated CAM + Machines depending on industry and price point. (see woodwop, etc, which are the interface to the machine) The motion planning aspects can be taken care of (despite other comments), beckhoff, for example, does real time plc on windows machines by isolating cpus away from windows. i have no problem using it a…

Low-level control your machine from your CAM workstation in the office building will never make much sense (where the CAM software directly talks to servos).

I would prefer my (probably expensive) machine to kind of "know" what it's physical limits are and guarantee that executed commands adhere to them.

Re: CNC milling with open source software

#103
post #102

Earlier quoted context omitted.

(I have built and worked on a lot of CNC mills, routers, etc) In some cases, it is. There are integrated CAM + Machines depending on industry and price point. (see woodwop, etc, which are the interface to the machine) The motion planning aspects can be taken care of (despite other comments), beckhoff, for example, does real time plc on windows machines by isolating cpus away from windows. i have no problem using it a…

Low-level control your machine from your CAM workstation in the office building will never make much sense (where the CAM software directly talks to servos). I would prefer my (probably expensive) machine to kind of "know" what it's physical limits are and guarantee that executed commands adhere to them.

It depends on what you are talking about here. CNC is used for a lot.

The assumption that there is a cam workstation, and that it's in an office building, is certainly not one i would make. I wouldn't also say "will never make much sense".

You seem to have some particular set of users in mind for which you believe it wouldn't make sense. Okay - i'm not sure that changes that there are plenty of sets of users for which it will?

I even gave you examples of high end wood machines that have CAM directly integrated. There are many.

(They can also be programmed offline, but)

As for "knowing" the physical limits.

That's not actually possible since it there is no way to self-configure it even if everything did talk to each other. They don't know their own physical orientations (and it would be very expensive/hard to do that, and you'd still be guessing in the end)

Most of the non-safety/accessory programming is essentially explaining enough of the physical orientation and placement of things to the motion control that it can do something.

Re: CNC milling with open source software

#104
post #89

Earlier quoted context omitted.

Yeah, you'd still definitely want to look at the toolpaths. As far as recalculating everything, it could still calculate most of it ahead of time. What I'm thinking of is something like a CAM workspace in FreeCAD. That is, something like would let you take your model, generate and inspect a toolpath (or flip through possible toolpaths), and produce a part. The CAM software would get feedback from the controller, so i…

It should not be that hard to export current axis positions and get it into FreeCAD. Look at machinekit, they have remote control and toolpath display. Pause/run/start, override of feed and spindle speeds also is easy. Detecting chatter is not that easy. Slowing down may be wrong, sometimes it is better to speed up. Doing on-the-fly adjustments of toolpaths in CAM integrated into a machine control would be a major re…

"Detecting chatter is not that easy. Slowing down may be wrong, sometimes it is better to speed up."

Errr? Detecting chatter is easy, and in fact, the latest spindles output the current tool vibration rate over your choice of fieldbus. That's fairly basic, much more advanced things are done.

"Doing on-the-fly adjustments of toolpaths in CAM integrated into a machine control would be a major research project."

Why? Toolpaths are already adjusted on the fly. Integrating CAM does not make this particularly harder - any of these machines have hardware motion planning anyway. Adding another FPGA or two to accelerate 5 axis movement calculation would not materially change their cost.

Re: CNC milling with open source software

#105
post #7

I've been looking for a home PCB machine and would appreciate any recommendations on what to look at or what to avoid. I've been told multiple times that it's easier to just have a service print your board which is probably true, but that would take a lot of fun out of the entire process for me.

I've yet to see anyone make a test board on CNC that wouldn't have been made quicker and with better quality by using photoresist boards and etching them. And I have a pretty decent CNC mill.

Anything with non-trivial edge cuts are advantageous to do on a CNC mill. Of course one can also combine, as long as one has the registration skills.

Re: CNC milling with open source software

#106
post #102

Earlier quoted context omitted.

Low-level control your machine from your CAM workstation in the office building will never make much sense (where the CAM software directly talks to servos). I would prefer my (probably expensive) machine to kind of "know" what it's physical limits are and guarantee that executed commands adhere to them.

It depends on what you are talking about here. CNC is used for a lot . The assumption that there is a cam workstation, and that it's in an office building, is certainly not one i would make. I wouldn't also say "will never make much sense". You seem to have some particular set of users in mind for which you believe it wouldn't make sense. Okay - i'm not sure that changes that there are plenty of sets of users for whi…

English is not my first language, so forgive me if I'm a bit ambiguous, it's not the intention.

CAM workstation (running some "generic" CAM package with machine specific configuration) in some office building was the precondition, in that case it will never make much sense to control a machine's servos from that workstation, in my opinion.

Integrating the CAM within the machine itself is something else, and yes, stuff like that existed for very long time, but that is something completely different IMHO.

The machine controller "knows" the physical limits because somebody configured it (and "locked" it). It would be hard to guarantee the integrity of this configuration if you put it on an arbitrary workstation to run CAM and machine control.

Re: CNC milling with open source software

#107
post #106

Earlier quoted context omitted.

It depends on what you are talking about here. CNC is used for a lot . The assumption that there is a cam workstation, and that it's in an office building, is certainly not one i would make. I wouldn't also say "will never make much sense". You seem to have some particular set of users in mind for which you believe it wouldn't make sense. Okay - i'm not sure that changes that there are plenty of sets of users for whi…

English is not my first language, so forgive me if I'm a bit ambiguous, it's not the intention. CAM workstation (running some "generic" CAM package with machine specific configuration) in some office building was the precondition, in that case it will never make much sense to control a machine's servos from that workstation, in my opinion. Integrating the CAM within the machine itself is something else, and yes, stuf…

There will always be some sort of interface between CAM and other design tools and the physical apparatus to execute assembly. I think we're all just being pedantic in this thread; is it likely you're going to hook your workstation directly to the multi-axis mill? No. Is it more likely we're going to have some sort of queue and bus that'll allow you to send more complex instruction sets to assembly systems? I think so (based on my interaction with a firm who is doing this for high precision additive manufacturing). What that looks like is going to depend on the complexity of your shop floor, and manufacturing demands.

Re: CNC milling with open source software

#108

If you're interested in Open-Source CNC you should check out two of my Open-Source projects. https://camotics.org/ a CNC simulator and https://buildbotics.com/ a CNC controller. I'm somewhat surprised neither of these were mentioned.

Camotics is wonderful, thanks! I did have some problems testing some super complicated toolpaths (millions of lines long) though...

Re: CNC milling with open source software

#109

Earlier quoted context omitted.

>machinist still needs to load everything correctly. It's very easy to make a mistake. Tool configuration is kinda-sorta solved with ISO 13399, this is being supported in more and more CAM systems and tool vendors, but as you say it is very easy to make a mistake. Assuming the mistakes are happening when the tool data is reduced from the comprehensive format that ISO 13399 supports to the barebones and simple TxDxHx…

Not to mention workholding, etc. that might be off.

Tooling data in a G-Code data structure bootstrapped with G65 and M98 would support fixture models.

Certainly a chicken and egg problem though, my ideal future would have CAD files generated from single source of truth CNC files:)

Re: CNC milling with open source software

#110
post #26

I work with the smoothieware project (hardware QA). It is an opensource motion control firmware and openhardware control board which works with 3d printers, lasers, mills, etc. Initially based on GRBL and runs on ARM (LPC1769). The openhardware scene has advanced quite nicely in the last 5 years. There are many very nice projects out there to build from which are largely able to be built at home with parts which can…

I re-implemented (most of) TPLang (mentioned above) in pure JS , and called it openjscam [1] And am working on open source software for CAM (as a hobby), just 2.5D gcode generators, using maker.js and openjscam [2]. And made opencamlib compile on Mac and Windows (and added basic Node.JS bindings) [3]

I am hoping more people will work on open source g-code generators so we have better alternatives to Fusion 360 / Solidworks for free

[1] http://github.com/makercam/openjscam [2] http://github.com/makercam [3] https://github.com/aewallin/opencamlib

Post reply on HN