MaikStohn / UP3D

UP 3D Printer Tools
GNU General Public License v2.0
79 stars 33 forks source link

Enhancement Idea: Wrap into Virtual USB/COM port #17

Open adrianbear opened 8 years ago

adrianbear commented 8 years ago

Hi Maik,

Not sure if I should add this as an issue, but I don't see where else to write it.

Do you think we could wrap the up3dtranscode, upload and upshell applications up into a virtual USB/COM gcode port? i.e. the idea being that Simplify3d (and others like Cura) could just communicate directly rather than dealing with gcode files and manually executing from the command line? Would be great if the print progress and temperature values could be reported back into Simplify3d during printing. Or maybe you've already though of this? I am guessing you probably have.

Thanks Adrian

MaikStohn commented 8 years ago

Hi,

since normal RepRap operation (which is what Simplify or other tools can handle) is very different from UP this always would be a bad working vehicle. Reprap transfers data sequentially while printing compared to the UP everything is transferred first to SD card and then print is started. Even RepRap printer with SD card do have a feedback mechanism to inform the host on which position of the gcode it is just now. This we all don't have on UP.

I think it's better to do a nice looking GUI for UP which can do all this (take GCode, transcode, transfer to machine and monitor the process). This will indeed consume less time than to make a virtual RepRap COM port emulation.

Maik

adrianbear commented 8 years ago

Hi Maik,

I previously had an XYZ Davinci printer I used with Simplify3d and it used GCode via a COM port and sent the job to the printer which in turn stored it on its onboard SDCard. SImplify3d was then still able to monitor the job, temperatures etc and cancel it mid stream. Of course it couldn't change the speeds whilst printing though.

Although I agree it would be easier, I'm not sure why you'd want to create a new GUI when Cura and Simplify3d (among others) already have working GUI's. Some even have web services and network printing capabilities built in for gcode printers (i.e. Repetier Server and Host) that could be leveraged.

Thanks Adrian

MaikStohn commented 8 years ago

HI Adrian,

just because UP is not a G-Code printer. In the end we spend more time emulating a G-Code printer to make proprietary tools like Simplify (non free) or Cura (tied to Ultimaker, getting worse) work.

Why not make a more advanced tool completely open source instead (just my thinking)?

kscheff commented 8 years ago

@adrianbear I use Slic3er and here I can specify an post processing script. I have placed a script to invoke up3dtranscode and upload automatically when exporting to g-code. To support other slicers I have done a AppleScript version which can observe an folder (folder action) and automatically asks to transcode and upload the data to the printer. Both versions are only available for Mac. I have not updated my scripts to the newest version of the up box, but if you are interested this can be easily done.

adrianbear commented 8 years ago

Hi, From what I can tell GCode is now basically the "standard" for 3d printers. I seriously doubt UP will be able to maintain their own proprietary code much longer anyway, and I certainly doubt they will win out over the plethora of other printers using GCode. Therefore any new GUI you build for UPCode, will only ever be useful for UP Printers (and only those built in the short to medium term).

I see this tool (the uptranscoder) as valuable because I can use the already existing, already powerful slicers that have already been built. The transcoder will prove to Tiertime, that their software basically sucks, but their hardware is good AND they should focus on what they are good at.

@kscheff I might have a play with Slic3r, but for the moment I am focused on printing RC Aircraft from 3dlabprint and they have a detailed guide for using either Simplify3d (which they recommend for making flying aircraft) or Cura. As you might guess, the STL's won't print from the UP Software or at least not anywhere near satisfactorily.

Plus, and I hope I don't get you guys off side here :), I am a dedicated windows guy. I don't know where to start with a Mac (or Linux for that matter).

I could write a small windows file listener app to automate the conversion and upload, but I just thought a virtual USB wrapper would be the most seemless solution for users. And it could provide temperature and progress feedback to the calling application.

I've never built a virtual USB/COM port before, but surely building a simple data input and output interface (whose specification "should" be well known) would be easier than writing a complete GUI application with preview features etc. Or if a gcode COM communication specification does not exist, perhaps there is another communication interface that could be used (i.e. we could expose a web service SOAP/REST interface) that would be supported by Simplify3d, Cura, Slic3r etc. I just don't know if one of these exists already or not.

Adrian

adrianbear commented 8 years ago

Hmm, it looks like Repetier provides exactly the integration scenarios I am talking about and they were Open Source, but not anymore. :(

Repetier API Goes Closed Source