Sunday, December 26, 2010

HeeksPython adding python interface

HeeksPython now calls autoexec.py on start up, which can add menus and windows to HeeksCAD.

Friday, November 26, 2010

end holes





These parts are too long to CNC drill the end holes, so I had to make a drilling guide first.
I used a 3mm milling cutter to pocket and profile the shape in the Delrin, then I used the pillar drill and put the aluminium part in the portable vice and held the Delrin guide onto the end of the part to do the drilling. I only used the guide to drill a small depth, then I drilled them through later.

Wednesday, November 3, 2010

Ungluing accident.

 
See my coolant delivery system in action in the video.

I had a problem with this part. The sawn piece was a tight fit in the pocket in the wood sub-table, so it didn't glue well, so it came unstuck soon after the start of machining. You can see the bent path left in the metal, in the video. I remachined the wood and chiselled the side of the pocket bigger and everything else went well, but there is a bit of a gouge out of the top of the circular post feature. Maybe it won't matter too much? The surface finish doesn't seem any different ( the one on the left of the picture is the most recent part ), despite lowering the feedrate to 50 mm/min instead of 100 mm/min. The tool looked slightly worn after the ungluing accident. It doesn't look much more worn after all the machining, so I think that 200 mm/min is better than 300 mm/min. Hopefully the next one I make won't have any mistakes in it.

Part 0012, number 2



I have made another of these parts. This time I tried 3mm depth of cut. It was OK. Also I tried using climb milling for the finishing pass, instead of conventional milling. It isn't much different. Also I put the coolant guard back on, so I could pour the coolant on quicker. I made a mistake with the program for this one and there is a gouge, see the second picture. The tool is very battered. It has only made 2 parts. I noticed it was a bit damaged after the first part, but it is a lot more damaged now. I will try reducing the feedrate from 300 to 200. I will use a new cutter now. Also, the later roughing cuts are leaving the material up to 0.1 too thick. I can't explain this yet, so I will try it again to see if it happens again.

Tuesday, November 2, 2010

Part 0012 without holes


 
 
  
I made this part. No holes in the ends yet, though. The surface finish could be better. I am doing the finishing pass at a feedrate of 100. Maybe I should try 50?
Most of the time was spent doing the roughing, because I was only happy descending 1mm at a time with the 6mm tool. It took about 2 hours machining.

Monday, November 1, 2010

Part 0012, Roughing

The next thing is to calculate roughing toolpath. Here I have made the flat faces into sketches. I have had to draw some extra sketches. If the sketches touch each other, HeeksCNC joins them together nicely. I had to enter the z values correctly. Maybe one day I will automate all of this. There are 6 separate pocket operations.

Part 0012

I am going to make this part out of aluminium alloy.
The first thing is to saw out a piece of Delrin as the sub table and pocket a shape oversize, for the aluminium rectangle to fit in. I can specify to cut a sketch oversize by putting a negative value in the "material allowance" box. I am using a development version of HeeksCNC, which includes a commercial pocketing library written by Lou Lavery, that I am planning on reselling as an option for HeeksCNC when it is ready. I am trying to write a free version of pocketing, but it's not easy.

Thursday, October 21, 2010

Pocketing Reorder

Now, in HeeksCNC, you don't have to worry about which direction ( clockwise or anti-clockwise ) your sketches are drawn. Simply select them all, do "Combine Sketches", then select that resultant sketch before making a pocket operation. The python script now uses the new function area.Reorder(), which checks which curves are inside which and reorders their direction ready for offsetting.

Friday, October 15, 2010

Commercial Pocketing Software

I have been asked to help someone make a commercial Windows dll to do pocketing like in HeeksCNC. Unfortunately the polygon offsetting used in HeeksCNC is derived from the "kbool" software, with its' GPL license, so it has to stay free. I have done quite a lot of work recently to adapt the "Clipper" polygon clipping library to do offsetting too.

Here are my results.
The first picture was made using kbool.

The second picture was made using my modified version of clipper.

Thursday, September 30, 2010

More dialog work

I tidied up the pocket dialog.
I noticed that if the viewing units are in mm, but the NC output units are inches, then all the values in the dialog are in mm ( which is what I expected ) except for the tool description. I am reluctant to change it because the tool decription is used in the comment in the NC code comments, so maybe it should be in NC code units for that.

Thursday, September 23, 2010

Pocket operation now uses a dialog

I have added a pocket operation dialog. When you select a sketch and add a new pocket operation, you get this dialog. When you OK it, the pocket operation gets added. When you double click the operation in the tree, you get the dialog again. When you select a different control, or press Tab to go to the next control, a different picture is shown.

opencamlib operations working again in HeeksCNC

The 3D operations weren't working in HeeksCNC because of some changes that had happened to the syntax in opencamlib . They work OK now. Here is an "attach operation" modifying the toolpath of a pocket operation.

