Sketchup CNC
-
Noel, excellent start on a really interesting project.
I grabbed the code and notice a couple of things immediately:
a) you've used some words that would need translating before I had a clue what was going on ('cuchilla', 'graus', etc)
b) you've done something I've seen done many, many, times in Smalltalk and Ruby etc - made filenames by concatenating literal strings including the directory separators. Bad move, it makes for OS specific code when you don't want it. There should be useful methods to build a suitable path that avoids that issue. A quick google suggests using things like File.join instead of pwd + '\' + foo -
Thanks for the feedback Tim. Really encouraging and straight to the point.
a) These are Catalan words and they describe the tools that are available to my machine. Every machine is different so the UI needs to be different for every machine. At the moment this means you would need to edit "ui.rb" as well as "postprocessor.rb". It is poorly thought out I agree, but my efforts were concentrated in the "concepts.rb" and "parser.rb" files and getting them right. I belive that the best solution would be to have the "ui.rb", "concepts.rb" and "parser.rb" files stay untouched.
It seems obvious to me that a class called something like "CNC" or "Machine" should be declared somewhere in "postprocessor.rb". It should have a method tools() that retrieves the tools available to that machine. This can be piped to the UI and should be easy enough for hobbyists to edit for their machine. This class should also contain other methods to aid the postprocessing. Things like number_of_axes(), pods?(), max_spindle_speed()...b) I thought there was a good chance it would fail on macs but decided to make a concious effort to not loose sleep over it. Something told me that the answer would come to me in the form of a wise man called Tim I'll fix it soon.
Thanks again and I'm sorry there are no comments!
-
@noelwarr said:
a) These are Catalan words and they describe the tools that are available to my machine.
Really? It probably won't surprise you to hear that I know no Catalan at all. I suspect my mother learned a little many, many years ago because she and her red-headed friend Nancy hitch-hiked across Andorra (amongst other parts of Europe) around 1957 or so. I understand they got into quite a few adventures such as sleeping under hedges in snowdrifts….
@noelwarr said:
Every machine is different so the UI needs to be different for every machine. At the moment this means you would need to edit "ui.rb" as well as "postprocessor.rb". It is poorly thought out I agree, but my efforts were concentrated in the "concepts.rb" and "parser.rb" files and getting them right. I belive that the best solution would be to have the "ui.rb", "concepts.rb" and "parser.rb" files stay untouched.
It seems obvious to me that a class called something like "CNC" or "Machine" should be declared somewhere in "postprocessor.rb". It should have a method tools() that retrieves the tools available to that machine. This can be piped to the UI and should be easy enough for hobbyists to edit for their machine. This class should also contain other methods to aid the postprocessing. Things like number_of_axes(), pods?(), max_spindle_speed()...Sounds a good idea. I'd hazard a guess that somewhere in Ruby-land there is a standard way to provide lists of UI related words and phrases that you can choose from at runtime, depending upon a chosen language setting. It's a fairly standard technique that works tolerably well most of the time.
@noelwarr said:
b) I thought there was a good chance it would fail on macs but decided to make a concious effort to not loose sleep over it. Something told me that the answer would come to me in the form of a wise man called Tim I'll fix it soon.
One lives to serve.
As for comments - I always advise against living up to the old joke that goes "Comments? Why do you think it's called code?". A friend put it even better; "Don't document the code, code the document"
-
I am also very interested in this plugin one question I have is. Will it be able to generate code for v carvings also 3d carvings etc. I have toyed around with other trial versions of v carve and 3d programs and they have separate post for a multitude of machines of witch even the ones that are set up for ours still have to be edited for our particular machine. I don't know if I have ever seen a single post that was user friendly enough for a person that knows nothing about programing to edit properly. Looking forward to using this in the future
-
Looking forward to making this code a bit more user-friendly over the next couple of weeks. Anyone willing to design some icons for the UI? They have to come in png file format and come in two different sizes (24px x 24px and 16px x 16px). There are 5 in total and should represent the following.
- Declare an assembly
- Declare a workpiece
- Declare a toolpath
- Declare a hole
- Generate the gcode (or whatever files are necessary for the CNC machine)
It would be nice if they blended into the Sketchu UI but you can hand sketch them for all I care. The problem is I'm used to having blank buttons. I just know which one is which and I'll probably never get round to designing them. Since you're all Sketchup users I sugest designing them in the Sketchup model and then just capturing the screen.
If you're up for it, send me an IM or email or something. Cheers
-
Hi Scott
I see no reason why you shouldn't be able to perform V carvings and 3D toolpaths. As long as your CNC machine is a 3 axis router you can pretty much do anything with this plugin. There are a few things you can't do at the moment but they have a relatively simple fix. These are- Pure curves
- Assemblies
There are some it will probably never do - Interpolation in 4 axis routers
- Helicoidal curves (Spirals)
As far as the post processors go. There is no getting around the fact that you need one for every machine just like you need a driver for every printer. I have thought of a way to simplify the whole process and to make it as user friendly as possible. I think that you'll probabbly be able to edit it with relative ease. It is however likely that if this project continues to grow, the postprocessor will become a much more complex document with time.
Can you tell me a little about your CNC machine? -
Hi Noel
Our Machine is a 3 axes thermwood CS 45 It has the gen 2 super control with a twelve position auto tool changer 7 at the back and 5 at the head .It also has a auto tool length tool measure. By the way I am assuming the file format that the G code will be in is a NC format. Our machine will accept NC files as well as dxf files. -
Hi there Scott.
Well, your CNC is certainly a lot closer to ours than a DIY CNC. The auto tool length sounds really cool (wish I had it!).
The way I understand, it Gcode is NC format. You can organise DXF files in such a way that your CNC machine "imports" them by following polylines according to layer and drilling holes where circles are drawn. I always had the feeling that this was kind of a botch job and haven't really looked into it in any detail.
Indeed, this plugin generates NC files, not DXFs. The way I went about it was simply reverse engineering (Sounds cool but it was my first attempt at it). I defined a simple toolpath from (100,100,19) to (200,200,19) and a simple 5mm diameter hole (50,50,19). I then looked at the file in notepad and with the help of wikipedia http://en.wikipedia.org/wiki/G-code I started figuiring out what each part did. It's a lot simpler than it sounds.
If you send me a NC file with the toolpath and hole I have specified above, I'll let you know how easy/difficult it will be to get a postprocessor working for you.
-
Sorry Noel but currently I can not generate a NC. File my self. The programs that I have available that can generate these types of files are only trial versions and will not allow me to save tool paths that I create myself. The main program we use is Ecabinet systems and it creates it own type of file format (TWD) and is encrypted when you open it in notepad.
-
So, if i understand correctly, you are only capable of manufacturing whole cabinets. You can't program a couple of hole and a toolpath with a cabinet software solution. I suspect though, there should be some rudimentary application installed on the computer that atually controls the machine that should allow you to program individual operations.
Nonetheless your ecabinet solution generates NC files for your CNC (I very much doubt it exports to DXF). Try designing a ridiculously simple cabinet with no shelves and no door and send me the NC file/files generated from it. I should be able to work out a fair ammount from that.
PS: If your CNC machine also works with job lists, send me that file too.
-
Yes Noel we do have A way to create the tool paths you are speaking of Only it is with our hand held programmer of witch I have no experience in using except for moving the head in x,y,z positions for setting fixture offsets and such. This is because there has never ben a need for manually programing such moves as you described. I do have a step by step tutorial that I can try to recreate the file you are wanting. I will try to sneak it in on my breaks.
-
Here is a little teaser of something I recently manufactured from within Sketchup. It was made possible thanks to another free plugin (bezier curves).
https://plus.google.com/u/0/106243199685455140135/posts/Sdisrj9khY6
I'll be publishing a screen cast soon enough -
I know some people have been having trouble getting hold of the code. I have added a download tab to the project site http://code.google.com/p/minivistii/downloads/list to make it easier for people to download and try out. I'll try and keep it up to date with the source code but am giving no guarantees.
If you are interested in contributing to the code base you are going to have to use GIT. I use the follwing setup
Sketchup + Eclipse + Sketchup bridge + EGit
It's fast and efficient. If you don't know what these things are or how to use them, let me know and I'll help get it up and running. I don't know what your current setup is but if it's notepad or webconsole, you'll be shocked at the up in productivity you get! -
Hi
I do have a small CNC machine (Carvewright) however its software designer is proprietary. I will be pleased to follow this thread and comment. I have used sketchup designs imported to the software thru grayscale png images. Here are some samples of designs with and without sketchup.
Without SU https://picasaweb.google.com/lh/photo/VtbEQ11Mit8eB5QZUbbKCNMTjNZETYmyPJy0liipFm0?feat=directlink
With SU https://picasaweb.google.com/lh/photo/_ARIIvY-0ihQ0AclttwxptMTjNZETYmyPJy0liipFm0?feat=directlink
Cheers
Irv -
Hi there alpmeadow.
Googled Carvewright. Cool gadget, though I'm not sure I like the way jobs are transferred to it. Is that a cartridge? There is a fair chance it still uses gcode to operate. I'm guessing that the files are mysteriously put on the cartridge by the software to avoid people tampering with them. If you can't see the contents of the cartridge from windows/mac, you might try the following...
Download ubuntu, burn to a CD, boot your computer into ubuntu (You don't have to install it) and plug-in you cartridge reader and see if you can read it's contents. Linux is always a little more hacker friendly.
If you can't get access to the cartridge, this thread will be of little use to you. -
Noel I have a drill icon if you would like to give a look at. I tried to edit the number of pixels to 24X24 but it became too blurred
-
Can you believe it never occured to me to design the icons in sketchup? Live and learn. If you remove the text (I doubt it'll be legible at 24x24), zoom out till it's the same size as the icons in sketchup, hit the print screen or "prt scr" button on you keyboard (One never knows if one is being condescending), then just paste it into paint or whatever application, you should be set to go. Scaling images can be tricky. Paint will mess up your resolution by essentially deciding "this pixel goes this one can stay", while apps like GIMP will scale smoothly, merging pixels together.
Great start. Could you also attatch the skp file so I can include it in the source code? If you like, I'll take care of getting the png file from the model. Do you think you could model the other 4 icons?
PS: did you get the drill bit from the warehouse? I wouldn't know where to begin to get a spiral!
-
Yes I did get the drill bit from the warehouse I do however have the helix plugin but ran out of time trying to get the effect I was after so I went to the old faithful warehouse where I found the bit instantly. Yes I will give the rest a shot .Can you post a link to this GIMP program. This time I will try to make it all myself as tempting as it is to just find the model your looking for in the warehouse there is so much self rewardisam (for the lack of better terms) in making it from scratch myself.I will pm you the skp file
-
GIMP is an opensource project similar to photoshop. http://gimp-win.sourceforge.net/stable.html It has a steep learning curve and I actually don't recommend it unless you want to design a brochure or poster or something. It's just too powerful. For scaling something like this icon we want I suggest something more user friendly like Picasa. It'll do nicely.
While were on the subject of scaling, in case you ever need to enlarge an image, check this little project out...
http://sourceforge.net/projects/imageenlarger/ Cool stuff -
I was wandering if that file I pm'd you worked out ok I have another in the works but I still cannot get an acceptable image when reducing the pixels to 24X24 maybe you cane work with the skp Files?
Advertisement