kliment / Printrun

Pronterface, Pronsole, and Printcore - Pure Python 3d printing host software
GNU General Public License v3.0
2.38k stars 997 forks source link

Feature Request - open OpenSCAD when an scad file is clicked and auto-load stl #551

Open dlarue opened 10 years ago

dlarue commented 10 years ago

This is more of a workflow improvement since Pronterface already does a great job at pulling in the slicer and then moving the gcode to the printer. What's missing is pulling in the SCAD file and opening it with OpenSCAD and then when/if OpenSCAD saved an stl file auto-load and slice the stl file.

dlarue commented 10 years ago

I started getting into FreeCAD now too and it has me wondering if a generic entry in the rc file couldn't be helpful. Something where the filter extension(scad, fcstd, etc) is set and the external CAD app specified(not unlike Slic3r entry).

The 2nd part of this would be a common mechanism to watch for the file name opened but with the STL extension. Looking for either an updated last written date/time or creation and load it if found.

bstott commented 10 years ago

My thoughts === ( I know you know much of this. I present it to remind of the flow and for others beginning this journey through 3D printing.)

Pronterface and similar are the 3D Printer UI version of the 2D Printer UI driver. Then, the commonly followed workflow is conceptualize, create/design - then - process design file and print. Not to enter the printer UI and then conceptualize/design. Oddly or ideally the file to CNC/3D Print is a single specific manufacturing file type (*.stl). This has only the surface information required to manufacture/print the parts.

An *.stl file is easier to manipulate for the CNC/3D Print process. The complexity to integrate all CAD design file types would be Large and daunting while adding more bugs. Presently, the slicer is integrated as part of the print process. The slicer is a valuable process for the print driver. The printer UI allows us to manipulate the machine and the slicer prepares the file to print. A slicer processes the print (stl) file and allows us to add custom command/code for our machine and part processing. So, we load our print file - stl - then we slice, add required printing code and print. The stl is the present de facto standard file format for printing. Another file type is coming forward which includes more information for printing different colors and materials. So, we will have two different output printing files for printing but, they are not CAD design files.

I think to include reading all the different CAD types and open the applications within the Printer UI application is beginning to complicate the process. Think of using your normal printer. We do not open that printer GUI then begin opening Word documents through it to edit. We edit our word document then send to the print driver followed by print settings changes as required.

If I missed the real reason to add complexity - forgive me.

dlarue commented 10 years ago

If we expect everyone to create parts from scratch then that workflow sounds correct. But seeing how many Noobs there are building RepRaps and having to tweak files to get inside diameters correct/etc I thought it would be a nice feature to provide a way to launch CAD apps in a generic way while monitoring the STL file of the same name as that launched with.

You know that the Pronterface UI is more than just a printer interface like the old 2D printers. There is model rotations, scaling, etc which needs to be done at some point and sometimes it's only after a started print do we realized the scale, rotation, etc is off and minor tweeking is needed. For those with the design files it makes sense to adjust the original so subsequent prints of the STL file are correct.

I also see the printer UI being kept up and running at all times and more of a launch point. Again, not for the professional but for those who haven't get got months of practice with CAD but still want to use their printer.

bstott commented 10 years ago

Hmmm. If you use OpenSCAD then that is a programming language based design CAD. If you are using stl it is the print file. If you want to use CAD you have to have a CAD application and then do a separate import of the stl file converting it into a CAD file. They are not synonymous.

So - a noob - gets an stl to print. They do not go into the printer and begin to manipulate it and it the design does not flow or automatically convert to an stl file. So, to open a CAD application and to dynamically see it update your to be printed object is ---- too hard for me to wrap my head around.

If a new person is printing without designing then they download an .stl file and orient/prep in the Printer UI and print. If they want to do more than orient, mirror or scale the object then they need to begin to learn a CAD application. Here they will import the .stl alter or re-design the object, often save it as the CAD default format file and also export a new *.stl file to print. They then open their Printer UI to begin the preparation for machining/printing. They are very distinct and different operations and modes of thought. This is where the noob becomes greater as they begin to learn about engineering. If we dummy it too much then when will we learn? It already is very easy from several years ago. --- I am not saying to stop making it simpler but, I guess I know what to do and think it is simple enough. Abbreviated Print Process order:

bstott commented 10 years ago

Maybe you will be able to flesh out your ideal creation process and get some others - programmers - to get interested to create the process and environment you envision. Your idea, I think, is quite different from the design and intent of this series of applications. It would be interesting to see what you see available.

dlarue commented 10 years ago

OpenSCAD is used for most all RepRap 3D printers so there has been lots of source files available with the STL files and believe it or not, many RepRap-ers build their 3D printers before learning how to design parts. As I stated, professionals went to school and were taught CAD and only now have a chance to get physical models cheaply. For the rest of the world+dog it is going to be the other way around. ie the need for a physical object, building a printer, learning CAD.

So, we can make it easier for them to pop back into the 3D design tools(OpenSCAD, FreeCAD, etc ) to tweek the source files for the STL files they realized is not correct or we can tell them to go to school and learn CAD.

You seemed to repeat what you stated earlier without regarding what I said about the difference between a professional CAD workflow and those who are now jumping in because they have built 3D printers. NOTHING about being able to launch a CAD executable from within Pronterface prevents the professional from following the way you and others may have been taught. Zip.

You might want to update your understanding of the current 3D printer craze and in particular RepRap.org and all the machines being build from RepRap online published designs(including the plastic parts and their file format).