The school where I work has a laser cutter attached to a pc. The pc runs 'PC Design', outputing to the cutter.
http://www.techsoftuk.co.uk/techsoft_software.htm
As well as it's own propriety files, PC Design will accept dxf files to output to the cutter. I've tried importing dxf files created with Inkscape into PC Design, but they don't get rendered.
Are the dxf files created by Inkscape's export non standard or otherwise 'funny'? Does anyone know of a 'workaround' for this problem, please?
Jim Ford
Jim Ford wrote:
Are the dxf files created by Inkscape's export non standard or otherwise 'funny'? Does anyone know of a 'workaround' for this problem, please?
The DXF files exported by Inkscape export curves as standard DXF SPLINEs. Some software is not able to handle such NURB curves. An option would be to decompose the curves into polylines, though this would make the output noticeably slower and less exact. Please recognise that the DXF output from Inkscape is not expected to be generally useful DXF output. It was developed to suit the needs of a very specific community of users and is labeled as such.
Aaron Spike
Hi Jim
Aaron was also kind enough to answer my dxf related questions last week. He showed me where the source code is for the scaling. I have a long thread dxf related questions I can forward. I am reading though the low level details from some documentation listed in the scripts comments.
"In the tarball the python script lives in share/extensions/dxf_outlines.py. In ubuntu I'd guess it lives in /usr/share/inkscape/extensions/dxf_outlines.py."
Hi Aaron
I am not a great programmer but fortunately I can program in Python. Do you think the dxf output from Inkscape can be made useful for standard CAD stuff? I was going to write a script with a GUI to allow people to control the scaling?
Thanks-Patrick
Aaron Spike wrote:
Jim Ford wrote:
Are the dxf files created by Inkscape's export non standard or otherwise 'funny'? Does anyone know of a 'workaround' for this problem, please?
The DXF files exported by Inkscape export curves as standard DXF SPLINEs. Some software is not able to handle such NURB curves. An option would be to decompose the curves into polylines, though this would make the output noticeably slower and less exact. Please recognise that the DXF output from Inkscape is not expected to be generally useful DXF output. It was developed to suit the needs of a very specific community of users and is labeled as such.
Aaron Spike
This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ Inkscape-user mailing list Inkscape-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-user
Patrick wrote:
I am not a great programmer but fortunately I can program in Python. Do you think the dxf output from Inkscape can be made useful for standard CAD stuff? I was going to write a script with a GUI to allow people to control the scaling?
There are plenty of improvements that could be made to the dxf_outlines.py script. You can see that it is very simplistic right now. We could make the scaling configurable via the gui. We could give the user an option to perform polyline approximation of curves. (There is a simple routine for this in flatten.py. It could be improved to be both faster and more accurate. cf. http://www.cs.concordia.ca/cccg/papers/36.pdf ) And I'm sure you could think of other things. But I think we must be careful not to forget the class of users for whom the script was originally created. I would like to retain this simple, preconfigured output option for them. (This could be done by having two INX files point to the same script, one providing more configurability and the other providing a configuration equivalent to the current script.)
Aaron Spike
Hi Aaron
Thanks for all your dxf help! I would really like to get involved with extending Inkscapes dxf support. I would however need some guidance and I am overloaded so progress will be a little slow.
Here is what I was thinking: Following along with your feelings on the matter-
"But I think we must be careful not to forget the class of users for whom the script was originally created. I would like to retain this simple, preconfigured output option for them"
We could create another menu that just brings up: wishblade robocraft blah blah cutter etc custom
The menu items would simply bring up save-as dialogs pre-configured with the correct scaling for their device, only the custom dialog would bring up a dialog that could have variable scaling.
If other Inkscape users wanted to email me/mail me their dxf outputs and the actual outputs from their devices, I could reconfigure the scaling and we could add another menu item.
I guess I am going to have to learn a little Qcad/Autcad. However if I did this right I might be able to save others from having to learn these other Apps. This new Inkscape feature would really scratch my itch too. I am trying to get replacement parts made. If I can scan them, convert them to svg, then dxf. Then I can send off the CAD files to machine shops for quotes and fabrication. I wanted to buy a CNC mill, but you know it is just so cheap to get these shops to make stuff, that it doesn't make sense.
What do you think?-Patrick
Aaron Spike wrote:
Patrick wrote:
I am not a great programmer but fortunately I can program in Python. Do you think the dxf output from Inkscape can be made useful for standard CAD stuff? I was going to write a script with a GUI to allow people to control the scaling?
There are plenty of improvements that could be made to the dxf_outlines.py script. You can see that it is very simplistic right now. We could make the scaling configurable via the gui. We could give the user an option to perform polyline approximation of curves. (There is a simple routine for this in flatten.py. It could be improved to be both faster and more accurate. cf. http://www.cs.concordia.ca/cccg/papers/36.pdf ) And I'm sure you could think of other things. But I think we must be careful not to forget the class of users for whom the script was originally created. I would like to retain this simple, preconfigured output option for them. (This could be done by having two INX files point to the same script, one providing more configurability and the other providing a configuration equivalent to the current script.)
Aaron Spike
This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ Inkscape-user mailing list Inkscape-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-user
Aaron and Patrick That would be great, you do not know how many folks I have walked through this in the cutter forum. I would be more than happy to generate and send you any files you need from Wishblade, Robomaster or Silhouette or any other program for the cutter world. Please feel free to contact me at bibimorris@...2371...
Bibi
Hi Bibi
Thanks for your help. I really think we can do this and I would really like to try. Your offer of help with the cutters makes it even more do-able. I would really like to know what Aaron thinks. I can do all the work but with Aaron's experience pointing me in the right direction it could save time and produce a better result.
Terry has also offered to help with the dxf files too and he is a mechanical designer.
Let's see what tomorrow brings :-) Good night-Patrick
Thank again!
Bibi Morris wrote:
Aaron and Patrick That would be great, you do not know how many folks I have walked through this in the cutter forum. I would be more than happy to generate and send you any files you need from Wishblade, Robomaster or Silhouette or any other program for the cutter world. Please feel free to contact me at bibimorris@...2371...
Bibi
Aaron has helped us before, and I will send you any kind of files you want. Just let me know, and they are yours. Bibi
Patrick wrote:
Thanks for your help. I really think we can do this and I would really like to try. Your offer of help with the cutters makes it even more do-able. I would really like to know what Aaron thinks. I can do all the work but with Aaron's experience pointing me in the right direction it could save time and produce a better result.
As long as Bibi is happy, I'm happy. :-) I'm still not exactly sure what new needs we should address. But I'm happy to help whenever I can.
Aaron Spike
We would need to think about referencing trade names from Inkscape but I could look into this with a lawyer. It ties into some of my other needs so the cost is not a problem. I am not sure if the present dxf option is working with all the cutters but I feel that there is also a need beyond this anyhow. Linux and open source Aps are great but there is a real short fall when CAD comes into the picture. Turning Inkscape into a full CAD replacement is likely not viable but with just some slight modifications it could add basic functionality and get lots of us "off and running".
Here is what I propose:
I was just modifying dxf_outlines so that it would printout the scaling setting and offer user input to change it. No GUI yet just the basics. I have a 8 inch/200 mm caliper that is good to 0.01mm or 0.001 inch. I was thinking that if I changed the scaling for a given device then we could test the real world output with my caliper. What I was thinking was that if we wanted to test a plotter for accuracy I could email a dxf file to a cutter owner, they could cut out a design and mail it to me. I could then measure it for accuracy and adjust the scaling. I have U.S and Canadian mailing addresses. I was planning on doing the same thing with metal parts and I was also planning on sending over dxf outputs to CAD users like Terry/My Dad/My Brother, they could check the dimensional accuracy in there given CAD programs.
I stink at C/C++ so I might need some help adding the menu items to Inkscape but the underlying Python should not pose a problem.
Any thoughts?
Aaron Spike wrote:
Patrick wrote:
Thanks for your help. I really think we can do this and I would really like to try. Your offer of help with the cutters makes it even more do-able. I would really like to know what Aaron thinks. I can do all the work but with Aaron's experience pointing me in the right direction it could save time and produce a better result.
As long as Bibi is happy, I'm happy. :-) I'm still not exactly sure what new needs we should address. But I'm happy to help whenever I can.
Aaron Spike
This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ Inkscape-user mailing list Inkscape-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-user
Patrick McCavery wrote:
I stink at C/C++ so I might need some help adding the menu items to Inkscape but the underlying Python should not pose a problem.
If you still think C/C++ that might be a much better way to go. You will have access to more information in the Inkscape internals and you could use (and improve) lib2geom to do the curve conversion/approximation much more quickly and flexibly. Plus you could base your work on the abandoned GSoC DXF project from two years ago. We could resurrect that work so it isn't wasted and get way more out of this in the end. Quite honestly the little python script was just a stop gap and there are limits to what we can do with it.
Aaron Spike
Hi Aaron
Okay, I can take some time to get up to speed with C/C++ but if someone could check my code over after that would be good. Could you point me to the abandoned projects? Why were they abandoned?
Not to push the Python thing but I was wondering, would PyGTK create another dependency(I assume it would) Would this be a problem if it did? C/C++ is really for serious programming but other languages like Python are great for us novice programmers. Would this get more developers involved and allow for fine tuning by users with basic programming skills?
I will need a little time to catch up on C/C++ probably a month or more.
-Patrick
Aaron Spike wrote:
Patrick McCavery wrote:
I stink at C/C++ so I might need some help adding the menu items to Inkscape but the underlying Python should not pose a problem.
If you still think C/C++ that might be a much better way to go. You will have access to more information in the Inkscape internals and you could use (and improve) lib2geom to do the curve conversion/approximation much more quickly and flexibly. Plus you could base your work on the abandoned GSoC DXF project from two years ago. We could resurrect that work so it isn't wasted and get way more out of this in the end. Quite honestly the little python script was just a stop gap and there are limits to what we can do with it.
Aaron Spike
This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ Inkscape-user mailing list Inkscape-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-user
On Oct 22, 2007, at 7:26 AM, Patrick wrote:
Not to push the Python thing but I was wondering, would PyGTK create another dependency(I assume it would) Would this be a problem if it did? C/C++ is really for serious programming but other languages like Python are great for us novice programmers. Would this get more developers involved and allow for fine tuning by users with basic programming skills?
What I've been promoting is integrating hooks so that extensions in other languages can access and modify things and let Inkscape do all the presentation work. This would most likely be done using a DOM tree representing internals so that things can be accessed in a manner consistent with accessing the document itself.
I'd gone over this with the guys from Scribus, including the main person who'd worked on their integration of python, and he'd said it was a much better approach than having to integrate ui work from Python like they did.
Bibi Morris wrote:
That would be great, you do not know how many folks I have walked through this in the cutter forum. I would be more than happy to generate and send you any files you need from Wishblade, Robomaster or Silhouette or any other program for the cutter world. Please feel free to contact me at bibimorris@...2371...
Did people need to use different scalings inorder to use our DXFs with different cutters on that forum? Exactly what are you spending time walking people through? (Maybe we can fix it and save you some time.) As far as referencing names of specific cutters, I avoided that on purpose before because I didn't know anything about the issues involved in referencing trademarks.
Aaron Spike
Aaron, Some of these ladies are so afraid of computers that they need to know how to down load and install a ttf file on them! It just intimidates them to try and use their new scrapbooking cutters, and is not the fault of inkscape, just their fear of doing something wrong. Many have even given up dusting around the computers in fear of hitting a button to turn it on or off! I have send them all the links to the tutorials and they just want someone to hand hold when they try something new! Inkscape when the tool bars change with each function, really mystifies them! Bibi
The things that are frustrating in using Inkscape to generate files is that once we have our dxf file , say a title with a mat, and we have the cut lines in two different colors and everything line in each color moves together when we do a paths>combine. Now when we load DXF in the Robomaster program, we loose the colors, and pick up an aqua color for the belzer curves, and then also the file that is imported, no longer had the combined paths combined. If we group then import, it invalidates the data, meaning that the resulting information gives us unpredictable results. Since the Wishblade and Craft Robo software is missing the align and distribute, putting the files back together again, once the line colors have been changed and the paths regrouped, in such a task. If we can somehow find out how that is working on the Robomaster software, it would sure save a lot of headaches.
Bibi
Bibi Morris wrote:
The things that are frustrating in using Inkscape to generate files is that once we have our dxf file , say a title with a mat, and we have the cut lines in two different colors and everything line in each color moves together when we do a paths>combine. Now when we load DXF in the Robomaster program, we loose the colors, and pick up an aqua color for the belzer curves, and then also the file that is imported, no longer had the combined paths combined. If we group then import, it invalidates the data, meaning that the resulting information gives us unpredictable results. Since the Wishblade and Craft Robo software is missing the align and distribute, putting the files back together again, once the line colors have been changed and the paths regrouped, in such a task. If we can somehow find out how that is working on the Robomaster software, it would sure save a lot of headaches.
To work well with Robomaster we should really ditch using DXF altogether and start working in GSD. If you remember I started looking at GSDs. So far my attempts to find a programmer with a cutter and another programmer with some math background to assist me in this have failed. Perhaps someday I'll have to get a cutter like this so that I have something to work on. Of course time is short too. :-)
Aaron Spike
Aaron, Blush, I have a programming background and a math, but have not used it in a while. I used to do a lot of Cobol programming, and have taken some C and some C++, however I have never worked with those in industry, so I am as rusty as a nail when it comes to that. Ideally if we could generate the GSD files it would be fantastic. I think that the companies are trying to sit on the file formats, so they can charge $10 or more for a simple file that I can create in inkscape in less than 5 minutes.
Let me know if you need me to dump some files and what to take a look at. Bibi
Hi,
I have already done the same kind of thing but from dxf to svg. have a look at http://sancelot.wordpress.com/2007/07/13/enhanced-dxf2svg/
you will find my code : // create curves points from spline definition void spline::compute_path() { int step = 25; double t,t2,t3; double Cm1,C0,C1,C2;
ctrl_pts r,Pm1,p0,p1,p2; computed_path.clear(); for (int i=0;i< control_points.size() - 3;i++) { Pm1 = control_points[i]; p0 = control_points[i+1]; p1 = control_points[i+2]; p2 = control_points[i+3]; for (int s=0;s<=step;s++) { t = double(s) / (double) step; t2 = t * t; t3 = t2 * t; Cm1 = -1.0/6.0 * t3 + 0.5 * t2 - 0.5 * t + 1.0/6.0; C0 = .5 * t3 - t2 +2.0/3.0; C1 = -.5*t3+.5*t2+.5*t+1.0/6.0; C2 = 1.0/6.0*t3; r.x = Cm1*Pm1.x+C0*p0.x + C1*p1.x+C2*p2.x; r.y = Cm1*Pm1.y+C0*p0.y + C1*p1.y+C2*p2.y; r.z = 0; computed_path.push_back(r); } } } Best Regards S.Ancelot
Aaron Spike a écrit :
Jim Ford wrote:
Are the dxf files created by Inkscape's export non standard or otherwise 'funny'? Does anyone know of a 'workaround' for this problem, please?
The DXF files exported by Inkscape export curves as standard DXF SPLINEs. Some software is not able to handle such NURB curves. An option would be to decompose the curves into polylines, though this would make the output noticeably slower and less exact. Please recognise that the DXF output from Inkscape is not expected to be generally useful DXF output. It was developed to suit the needs of a very specific community of users and is labeled as such.
Aaron Spike
This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ Inkscape-user mailing list Inkscape-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-user
Hi Stéphane
This looks very interesting, you also have a beautiful website-Patrick
Stéphane ANCELOT wrote:
Hi,
I have already done the same kind of thing but from dxf to svg. have a look at http://sancelot.wordpress.com/2007/07/13/enhanced-dxf2svg/
you will find my code : // create curves points from spline definition void spline::compute_path() { int step = 25; double t,t2,t3; double Cm1,C0,C1,C2;
ctrl_pts r,Pm1,p0,p1,p2; computed_path.clear(); for (int i=0;i< control_points.size() - 3;i++) { Pm1 = control_points[i]; p0 = control_points[i+1]; p1 = control_points[i+2]; p2 = control_points[i+3]; for (int s=0;s<=step;s++) { t = double(s) / (double) step; t2 = t * t; t3 = t2 * t; Cm1 = -1.0/6.0 * t3 + 0.5 * t2 - 0.5 * t + 1.0/6.0; C0 = .5 * t3 - t2 +2.0/3.0; C1 = -.5*t3+.5*t2+.5*t+1.0/6.0; C2 = 1.0/6.0*t3; r.x = Cm1*Pm1.x+C0*p0.x + C1*p1.x+C2*p2.x; r.y = Cm1*Pm1.y+C0*p0.y + C1*p1.y+C2*p2.y; r.z = 0; computed_path.push_back(r); } } } Best Regards S.Ancelot
Aaron Spike a écrit :
Jim Ford wrote:
Are the dxf files created by Inkscape's export non standard or otherwise 'funny'? Does anyone know of a 'workaround' for this problem, please?
The DXF files exported by Inkscape export curves as standard DXF SPLINEs. Some software is not able to handle such NURB curves. An option would be to decompose the curves into polylines, though this would make the output noticeably slower and less exact. Please recognise that the DXF output from Inkscape is not expected to be generally useful DXF output. It was developed to suit the needs of a very specific community of users and is labeled as such.
Aaron Spike
This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ Inkscape-user mailing list Inkscape-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-user
This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ Inkscape-user mailing list Inkscape-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-user
Stéphane ANCELOT wrote:
I have already done the same kind of thing but from dxf to svg. have a look at http://sancelot.wordpress.com/2007/07/13/enhanced-dxf2svg/
you will find my code : // create curves points from spline definition void spline::compute_path() { int step = 25; double t,t2,t3; double Cm1,C0,C1,C2;
ctrl_pts r,Pm1,p0,p1,p2; computed_path.clear(); for (int i=0;i< control_points.size() - 3;i++) { Pm1 = control_points[i]; p0 = control_points[i+1]; p1 = control_points[i+2]; p2 = control_points[i+3]; for (int s=0;s<=step;s++) { t = double(s) / (double) step; t2 = t * t; t3 = t2 * t; Cm1 = -1.0/6.0 * t3 + 0.5 * t2 - 0.5 * t + 1.0/6.0; C0 = .5 * t3 - t2 +2.0/3.0; C1 = -.5*t3+.5*t2+.5*t+1.0/6.0; C2 = 1.0/6.0*t3; r.x = Cm1*Pm1.x+C0*p0.x + C1*p1.x+C2*p2.x; r.y = Cm1*Pm1.y+C0*p0.y + C1*p1.y+C2*p2.y; r.z = 0; computed_path.push_back(r); } } }
If this approximates NURB curves with Cubic Bezier Curves this will be a very useful routine. How is it licensed?
Aaron Spike
Hi Aaron and fellow Inkscapers
Have you thought anymore about what I can do to improve Inkscape's DXF capabilities? Would it be a good idea to revive the abandoned GSoC DXF project, as you were saying?
I read your last thread regarding skipping over the DXF issue and saving work as GSD. Having GSD support sounds like it would make lots of people happy but I think there are lots of people like myself who could use the DXF files as well.
Would it be a good idea to split the save-as dialog up? The regular illustrator graphic formats could be left as is and the specialty file formats could be placed under an export menu. We could have DXF, GSD and why not custom DXF scalings. For example here are some hypothetical examples:
Export as: GSD DXF(standard CAD) DXF(blah blah cutter) DXF(blah blah device) DXF(custom) Plus some other weird file types
BTW I have never owned a vinyl cutter but I am confident that I could write a program to control one, given enough time. I rebuild and resell analytical laboratory instruments like chromatographs and spectrophotometers. Proprietary software hurts my business and drains my customers budgets(and their fighting Hepatitis/Cancer etc). I am obsessed with the idea of writing an open source instrument control/data analysis App. I have spent quite a bit of time researching the communications involved. I might be able to monitor the communication between cutter and native software and copy the commands. Is direct device control a direction that Inkscape should go in?
Thanks-Patrick
Aaron Spike wrote:
Stéphane ANCELOT wrote:
I have already done the same kind of thing but from dxf to svg. have a look at http://sancelot.wordpress.com/2007/07/13/enhanced-dxf2svg/
you will find my code : // create curves points from spline definition void spline::compute_path() { int step = 25; double t,t2,t3; double Cm1,C0,C1,C2;
ctrl_pts r,Pm1,p0,p1,p2; computed_path.clear(); for (int i=0;i< control_points.size() - 3;i++) { Pm1 = control_points[i]; p0 = control_points[i+1]; p1 = control_points[i+2]; p2 = control_points[i+3]; for (int s=0;s<=step;s++) { t = double(s) / (double) step; t2 = t * t; t3 = t2 * t; Cm1 = -1.0/6.0 * t3 + 0.5 * t2 - 0.5 * t + 1.0/6.0; C0 = .5 * t3 - t2 +2.0/3.0; C1 = -.5*t3+.5*t2+.5*t+1.0/6.0; C2 = 1.0/6.0*t3; r.x = Cm1*Pm1.x+C0*p0.x + C1*p1.x+C2*p2.x; r.y = Cm1*Pm1.y+C0*p0.y + C1*p1.y+C2*p2.y; r.z = 0; computed_path.push_back(r); } } }
If this approximates NURB curves with Cubic Bezier Curves this will be a very useful routine. How is it licensed?
Aaron Spike
This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ Inkscape-user mailing list Inkscape-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-user
Patrick wrote:
Have you thought anymore about what I can do to improve Inkscape's DXF capabilities? Would it be a good idea to revive the abandoned GSoC DXF project, as you were saying?
You had asked where the GSoC project went. I really don't remember what happened. I think it might live at http://sourceforge.net/projects/dxf-svg-convert/. IIRC Kees Cook looked through it and found a number of security issues. More information could probably be found on the Mailing list archives if you search for the author's name.
I still think reviving this would be a good idea. Didn't it even have provisions for rendering 3d data into 2d?
I read your last thread regarding skipping over the DXF issue and saving work as GSD. Having GSD support sounds like it would make lots of people happy but I think there are lots of people like myself who could use the DXF files as well.
Certainly. GSD satisfies the needs of a much smaller community.
Would it be a good idea to split the save-as dialog up? The regular illustrator graphic formats could be left as is and the specialty file formats could be placed under an export menu. We could have DXF, GSD and why not custom DXF scalings. For example here are some hypothetical examples:
Export as: GSD DXF(standard CAD) DXF(blah blah cutter) DXF(blah blah device) DXF(custom) Plus some other weird file types
This has been discussed. We would like to create an Export menu for lossy formats like these.
Another option would be to look at code in the Uberconvertor (VectorSection) project and see what can be transfered over into the Uniconvertor project.
BTW I have never owned a vinyl cutter but I am confident that I could write a program to control one, given enough time. I rebuild and resell analytical laboratory instruments like chromatographs and spectrophotometers. Proprietary software hurts my business and drains my customers budgets(and their fighting Hepatitis/Cancer etc). I am obsessed with the idea of writing an open source instrument control/data analysis App. I have spent quite a bit of time researching the communications involved. I might be able to monitor the communication between cutter and native software and copy the commands. Is direct device control a direction that Inkscape should go in?
I think this would be the ultimate. Not sure if it belongs in Inkscape or at the OS level. Most, if not all, of the desktop cutters used by the scrapbooking communities are bound to Win32. Supporting these devices in linux would be a huge gain for those communities, I think. But it would be difficult to support, because there doesn't seem to be the techinical resources inside the communities (no offense meant :-) ).
Aaron Spike
HI Aaron and list
Okay, judging from your feedback would the following be logical?
I would search for more DXF info including the abandoned project. I would modify the existing DXF export or create a new one. If people were happy with the code it could be integrated into Inkscape and the GUI later.
I can do further tests with capturing serial communications data on my lab instruments. Once I perfect this I will put the call out to the vinyl cutter owners for assistance. I could then write a vinyl cutter control app in Linux. We could then figure out how to control the App from Inkscape, whether that would be direct integration or something else.
This will likely take 1-5 months.
Does this seem logical??
Thanks-Patrick
Aaron Spike wrote:
Patrick wrote:
Have you thought anymore about what I can do to improve Inkscape's DXF capabilities? Would it be a good idea to revive the abandoned GSoC DXF project, as you were saying?
You had asked where the GSoC project went. I really don't remember what happened. I think it might live at http://sourceforge.net/projects/dxf-svg-convert/. IIRC Kees Cook looked through it and found a number of security issues. More information could probably be found on the Mailing list archives if you search for the author's name.
I still think reviving this would be a good idea. Didn't it even have provisions for rendering 3d data into 2d?
I read your last thread regarding skipping over the DXF issue and saving work as GSD. Having GSD support sounds like it would make lots of people happy but I think there are lots of people like myself who could use the DXF files as well.
Certainly. GSD satisfies the needs of a much smaller community.
Would it be a good idea to split the save-as dialog up? The regular illustrator graphic formats could be left as is and the specialty file formats could be placed under an export menu. We could have DXF, GSD and why not custom DXF scalings. For example here are some hypothetical examples:
Export as: GSD DXF(standard CAD) DXF(blah blah cutter) DXF(blah blah device) DXF(custom) Plus some other weird file types
This has been discussed. We would like to create an Export menu for lossy formats like these.
Another option would be to look at code in the Uberconvertor (VectorSection) project and see what can be transfered over into the Uniconvertor project.
BTW I have never owned a vinyl cutter but I am confident that I could write a program to control one, given enough time. I rebuild and resell analytical laboratory instruments like chromatographs and spectrophotometers. Proprietary software hurts my business and drains my customers budgets(and their fighting Hepatitis/Cancer etc). I am obsessed with the idea of writing an open source instrument control/data analysis App. I have spent quite a bit of time researching the communications involved. I might be able to monitor the communication between cutter and native software and copy the commands. Is direct device control a direction that Inkscape should go in?
I think this would be the ultimate. Not sure if it belongs in Inkscape or at the OS level. Most, if not all, of the desktop cutters used by the scrapbooking communities are bound to Win32. Supporting these devices in linux would be a huge gain for those communities, I think. But it would be difficult to support, because there doesn't seem to be the techinical resources inside the communities (no offense meant :-) ).
Aaron Spike
This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ Inkscape-user mailing list Inkscape-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-user
Patrick wrote:
I would search for more DXF info including the abandoned project. I would modify the existing DXF export or create a new one. If people were happy with the code it could be integrated into Inkscape and the GUI later.
We'd have to talk to Ted to be sure, but I believe input and output "extensions" are fairly easy to create and easy to add or remove from the core.
I can do further tests with capturing serial communications data on my lab instruments. Once I perfect this I will put the call out to the vinyl cutter owners for assistance. I could then write a vinyl cutter control app in Linux. We could then figure out how to control the App from Inkscape, whether that would be direct integration or something else.
Perhaps somebody familiar with this sort of thing on linux could give us a better idea of how linux does these things.
This will likely take 1-5 months.
Does this seem logical??
Sound good to me. Please subscribe to the dev list.
Aaron Spike
On Wed, 2007-10-24 at 21:17 -0500, Aaron Spike wrote:
Patrick wrote:
I would search for more DXF info including the abandoned project. I would modify the existing DXF export or create a new one. If people were happy with the code it could be integrate into Inkscape and the GUI later.
We'd have to talk to Ted to be sure, but I believe input and output "extensions" are fairly easy to create and easy to add or remove from the core.
Yes, they are :)
I can do further tests with capturing serial communications data on my lab instruments. Once I perfect this I will put the call out to the vinyl cutter owners for assistance. I could then write a vinyl cutter control app in Linux. We could then figure out how to control the App from Inkscape, whether that would be direct integration or something else.
Perhaps somebody familiar with this sort of thing on linux could give us a better idea of how linux does these things.
Well, for doing serial you can generally just write to /dev/ttyS0 and you're good. In general, I'd recommend putting the device specific stuff into a library. Then you can build a client or connect it into other things (like Inkscape) easily.
--Ted
Aaron Spike a écrit :
Stéphane ANCELOT wrote:
I have already done the same kind of thing but from dxf to svg. have a look at http://sancelot.wordpress.com/2007/07/13/enhanced-dxf2svg/
you will find my code : // create curves points from spline definition void spline::compute_path() { int step = 25; double t,t2,t3; double Cm1,C0,C1,C2;
ctrl_pts r,Pm1,p0,p1,p2; computed_path.clear(); for (int i=0;i< control_points.size() - 3;i++) { Pm1 = control_points[i]; p0 = control_points[i+1]; p1 = control_points[i+2]; p2 = control_points[i+3]; for (int s=0;s<=step;s++) { t = double(s) / (double) step; t2 = t * t; t3 = t2 * t; Cm1 = -1.0/6.0 * t3 + 0.5 * t2 - 0.5 * t + 1.0/6.0; C0 = .5 * t3 - t2 +2.0/3.0; C1 = -.5*t3+.5*t2+.5*t+1.0/6.0; C2 = 1.0/6.0*t3; r.x = Cm1*Pm1.x+C0*p0.x + C1*p1.x+C2*p2.x; r.y = Cm1*Pm1.y+C0*p0.y + C1*p1.y+C2*p2.y; r.z = 0; computed_path.push_back(r); } } }
If this approximates NURB curves with Cubic Bezier Curves this will be a very useful routine. How is it licensed?
Aaron Spike
The version you can find on my website is an enhanced version of the GSoC version dxf2svg. dxf2svg is GPL licensed , since I did not have had any answer from the author , I made available this slightly enhanced version through my website. However, you can copy and modify the above code (I wrote it, I grant you to do so ...). Best Regards S.Ancelot
This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ Inkscape-user mailing list Inkscape-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-user
Stéphane ANCELOT wrote:
The version you can find on my website is an enhanced version of the GSoC version dxf2svg. dxf2svg is GPL licensed , since I did not have had any answer from the author , I made available this slightly enhanced version through my website. However, you can copy and modify the above code (I wrote it, I grant you to do so ...).
Patrick, Sounds like you should start with this enhanced version rather than backing up and working on the GSoC version. We should ask Kees Cook to remind us what the security issues were, or possibly we could find that info on the mailing list and save him the bother.
Aaron Spike
Hi Aaron
I will search the archives tonight as I have no way of contacting Kees. I think I might be able to write/modify a program to log serial/USB port activity on Windows computers. We could then translate the commands into a Linux program, this would give people the option to run the cutters from Linux.
-Patrick
Aaron Spike wrote:
Stéphane ANCELOT wrote:
The version you can find on my website is an enhanced version of the GSoC version dxf2svg. dxf2svg is GPL licensed , since I did not have had any answer from the author , I made available this slightly enhanced version through my website. However, you can copy and modify the above code (I wrote it, I grant you to do so ...).
Patrick, Sounds like you should start with this enhanced version rather than backing up and working on the GSoC version. We should ask Kees Cook to remind us what the security issues were, or possibly we could find that info on the mailing list and save him the bother.
Aaron Spike
This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ Inkscape-user mailing list Inkscape-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-user
Patrick wrote:
Hi Aaron
I will search the archives tonight as I have no way of contacting Kees. I think I might be able to write/modify a program to log serial/USB port activity on Windows computers. We could then translate the commands into a Linux program, this would give people the option to run the cutters from Linux.
-Patrick
Speaking as one of those cutter users that Aaron and Bibi were referencing (tho' I am NOT afraid of my computer! Nor programming, etc., hence my being here! lol), I think the majority of the vinyl cutter users in our circle use Windows XP. I don't know if this matters or not, but thought I should mention it. Shirley
Hello Everyone :)
I'm not super technologically savvy, I probably only know enough to get myself in trouble ;) I found this thread by doing searches, as I'm having the problem with my DXF files coverted to GSD files in using one of the aforementioned digital craft cutters (the Silhouette, to be exact, manufactured by Graphtec and using the Robomaster software also mentioned above).
I'm interested in any fix to get these files to cut properly once they are in GSD format. I've contacted QuicKutz already, the company who has contracted Graphtec to make their product, the Silhouette Digital Craft Cutter, and I'm guessing that any change on their end, if even effected, would be super slow, at best. This seems to be the way things go when big corporations are involved.
Wondering if the decision had been made to possibly include a "save as GSD" in another version of Inkscape. I can't really tell by following the thread as I'm not sure who is involved in actual Inkscape development here (Ted? Aaron?) I'll check the Inkscape site again next, but I don't recall finding anything on their site about it under the FAQ's yesterday.
So glad I found this thread as I understand the problem (albeit in a techie unsavvy limited fashion) better now ;)
Thanks for whatever information anyone can provide! Cindy
Shirley Pena wrote:
Patrick wrote:
Hi Aaron
I will search the archives tonight as I have no way of contacting Kees. I think I might be able to write/modify a program to log serial/USB port activity on Windows computers. We could then translate the commands into a Linux program, this would give people the option to run the cutters from Linux.
-Patrick
Speaking as one of those cutter users that Aaron and Bibi were referencing (tho' I am NOT afraid of my computer! Nor programming, etc., hence my being here! lol), I think the majority of the vinyl cutter users in our circle use Windows XP. I don't know if this matters or not, but thought I should mention it. Shirley -- Posted via http://www.ruby-forum.com/.
This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ Inkscape-user mailing list Inkscape-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-user
Cynful wrote:
I'm not super technologically savvy, I probably only know enough to get myself in trouble ;) I found this thread by doing searches, as I'm having the problem with my DXF files coverted to GSD files in using one of the aforementioned digital craft cutters (the Silhouette, to be exact, manufactured by Graphtec and using the Robomaster software also mentioned above).
I'm interested in any fix to get these files to cut properly once they are in GSD format. I've contacted QuicKutz already, the company who has contracted Graphtec to make their product, the Silhouette Digital Craft Cutter, and I'm guessing that any change on their end, if even effected, would be super slow, at best. This seems to be the way things go when big corporations are involved.
What problems are you having with cutting the files that you create in Inkscape and convert to GSD with Robomaster?
Wondering if the decision had been made to possibly include a "save as GSD" in another version of Inkscape. I can't really tell by following the thread as I'm not sure who is involved in actual Inkscape development here (Ted? Aaron?) I'll check the Inkscape site again next, but I don't recall finding anything on their site about it under the FAQ's yesterday.
I think there is a general consensus that we would like to support the GSD format. As of right now no one that I know of has begun implementing GSD support in Inkscape. If you were able to convince Graphtec (or any other company privy to the details) to release a specification for the GSD file format that would be hugely enabling for us. At this moment we would need to reverse engineer the file format, which is very time consuming. Even more exciting (I think this thread was headed in this direction) would be developing open source drivers for these cutting machines, with the goal of cutting from directly from Inkscape and maybe even on Linux. For that, some developers would definitely need to get their hands on the machines.
Aaron Spike
What problems are you having with cutting the files that you create in Inkscape and convert to GSD with Robomaster?
This is the basic problem.
When I load DXF files into the Robomaster program and save them as a GSD file (which, in Robomaster, you have to do if you want to save the file at all, it's your only save option), at some point in the process, it appears to me that the file data may be getting corrupted somehow.
Sometimes the file will cut cleanly once, but sometimes it won't. And if I copy and paste the image (what I like to do from a DXF file that's been imported into a nice clean blank GSD file so that the positioning in the Robomaster program is as I'm used to seeing it) or if I copy and paste the image to get multiple copies of it to cut on one sheet of paper, or even if I just move the image around it will usually (and this happens to me almost certainly every single time) somehow start cutting askew, usually in such a manner that the letters don't close properly or cut over other letters or over themselves, the cuts are off-line, if you know what I mean. The lines no longer match up to the file placement, something most noticable in titles I've created from text. I have wasted a lot of specialty paper in this manner, unfortunately. It's hard to explain in words, but I have photos of the offending files if you'd like to see them if you can let me know how to email you, I can give you a visual example.
Basically, if I want to save a DXF file I've loaded it automatically converts it to a GSD file, and that seems to be the point where the problems begin. The image on the screen will look exactly as it has looked, but the output will cut the patterned lines off kilter. This really messes up titles quite badly, and so using Inkscape to create welded word titles yields inconsistant results.
I love creating artwork for my Silhouette, it's a big one of the many reasons I love my machine, and I love the ability to weld and import the files, but it saddens me that I have this problem that ends up wasting so much of my paper (and usually I use specialty paper that is fairly pricey) :/ It has even occurred when I have reopened a file I've cut successfully before with no changes made to the file more than simply moving the image to another part of the virtual "mat" placement on screen, so that it will cut on another section of paper.
Today I figured a work-around, but it's not a great one. If I create the image in Inkscape and save it as a pdf file, I can open it in Adobe PhotoShop Elements (I don't have any high powered Adobe programs) and save it as a jpg and then open Robomaster and autotrace the jpg to get a rendition of the file. But it's not graphically completely accurate anymore, the letters will not be as smooth or well proportioned as it's an autotrace of a picture.
The file could also be printed out of Inkscape and scanned with a scanner and thus converted to an image file and then loaded into Robomaster via Autotrace as well, but it might be an even rougher conversion.
I've emailed the QuicKutz Customer Rep that I've been going back and forth with about this problem, and asked about what you mentioned in your last post to me, but I don't know if they are very proprietary about their gsd files, or if Graphtec has control of that, or what needs to happen to permit that type of thing, but I'm checking.
Bibi, I think, explained it probably best here, up earlier in the thread. She mentioned Bezier curves and how they import with some "aqua" colored lines. I'm having that same result. I found something under the Effects menu, Modify Path, Flatten Beziers. I tried that, hoping it might help, but I couldn't see a difference on the screen and it officially failed when cutting. Also, it did import the dxf and showed the aqua lines again, so I'm not sure if it really worked. In addition, in that experiment, I avoided grouping the image in Inkscape before saving as a dxf and I also did not set line setting colors in Inkscape (which I never do, I always set that in Robomaster) since Bibi seemed to implicate both processes in part of the problem between dxf and gsd, but none of that made a difference.
That's the issue, I think, though perhaps not explained as well as it could be. Thanks for your time and researching this, I really appreciate it, and I'm sure hundreds of other Silhouette or Robo Craft users would appreciate any kind of fix as well :)
Cindy
In late October Aaron spent quite a bit of time coaching me with regard to the DXF format. Others were very helpful too.
I still want to help to improve Inkscapes DXF capabilities but I am under quite a bit of financial and time strain right now with my business (70+ hours a week + 2 year old Son and my Wife). I have taught myself C in the meantime, however if I am not able to get it done in the next few months I will put a bounty on it and get someone else to do it.
I was just about to write and email on this and in fact had one saved in my drafts folder.
I am still a little unsure of the best way to do about this. There are in fact many versions of DXF and we are also talking about GSD. I was also talking about the direct cutter control. All of these things would severally bloat Inkscape and pure illustrators might object. I am not sure what to call it but perhaps this purpose is better served by another application that would be launched from within Inkscape. We could then add all these features by only adding one menu item.
-Patrick
Aaron Spike wrote:
Cynful wrote:
I'm not super technologically savvy, I probably only know enough to get myself in trouble ;) I found this thread by doing searches, as I'm having the problem with my DXF files coverted to GSD files in using one of the aforementioned digital craft cutters (the Silhouette, to be exact, manufactured by Graphtec and using the Robomaster software also mentioned above).
I'm interested in any fix to get these files to cut properly once they are in GSD format. I've contacted QuicKutz already, the company who has contracted Graphtec to make their product, the Silhouette Digital Craft Cutter, and I'm guessing that any change on their end, if even effected, would be super slow, at best. This seems to be the way things go when big corporations are involved.
What problems are you having with cutting the files that you create in Inkscape and convert to GSD with Robomaster?
Wondering if the decision had been made to possibly include a "save as GSD" in another version of Inkscape. I can't really tell by following the thread as I'm not sure who is involved in actual Inkscape development here (Ted? Aaron?) I'll check the Inkscape site again next, but I don't recall finding anything on their site about it under the FAQ's yesterday.
I think there is a general consensus that we would like to support the GSD format. As of right now no one that I know of has begun implementing GSD support in Inkscape. If you were able to convince Graphtec (or any other company privy to the details) to release a specification for the GSD file format that would be hugely enabling for us. At this moment we would need to reverse engineer the file format, which is very time consuming. Even more exciting (I think this thread was headed in this direction) would be developing open source drivers for these cutting machines, with the goal of cutting from directly from Inkscape and maybe even on Linux. For that, some developers would definitely need to get their hands on the machines.
Aaron Spike
This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ Inkscape-user mailing list Inkscape-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-user
Forgive my naivety, but would it not be best to implement either of these as output extensions, similar to this one for HPGL cutter that someone was working on here: http://www.3x6.nl/inkscape_hpgl/Linux%20inkscape%20save%20as%20HPGL%20file%2...
rather than a a core part of Inkscape?
-Rob A>
On Jan 3, 2008 7:48 PM, Patrick wrote:
I am still a little unsure of the best way to do about this. There are in fact many versions of DXF and we are also talking about GSD. I was also talking about the direct cutter control. All of these things would severally bloat Inkscape and pure illustrators might object. I am not sure what to call it but perhaps this purpose is better served by another application that would be launched from within Inkscape. We could then add all these features by only adding one menu item. =
Hi Rob
Sorry for being so dumb but just to confirm, when you say "extension" do you mean as in let's say the gimp animation package for gimp? A new menu installed as an option?
That would work fine but would it be wise to co-ordinate a number of odd-ball ideas into a single coherent application that was separate from Inkscape but that could be launched from it.
What I mean to say is, lets say our second App is called oddball-scape. We could add a single menu item to Inkscape "export to oddball-scape".
The data could then be used by oddball-scape for whatever purpose without ruining Inkscape for everyone else with lots of extra options they don't want or risk complicating maintenance of it with multiple add on packages.
Apart from further DXF support we could start another community of people who might want to control their cutters, plotters or even mills and lathes.
Oddball-scape could be developed in parallel.
The fellow with the HPGL plotter has done some nice work, thanks for the link.
-Patrick
Rob Antonishen wrote:
Forgive my naivety, but would it not be best to implement either of these as output extensions, similar to this one for HPGL cutter that someone was working on here: http://www.3x6.nl/inkscape_hpgl/Linux%20inkscape%20save%20as%20HPGL%20file%2...
rather than a a core part of Inkscape?
-Rob A>
On Jan 3, 2008 7:48 PM, Patrick wrote:
I am still a little unsure of the best way to do about this. There are in fact many versions of DXF and we are also talking about GSD. I was also talking about the direct cutter control. All of these things would severally bloat Inkscape and pure illustrators might object. I am not sure what to call it but perhaps this purpose is better served by another application that would be launched from within Inkscape. We could then add all these features by only adding one menu item. =
This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ Inkscape-user mailing list Inkscape-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-user
Rob Antonishen wrote:
Forgive my naivety, but would it not be best to implement either of these as output extensions, similar to this one for HPGL cutter that someone was working on here: http://www.3x6.nl/inkscape_hpgl/Linux%20inkscape%20save%20as%20HPGL%20file%2...
rather than a a core part of Inkscape?
Yes. Output extensions are exactly what we are talking about.
Aaron Spike
I was trying to clear my desk and get caught up with my e-mails and found this thread today. I do have many GSD files that I have converted from inkscape generated files. If you are a new user of inkscape there are some folks who do not convert the files correctly, and have not correctly generated the vector paths, so the files will cut correctly. Also we have had problems if they have been grouped, as well as files that have not been simplified enough, as the cutters have a tendency to freeze up due to buffer sizes for them. Simplifying the paths has solved the problems for them.
If Cindy will contact me offline, I would be happy to steer her to some Cutter user groups, where GSD files are shared, and some great tutorials on using inkscape for the cutters, and I can check out her problematic GSD files and see if I can cut them on my Wishblade machine, or my KNK Machine if saved as a EPS with bounding box. (GSD files that have been created in inkscape, cannot be opened by the KNK software, but GSD files that were generated by AI can be opened).
Bibi
participants (11)
-
Aaron Spike
-
Bibi Morris
-
Cynful
-
Jim Ford
-
Jon A. Cruz
-
Patrick
-
Patrick McCavery
-
Rob Antonishen
-
Shirley Pena
-
Stéphane ANCELOT
-
Ted Gould