Saturday, September 11, 2010

zig zag option for pocket operation

I added a "use zig zag" check box to the pocket operation in HeeksCNC. It seems to work really well. It works by making a rectangle for each slice of the area. It does a boolean "intersect" of the rectangle with the area to pocket. Then it loops through the resulting spans. It starts with the straight line at the bottom of the result and adds all the spans until it gets to the top of the slice. I also added a "zig angle" value too.

Tuesday, July 27, 2010

Keep tool down

I changed the pocket operation to keep the tool down whenever possible.
I have changed the "area" module to make Subtract work again.
This is my function in area_funcs.py

def feed_possible(p0, p1):
....obround = make_obround(p0, p1, first_offset_for_pocket)
....a = area.Area(area_for_pocket)
....obround.Subtract(a)
....if obround.num_curves() > 0:
........return False
....return True

P.S. how do I get the spaces to stay at the start of the line in blogger?

Friday, July 9, 2010

Attach operation

I have added an "Attach" operation.
You select a solid before making it.
Any other operation done, after an attach operation, will have its feed moves dropped down on to the solid ( or solids ) specified by the attach operation. This can be cancelled by an "Unattach" operation.
In the picture, an existing "Pocket" operation is attached to the cone.
This is not finished yet. I need to add a "minimum z" value to the attach operation; currently it is set to 0. Also, I need to decide if the z height specified in the existing operation should be taken into account. For example, if the pocket operation is trying to cut to z-1, should I make this be 1mm below the surface contact point?

Sunday, June 20, 2010

End Plate

