Skip to content

polycopter/cam

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This is a simple and incomplete way to get a dxf into linuxCNC. There is lots to do but as it is useful to me I will keep working on it and it should be useful soon.

Dependencies:
numpy (http://www.numpy.org/):
      Numpy has a lot of useful math things in it and is used here. It is pretty simple to install on Ubuntu systems and istructions for installation can be found at http://www.scipy.org/Installing_SciPy/Linux.

Usage: (The useage section is a little out of date. Good luck.)
	Download all these files and save to one directory.

	Create and save a dxf . Use circles lines, and lwpolylines (2D polylines, they are usually the defalt type of polyline). 

	Edit "operation.py" with your own favorite text editor.
	Change the following items:

	     ++Near top of file:
	     	    Change:
		    	   path ="/home/tocs/allSortsOfPathInformation/cam/%s"	
			   fiName = path % "CHT.dxf"
	       safeHeight = 0.25
	       straightFeedRate = 65.0

	Open linuxCNC.
	In linuxCNC "File -> Open"
	Select linuxCAM.py
	Be amazed.

Some notes on useage. I have been using DraftSight to draw DXFs. Other programs may or maynot work. Save files as Version 2000 DXF. Sometimes draftsight creates zero radius circles that cannot be seen or deleted in DraftSight. This will cause trouble. You can edit the DXF file and deleat the affending circle. Duplicate entities are also annoying.

This is a very pre beta sort of project right now. It should get better soon but still use with great care if actually cutting something.





README             : This file.


CTH.dxf            : example DXF
NONAME_0.dxf       : example DXF


simpleDXFlib.py    : A simple library to read a DXF file and make the entities 
			avalible to use.
testingCAD.py      : A simple example of using simpleDXFlib.py. May or maynot work.


simpleCAMlib02.py  : A simple library to read a DXF file and make tool paths. It 
			is not at all compleat and can only handle a few entities. 
linuxCAM.py        : A simple program to open DXF files in linusCNC. I would like 
			to make a use interface that allows the user to set the 
			cut depths, type of operations (profile, pockets, ect). It 
			should deal with tools, offset, cutting speeds and all in a f
			airly simple (limitied) way.

ToDo:
- Make everything more uniform in the way objects are handled and used.

- simpleDXFlib:
  + Handle more types of entities. (arcs and regular polylines first)
  + Make editing entities easy.
  + Save DXF files.
  + Group lines and arcs into lwpolylines.
  + Deal with duplicate items and pointless entities (zero radius circles for instance).
  
- simpleCAMlib02:
  + Change the name to just simpleCAMlib (or maybe something else, CTHCam ?)
  + Group individual cuts into "operations".
    ++ Add support for tabs.
    ++ Add support for cutter offsets.
    ++ Add beter ways to define cut depths.
    ++ Add pocketing.
    ++ Add boring.
  + Group "operations" into a "panel" that defines a bunch of operations into one job.

- linuxCAM
  + Think more about the name.
  + Add a user interface.
    ++ Select and open a dxf.
    ++ Display and change:
       +++ cutter information
       +++ material properties (thickness and feed rate).
    ++ select and operations and define:
       +++ operation type (profile, engrave, pocket, ect.)
       +++ cut depth
       +++ offset direction
       +++ add tabs
    ++ Add translation
    ++ Add rotation
    ++ Nesting in general

About

some python cam tools

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%