videoI made another part from aluminium alloy.
There were a few lessons learnt here. The most exciting one was where I hadn't tightened the 16mm tool holder into its collet enough. I noticed the tool was cutting deeper than it should, so I paused the machine and set the z lower so it would cut higher.
I started again but it continued to cut deeper as it went. I stopped and adjusted the z value again. I assumend that something was going wrong with the Z axis drive of my machine. I continued to cut until the tool holder fell out and wedged over at an angle!
Fortunately nothing had been damaged, as far as I can tell, and the part had been cut oversize, where it went wrong, so it should be OK.
I had to stop there, yesterday. I came back this morning and tried again. I looked at various positions of the part on the computer and then set the x, y, z of the machine by touching the tool against already machined faces of the part, with a piece of paper. However, as soon as the tool started cutting metal again, the part came unglued. The coolant had unstuck the super-glue, overnight.
I pressed the big red button, took the part off, cleaned it up, machined a new area in the wood, with some islands to locate the part. It was a bit of a tight fit, so I hammered the part down to glue it down. This probably isn't good for my machine, although it is resting on a lump of wood.
I am happy with the finished part. I did have to hammer it straight again afterwards though.
Another thing, I have seen before, is where I am cutting a sharp inside corner ( or one the same radius as the tool radius ). On the finish pass, the amount of material taken off is quite accurate because there is not much deflection or vibration until it gets to the sharp corner. It then momentarily squeals as it cuts the entire corner in one instant. You can see from the last picture how there is a lot of deflection ( I gues about 0.3mm on my 6mm tool. A solution would be to change the shape of the pocket so that the internal radiuses are at least a bit more than the tool radius, or to use a smaller tool.

Tuesday, June 15, 2010

More Delrin parts

Some more parts were asked for, yesterday evening. I have made them and will go to the Post Office tomorrow morning and send them first class.
I made the round ones first. My 6mm tool is cutting slightly too much material, so I set its diameter to 6.05mm for the other parts.

Sunday, June 13, 2010

An aluminium part


Yesterday, after drilling the holes for Part 0009 and making a couple of other small Delrin parts, I made this aluminum ( HE30 ) part for my friend Maaten. There was a mistake on the other side where a profile offset, for a counterbore, failed on HeeksCNC and I didn't realize. This caused the roughing passes to only have lead on and lead off moves, but no profile. The finishing pass, at full depth of 6.5mm was calculated OK, so when it machined the finishing pass, it was almost too much for it and the circular hole wasn't very round.
On the side we can see in the picture, the slots were mostly too wide, because the rough pocketing ( done with 0.1mm extra clearance at the sides ) was done in a "conventional" style, where the path goes clockwise, which caused it to take off too much material. I need to be able to specify "climb" or "conventional" for pocketing aswell as profiling.

Saturday, June 12, 2010

Part 0009 done

I have done these. There were 8 of them to make. My Z travel was not enough to drill them with the drill, which needed an extra chuck, so I drilled them to 3mm deep with my little slot drill, which fitted in the collet, and then drilled them through on Dad's pillar drill.
This is all of the Delrin parts done, for this customer.

Friday, June 11, 2010

Mach 2010

I am here at Mach 2010, telling people about HeeksCNC software. I was thinking that Machine Tool manufacturers might be interested, but they mostly already have ties to commercial CAD/CAM software vendors. I spoke to Ian Walton from Cranfield University. I might help him make some software for his welding machine.

Wednesday, June 9, 2010

Parts 0010 and 0011

2 of each. 0011 was similar to 0010, so I only had to write a couple of operations again.

Tuesday, June 8, 2010

Part 0010


This part requires cutting on almost every side. The way the depth of cut works for pocketing is different to profiling in HeeksCNC. I must make them work the same.
For example the profile operation would have done this with depths of cut ( 5.125, 5.125, 5.125, 5.125 ), but the pocket operation used depths ( 5, 5, 5, 5, 0.5 )

Friday, June 4, 2010

Part 0007 finished

I have made the other copy of this part.
I think there are issues with hole depths, because I made this part 10.3mm thick ( to be sanded down to size ), but then I assumed that that it was 10mm thick for some of the holes.
This should mean that some of the holes are 0.2mm to 0.3mm too shallow.
I'll come back and have a look at these later.

Part 0007 1 done




I finished one of these parts. Now I must make another one. There are various things I am not happy about with this one. Having to cut it in at least 4 different setups has made it difficult to plan the clamping. In the top picture, I have cut the wood so that there is a post for one of the holes at the top right and an island for most of the big circle hole. This was not clamped ideally and you can see in the 3rd picture how the profile doesn't match up.
In the 4th picture, you can see where I made a programming error for one of the holes ( I had to program it separately from the others because of some geometry error I don't understand yet ). I accidentally typed the final depth in to the rapid-to height. This highlights the need for my software to warn me if the rapid-to height is below the start depth. In my next version of the software, the rapid-to height will be a relative distance above, instead of an absolute z height.

Wednesday, May 26, 2010

Part 0007 continues

To get this far, I have written 14 NC files. They are:
001 6mm one quarter face milling
002 6mm counterbores
003 6mm big hole
004 3mm small holes
101 6mm wood area
102 6mm rectangle hole
102b 6mm wood area with island
103 6mm outside profile
104 3mm holes
201 6mm wood area
202 6mm right holes
203 6mm top right profile
204 6mm bottom right profile
205 6mm sub table

No super glue was used. I used double sided carpet tape for the facing operations.
I am using an adjustable spanner each time I change tool, because I don't have a 15mm spanner.
I don't have any safety spectacles.
Today I ordered both these things online as a reward for my hard work.

Part 0007 toolpath

Sitting here waiting for this to be cut on the machine next door. I thought I'd show you the toolpath generated by HeeksCNC 0.13.0 on Windows Vista.
Click on the picture to see it full size.

Part 0007 - wood screw

Here I am clamping by screwing into the wood. I drilled a pilot hole for the wood screw with a hand-held electric drill. I tightened the wood screw until I could hear the wood cracking.
But still I was not clamped tightly enough. In the picture you can see that the tool path has veered to the left as the Delrin has been forced to the right. Fortunately the part is not scrap.
I will re-cut the wood area with an island for the rectangular hole to sit in and try again.

Tuesday, May 25, 2010

Part 0007

Part 0007 is a bigger job than I first thought. I had not noticed that the middle part of it is bigger in Y than my machine can handle. I will need to tackle it in many separate operations. The first job is to face mill it to the right thickness. I have programmed a pocketing operation to do a bit more than a quarter of it. I am using carpet tape to stick it down to the metal of the machine table.

Friday, May 21, 2010

Part 0008 finished



What happened to Part 0007? Apparently it needs another hole in it, so I am waiting for the new CAD file before I start.
Part 0008 was interesting, because it introduced me to the vice and therefore the dial indicator.
The old dial indicator that dad gave me needed moving a few times before it loosened up and would spring back by itself. It is marked in increments of 0.001 inches.

Wednesday, May 19, 2010

Part 0006 finished

I made these two.
This concave corner was drawn as a perfect corner. I have made it with a 3mm radius. I hope this is OK. Also the internal corners I made with a 3mm radius instead of the 2mm radius they were drawn with, so I could use my favourite 6mm slot cutter.
I am not so happy with the holes at the end. I machined a piece of wood with a hole in, as a guide piece to fit the end, then I drilled them on dad's pillar drill. The depth is pretty accurate, but the position is not good. If X is the 100mm side and Y is the 10mm side, then the position is accurate to X 0.02 on each of them, which I am happy with. But on one of them the Y is 0.20 wrong and on the second one Y is 0.10 wrong. For the second one, I put a clamp across the wood, which seems to have helped. I believe I need to use a better material as the guide. I should use an off-cut of delrin. The holes were drawn 6.4mm diameter. I used a 6mm drill and the hole ended up about 5.9mm diameter. I don't have a 6.5mm drill. I will buy a box of drills which include a 6.5mm drill and redrill them with a delrin guide, later.