PDA

View Full Version : ANNOUNCE: pycam - 3D CNC Toolpath Generation‏



lleroy
08-29-2008, 07:03 AM
Hi folks,

I just released a GPL 3D CNC Toolpath Generation program.

You can see some screenshots of it in action at:
http://sourceforge.net/project/screenshots.php?group_id=237831

You can download it from:
http://sourceforge.net/project/showfiles.php?group_id=237831

The GUI is not very sophisticated yet... and the project website is fairly minimal,
but it should be functional...

Please let me know if you are trying it out and what you think...
I'm especially interested in hearing about someone actually using it
to create physical objects...

The first one to do so can put a picture on the project page :-)

-- lode

lezdep
11-11-2008, 02:26 PM
I'm trying your application at the moment. Finishing toolpath looked kind of OK.
I've also got Roughing toolpath from second attempt. I'll have to spend
more time testing it (simulation in EMC2). Major issue I have before I could
run generated toolpaths is 0,0,0 position of the tool at the 0,0,0 coordinates
of the machine. That's deep inside my stock :( I will have to modify toolpaths
manually for now for testing, but would love to see a way in your app to
specify start location relative to stock for g-code program.

Side question - would you be willing to work together with other toolpath
developers and myself on attempt to integrate algorithms into one CAM
Application ? I can suggest 2 alternatives - new app based on Open
Cascade Application Framework (reviving cam-occ project) or adding
3 axes support to GCAM. Toolpath algorithms would have to be ported
to C/C++ though.

lezdep
11-12-2008, 12:29 AM
I've just tried to run roughing and finishing toolpaths in EMC2's simulation again.
Actually biggest issue, which would prevent me from running them on real CNC
machine, is the way rapid movements are coded. Many rapid moves are done
alongside the stock with tool partially inside stock. That will brake the tool for sure.
I'm not certain if it is related to 0,0,0 start location, but it seems to me that rapid
moves are done towards the middle line of stock, instead of out of the stock to
safe distance above it. Could you check your logic there ?

I've only tried couple of combinations suggested for roughing and finishing like
"Cylindrical cutter with the PushCutter Pathgenerator and the Polygon PostProcessor" and
"Spherical cutter with the DropCutter Pathgenerator and the ZigZag PostProcessor".
For other combinations I saw toolpaths generated with rapid moves right through the
stock :confused: Looks like these rapid movements require lot more work in current version.

lleroy
11-14-2008, 12:39 PM
A few bugs have been fixed since the 0.1 release...
It should now be able to generate toolpaths for EMC2

Feedback is welcome...

Dan Falck
11-16-2008, 12:51 PM
Hi lleroy,

Thank you for producing this program. I think it this program can fill a gap in the opensource CAM world. I was able to run pycam-0.1.3 successfully (on Ubuntu 8.04). When attempting to run pycam-0.1.4, I get this error message:

~/CAM/pycam-0.1.4$ python pycam.py
Traceback (most recent call last):
File "pycam.py", line 6, in <module>
from pycam.Gui.SimpleGui import SimpleGui
File "/home/dan/CAM/pycam-0.1.4/pycam.py", line 6, in <module>
from pycam.Gui.SimpleGui import SimpleGui
ImportError: No module named Gui.SimpleGui

lezdep
11-16-2008, 02:56 PM
Hmm, I'm running 0.1.4 on same Ubuntu version just fine. Have you installed all
required dependency packages ?

So far my tests with 0.1.4 produced quite decent results. Beside some limitations
of algorithms, tools to not crash into stock anymore and I plan to do real cuts on
my CNC Mill as soon as I have time. I encourage others to try it and provide feedback.
This way Lode could make it better.

Dan Falck
11-16-2008, 03:18 PM
The dependencies shouldn't have given a problem on this system (in theory...) since pycam-0.1.3 works. I use pyopengl and togl for a lot of other projects. But,that's not to say that Togl isn't causing problems this time-or that I don't have file permissions set wrong- or my directory paths wrong...
I'll dig a little more.

Thanks,
Dan

lleroy
11-16-2008, 03:33 PM
looks like there is a missing file in that release.
you can fix it by copying the file pycam/__init__.py from the 0.1.3 release...

thanks for reporting this!
-- lode

Dan Falck
11-16-2008, 03:38 PM
lleroy,

Thanks- that was it.

Dan

Dan Falck
11-16-2008, 04:21 PM
lleroy,

Could you introduce a feature to be able to change the direction of the cutter path? I would like to run the cutter from +Y to -Y on some parts.

Thanks,
Dan

lleroy
11-17-2008, 05:03 AM
yes, that's easy... it will be part of the next release... meanwhile,
you can get the current code from subversion:
http://pycam.svn.sourceforge.net/viewvc/pycam/trunk.tar.gz?view=tar
-- lode

Dan Falck
11-17-2008, 10:34 AM
lleroy,

I did a SVN checkout and it works. Thank you- that's it.

Dan

Dan Falck
11-22-2008, 09:44 PM
lleroy,

If you get a chance and would like to chat on IRC - join freenode #cam
There are several other guys who hang out on that channel that have downloaded pycam and are trying it out.

Thanks,
Dan

lezdep
11-23-2008, 11:40 PM
So, there are people testing it. Is there a way to make them post here ? What are they
talking about ? From my experience at the moment finishing toolpath algorithms
(DropCutter with ZigZagCutter) do not generate vertical drops :( That's an issue preventing
me from trying to actually cut something on my CNC Mill.

I don't know how toolpath calculations work in pycam, but my gut feeling is there is
some trivial mistake in the code (may be not so trivial), which makes otherwise correct
algorithm generate slops instead of verticals. Hope Lode will have time to chase this
issue down eventually.

cyclestart
11-24-2008, 12:57 AM
Hi lode

Thanks for pycam. :cheers:

Looking at it the first time this evening so not much to report so far. The usual CAM terms like 'contour' are absent and some the terms like 'drop cutter' are unfamiliar to me. No worries, I'll puzzle it out. :)

Is it possible you have no cnc machine to test the g_code output? Just curious as there are no examples on your site. Maybe I can carve out something worthy of display. Got to sort out an ailing axis drive first.

Dan Falck
11-24-2008, 10:52 AM
So, there are people testing it. Is there a way to make them post here ? What are they
talking about ? From my experience at the moment finishing toolpath algorithms
(DropCutter with ZigZagCutter) do not generate vertical drops :( That's an issue preventing
me from trying to actually cut something on my CNC Mill.

I don't know how toolpath calculations work in pycam, but my gut feeling is there is
some trivial mistake in the code (may be not so trivial), which makes otherwise correct
algorithm generate slops instead of verticals. Hope Lode will have time to chase this
issue down eventually.

I like to chat with some folks on the #emc channel on freenode and some of us started a #cam channel there too ( several years ago). It's nice being able to chat in real time, because we try things on our respective computers, show off screen shots , and help each other out. The guy who wrote aptos (apt360 linux port) is always there, plus several guys with cnc programming/machining experience. I believe that some of these guys will be posting here soon.
Three of us tried out pycam yesterday and everyone was pleasantly surprised. It has a long way to go but has lot of potential. I like the fact that it's written in python and is fairly easy to understand the underlying code.

Pycam is layed out logically and should be easy to adapt to other projects, if one wants to. I can see using it along with the other small g-code generators here- http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?Simple_EMC_G-Code_Generators for a lot of stuff.

I was able to change where the tool went between zigzag passes by looking for the the z_safe height variable in one of the files. The screen shot here is from a guitar neck iges file.

lezdep
11-24-2008, 03:56 PM
Version from SVN behaves OK in between zigzag passes. Did anyone try
DropCutter ? Issue for me is that for whatever reason on drops up and down
it doesn't follow vertical geometry boundaries, instead it produces slops.
If anyone could locate and fix this issue, I will be happy camper and will try
to machine my first parts using pycam's toolpaths.

Does anyone know what "Number of samples" parameter is for ?

What time are you guys on-line normally ? And which IRC client would be
the best available on Ubuntu ?

Dan Falck
11-24-2008, 04:03 PM
I'm using Pidgin for IRC because it was easy to install from synaptic on Ubuntu. I'm online right now, but there's usually someone on most of the day and into the night.

Dan

lleroy
11-25-2008, 04:24 AM
Does anyone know what "Number of samples" parameter is for ?

The DropCutter goes as folows:
1)make lines along the X-axis
2)for each line, take a number of samples
3)at each sample, drop the cutter until it hits the model, this is a cutter location point
4)connect the cutter location points along the line

see also the bundled HOWTO.txt

btw, I've uploaded a new release 0.1.5 with a fix for the verticals in DropCutter

lezdep
11-26-2008, 12:19 AM
New DropCutter looks a lot better. There still seems to be some glitches. But for
my simpler and bigger part it generates acceptable toolpaths.

Increasing number of samples help to make much more smoother toolpaths.

lleroy
11-26-2008, 04:02 AM
There still seems to be some glitches.
yep, there was a small bug in there... it's fixed now...

lezdep
11-26-2008, 08:24 AM
Great. SVN has the latest, I assume.


yep, there was a small bug in there... it's fixed now...

lezdep
11-26-2008, 08:30 AM
Doesn't look like it is. "svn update" haven't downloaded anything. Could you
check in your latest changes ?


Great. SVN has the latest, I assume.

Death Adder
11-26-2008, 08:47 AM
The DropCutter goes as folows:
1)make lines along the X-axis
2)for each line, take a number of samples
3)at each sample, drop the cutter until it hits the model, this is a cutter location point
4)connect the cutter location points along the line

see also the bundled HOWTO.txt

btw, I've uploaded a new release 0.1.5 with a fix for the verticals in DropCutter

Would it not be better to go by tolerance instead of # of samples? It's difficult to determine how many samples are needed to get down to an acceptable tolerance.

lezdep
11-26-2008, 11:09 AM
Is anyone working on the GUI modifications at the moment ? I think it would
make sense to move button/parameters pane to the side of main window and
make it fixed size, allowing preview pane to be bigger. Also it would be very
helpful to allow interactive navigation in preview. At the moment only
zoom works for me. 3D rotation and panning would be great.

I don't know Python, but I'll try to learn it and look if I could do some
GUI modifications. Lode, if you point out modules/files where current GUI is
implemented, that would help me a bit to get started.

lleroy
11-26-2008, 12:32 PM
3D rotation and panning would be great.
hold down left mouse button in the 3D visualization and move -> rotate

hold down right mouse button in the 3D visualization and move -> zoom

hold down middle mouse button in the 3D visualization and move -> pan

lleroy
11-26-2008, 12:37 PM
I don't know Python, but I'll try to learn it and look if I could do some
GUI modifications. Lode, if you point out modules/files where current GUI is
implemented, that would help me a bit to get started.

the gui is based on tk (see http://infohost.nmt.edu/tcc/help/pubs/tkinter.pdf)

the gui is completely defined inside the file pycam/GUI/SimpleGui.py

please leave it as is, but copy it to something else,
like "pycam/GUI/FancyGui.py" and edit pycam.py accordingly,
or copy it to something else too...

lezdep
11-26-2008, 02:49 PM
That does not work for me. I've got bunch of messages in xterm, I've
started pycam from. I didn't pay close attention. I guess I have to find
out what those messages are saying ;) Thanks.


hold down left mouse button in the 3D visualization and move -> rotate

hold down right mouse button in the 3D visualization and move -> zoom

hold down middle mouse button in the 3D visualization and move -> pan

lezdep
11-30-2008, 12:59 AM
While I don't have wiki access yet, I'll post my wish list (mini todo) here, just to
capture it somewhere.

- input field for feed rate (Fxxx in g-code)
- input field for plunge rate (Fxxx on verticals in g-code)
- input field for tool number (Tx M6 in g-code)
- control for direction of cutting - conventional or climbing
would help with some parts where zigzag pattern does not work well

lezdep
11-30-2008, 01:51 AM
One more - change tool and torus radius to accept diameter instead.

I'm so used to specify diameter, that I only realized today - I was using tool
size 2 time bigger. Ooops.

lezdep
01-13-2009, 11:07 PM
Done my first machining using toolpath generated by pycam. Used DropCutter/ZigZagCutter
to generate finishing toolpath. Roughing toolpath was generated using Adaptive Clearing demo from freesteel.co.uk

lezdep
01-13-2009, 11:09 PM
Here are images of Adaptive Clearing demo's toolpath machining

lleroy
01-14-2009, 03:59 AM
Thanks for posting the pictures... It's cool to see pycam in use!

danheeks
01-15-2009, 04:57 PM
leroy,

This looks good.
I had to move the test files from "trunk/Tests" to "trunk" to run them

DropCutterTest.py is not up to date:
I had to add an extra parameters to the call to pg.GenerateToolPath
and I had to add 5 more parameters to the call to SimpleGCodeExporter

Your code is easy to read. I can see how to use it.

The tool path has lots of small tangential moves, which I will have to join.
Do you already have a function to join tangential moves?

I am going to try this with my Open Cascade GUI, http://code.google.com/p/heekscnc/ ( it's not finished yet )

Dan Heeks.

lezdep
01-15-2009, 09:20 PM
Hey, Dan

Have you looked at occ-cam and Olivier Coma's project ?

http://cam.occ.googlepages.com/
http://olivier.coma.free.fr/opencascade/opencascade.html

I believe there is some useful code in those projects. But I'm not very
efficient in C++ myself.

Did you try Salome ?


leroy,

I am going to try this with my Open Cascade GUI, http://code.google.com/p/heekscnc/ ( it's not finished yet )

Dan Heeks.

lleroy
01-16-2009, 04:06 AM
I had to move the test files from "trunk/Tests" to "trunk" to run them

I normally run the test as "python Tests/DropCutterTest.py"


DropCutterTest.py is not up to date:
I had to add an extra parameters to the call to pg.GenerateToolPath
and I had to add 5 more parameters to the call to SimpleGCodeExporter

I noticed your patch, and merged it, thanks for reporting...


The tool path has lots of small tangential moves, which I will have to join.
Do you already have a function to join tangential moves?

do you mean that multiple moves that are colinear should be joined into one linear move? no I haven't done that... it should be very easy to implement, but I consider it an optimization (http://www.softwarequotes.com/ShowQuotes.asp?ID=577&Name=Jackson,_Michael_A.&Type=Q#2084)
-- lode

danheeks
01-16-2009, 04:57 AM
lode,
>> I normally run the test as "python Tests/DropCutterTest.py"

Yes, that works. I have removed my copied files now.

>> do you mean that multiple moves that are colinear should be joined into one linear move?
Yes. If your code doesn't do it, then my code must do it.



lezdep,
I had not looked at these projects before. Thanks for telling me about them.
* cam.occ uses the Open CASCADE model to get the toolpath directly. This means the toolpath is accurate, but the algorithm can not be used for .stl files.
*olivier.coma This is interesting, he is doing 5-axis machining.
* SALOME This is a big project. I will look at this more, later.

lleroy
01-16-2009, 06:39 AM
Dan,

how are you going about to integrate pycam into heekscnc?
I had thought about the following:
1) you write a file "model.stl" and a file "model.cfg" (see Samples/TestModel.stl and .cfg)
2) you call "pycam.py model.stl model.gcode"
3) recover the output file

It should be easy to add an pycam/Exporters/SomethingExporter.py
that outputs the toolpaths in a format that's easier for you to parse
rather than gcode...

-- lode

danheeks
01-16-2009, 07:06 AM
lode,

I did not plan to use the .cfg file.
Some of my operations may use Python that is not in pycam.
heekscnc will write an stl file for each operation that uses drop cutter. It will then write a Python file including:
pathlist = pg.GenerateToolPath(x0, x1, y0, y1, z0, z1, dx, dy, 0)
followed by:
CutPathList(pathlist) which will call my feed and rapid functions.

We are planning to write backplotters specific to different machines, so that the user can see toolpath from old NC files, so I will use these to see the toolpath.

However, it would probably be better if I could integrate my NC code generators and backplotters into your project.
We haven't written much, yet. We are doing it in an object-oriented way, so that new exporters can be derived from existing exporters. See http://code.google.com/p/heekscnc/source/browse/trunk/nc/iso.py which is derived from http://code.google.com/p/heekscnc/source/browse/trunk/nc/nc.py These have been contributed by Hirutso Enni, a contributor to HeeksCNC, this week. I will ask him to contact you to talk about it. Please email me so I have your email address. danheeks@gmail.com

Dan.

lezdep
01-16-2009, 04:50 PM
Look closely at Salome. I think it's very well featured and complete 3D CAD.
Parametrized design is missing, but nevertheless, definitely very functional.
You might decide to either join forces with them or concentrate on CAM
integration for example, instead of re-doing in heekscad things available in
Salome.



lezdep,
I had not looked at these projects before. Thanks for telling me about them.
* cam.occ uses the Open CASCADE model to get the toolpath directly. This means the toolpath is accurate, but the algorithm can not be used for .stl files.
*olivier.coma This is interesting, he is doing 5-axis machining.
* SALOME This is a big project. I will look at this more, later.

danheeks
01-16-2009, 05:25 PM
lezdep, SALOME: Is there a download for my computers ( Windows Vista or XP or Ubuntu 8.04 ) ?

lezdep
01-16-2009, 06:08 PM
There is standalone Linux executable here -

http://caelinux.com/CMS/index.php?option=com_content&task=view&id=44&Itemid=40

They also have bootable LiveDVD you can run on any PC.

lezdep
01-18-2009, 04:38 AM
Another session of machining. Other side of my part. This time I generated both roughing
and finishing toolpaths using pycam. Overall toolpath are acceptable. Issues are related
to the fact, that hight of toolpath is bigger than length of cutting portion of my tool. So on
some passes, tool was cutting only part of the stock, while deflecting from another part.

There are couple picture of produced part. It's not ideal, but good first try.

danheeks
01-18-2009, 05:40 AM
Good work, lezdep.

Lode,
I can now open an NC file into my CAM software.
The toolpath isn't quite right.
Please look at my blog for details.
http://heekscnc.blogspot.com/2009/01/pycam-dropcutter.html
Is there something I can change?

Dan.

lezdep
01-18-2009, 01:03 PM
DropCutter would normally work with ZigZagCutter. There are "valid" combinations
listed in README file. Which combination of cutters have you used ?


Good work, lezdep.

Lode,
I can now open an NC file into my CAM software.
The toolpath isn't quite right.
Please look at my blog for details.
http://heekscnc.blogspot.com/2009/01/pycam-dropcutter.html
Is there something I can change?

Dan.

danheeks
01-18-2009, 02:29 PM
It's OK, I have found the problem.
In SimpleGCodeExporter.py there are lines like this:
# self.file.write(gc.rapid(point.x,point.y,gc.safetyheight)+"\n")
to rapid to the clearance plane, but they are commented out.
Anyway, I have written my own exporter for HeeksCNC, see here http://code.google.com/p/heekscnc/source/browse/trunk/PyCamToHeeks.py
I now have a zig zag operation in HeeksCNC, that makes NC code with my existing mechanism and backplots the NC file, so I can see the toolpath. See my blog for a picture http://heekscnc.blogspot.com/2009/01/zig-zag-thanks-to-pycam.html

lleroy
01-19-2009, 08:58 AM
Another session of machining. Other side of my part. This time I generated both roughing and finishing toolpaths using pycam.
:banana:


Overall toolpath are acceptable. Issues are related to the fact, that hight of toolpath is bigger than length of cutting portion of my tool. So on
some passes, tool was cutting only part of the stock, while deflecting from another part.

Maybe this can be solved for now by first doing the roughing with PushCutter/Polygon in x direction, and then in y direction? It would be mostly cutting air, but it should remove the nasty bits for the DropCutter/ZigZag....?
Of course, this will be the job of the PushCutter/Contour once that's working.

lezdep
01-20-2009, 01:10 AM
One thing to note - roughing toolpath was generated with previous version.
PushCutter appears to be broken in current version.

One direction milling we talked about would help somewhat in my case.
Combination with Adaptive Clearing worked good though.


:banana:

Maybe this can be solved for now by first doing the roughing with PushCutter/Polygon in x direction, and then in y direction? It would be mostly cutting air, but it should remove the nasty bits for the DropCutter/ZigZag....?
Of course, this will be the job of the PushCutter/Contour once that's working.

lezdep
03-27-2009, 02:14 PM
Did more machining. PyCAM was used to generate number of toolpaths. Worked
quite well. Nice thing about PyCAM is that it allows to define toolpath's borders implicitly.
So, I could only generate toolpath for selected portion of my 3D model.
For example only packets in parts were machined with CNC. Rest I've done manually.

I found PyCAM to be very useful and working well for me. Next will be machining
of diffuser for my model. I will show results as soon as I'm done. All toolpaths for
that work were generated using PyCAM.

roger_e
05-20-2009, 10:51 PM
Okay I got Ubuntu 8.04 and EMC2 on a dual boot.

My machine is a minitech 4Axis...and I use it comercially....right now with mach3 and lazy cam...for the business we are ordering Visual Mill...

WE make optical components

So I got a system and time to play around with pycam...What is the direct way to get it up and running on Ubuntu 8.04?

Thanks

lleroy
05-25-2009, 03:59 AM
So I got a system and time to play around with pycam...What is the direct way to get it up and running on Ubuntu 8.04?


thanks for your interest in pycam... unfortunately I do not know ubuntu... so I cannot provide you a step-by-step guidance.
there are some hints on the help forum: http://sourceforge.net/forum/forum.php?forum_id=860184

posix
11-26-2009, 06:36 AM
is this lode from brussels?

lleroy
11-27-2009, 05:25 AM
yep, who's asking?

posix
11-27-2009, 06:10 AM
remember kelderke and stomp and snails?
we worked together many years ago at icon.
it's interesting to see that after we worked together with same technology that we're both into cnc after so many years! :wave:

sumpfralle
03-04-2010, 07:48 AM
There is a new release of pycam available (v0.2). It contains a new GUI based on GTK and a lot of new features:
* improved performance by (optionally) using the "Open Dynamics Engine" (ODE) for collision detection
* configurable 3D view settings: model / toolpath / axis / drill progress / frame rate / colors
* manipulation of the model: rotation, flip, swap, scale, move
* saving the model to an ascii STL file
* load/save processing settings from/to a file
* handling of multiple processing templates (e.g. "Rough", "Semi-finish" and "Finish")
* configure "material allowance" for a minimum distance between drill and model
* allow to manage and export (gcode) multiple toolpaths at once
* visualize invalid processing setting combinations

Try it out, if you are interested:
http://sourceforge.net/projects/pycam/files/

lezdep
03-09-2010, 12:16 AM
Got to find time to try it. Sounds promising.
sumpfralle are you helping out with development or completely taking over ?

kanton
03-09-2010, 05:20 AM
I would like to try Pycam under Ubuntu 8.04. I downloaded the files at:http://sourceforge.net/projects/pycam/files/ but I cannot figure out the instructions in the install.txt file.

Is there an easier install method or a clearer set of install instructions available?

sumpfralle
03-09-2010, 06:44 AM
I would like to try Pycam under Ubuntu 8.04. I downloaded the files at:http://sourceforge.net/projects/pycam/files/ but I cannot figure out the instructions in the install.txt file.

I would like to improve the installation instructions. Thus it would be great, if you could tell me, which part of the install.txt is hard to understand or confusing. Thanks!

Regarding your question: basically it boils down to the following:
sudo apt-get install python-gtkglext1 python-pyode python-opengl python-gtk2

Since your version of Ubuntu is older than "Karmic", you would also need to install two new packages from the "Karmic" repository. BEWARE: in the long term this can cause problems with your system.
Do the following to install the two new packages:
1) add "Karmic" to your package repository list (via "synaptic" or with your favourite text editor)
2) run "sudo apt-get update"
3) run "sudo apt-get install python-pyode python-opengl"
4) remove "Karmic" from your repository list again

When you are done, you can just run "./pycam.py" to start the program.

I hope, this helped,
Lars

sumpfralle
03-09-2010, 06:50 AM
Got to find time to try it. Sounds promising.
sumpfralle are you helping out with development or completely taking over ?

Hehe - someone noticed the name change :)

I just joined the project. Lode and me were communicating a lot about these changes.
As a nice side-effect, the danger of a "sudden death" of the project should be greatly reduced :)

kanton
03-09-2010, 10:59 PM
sumpfralle,

I got as far as:

"Do the following to install the two new packages:
1) add "Karmic" to your package repository list (via "synaptic" or with your favourite text editor)"

How do I add "Karmic" to my package repository list using
"synaptic"?

Why isn't there a version of your program that runs under "Hardy" without adding the "Karmic" stuff as the standard EMC install package comes with "Hardy"?

Thanks.

sumpfralle
03-10-2010, 06:16 AM
sumpfralle,

I got as far as:

"Do the following to install the two new packages:
1) add "Karmic" to your package repository list (via "synaptic" or with your favourite text editor)"

How do I add "Karmic" to my package repository list using
"synaptic"?

You find the repositories in: "Settings -> Repositories".
Here you can select each listed repository and replace "Hardy" with "Karmic" (see the text input field below labeled "Distribution").
Afterwards you need to update your package list (the toolbar button "Reload"). Now you can search for two packages "python-opengl" and "python-pyode".

Don't forget to switch the repository back to "Hardy" after you installed the two packages.


Why isn't there a version of your program that runs under "Hardy" without adding the "Karmic" stuff as the standard EMC install package comes with "Hardy"?

Thanks.

It's a pity, but I discovered, that the above packages for Debian "Lenny" cause a problem with the OpenGL 3D view of the model. Additionally specific setups of the path generation cause the program to get stuck with this older version of ODE for python ("python-pyode").

The specific problematic packages from lenny are identical to the ones in Ubuntu "Jaunty". Thus I guess, the same problem applies here.

Please try, if pycam just works with your pure "Hardy" setup. Maybe these (even older) packages work, so you don't need to go through the hassle of a mixed repository system. Please report back, then I will adjust the installation instructions accordingly.
Thanks!

kanton
03-10-2010, 07:24 AM
sumpfralle,

In "synaptic" I changed all the "hardy" references to "karmic" except for the "hardy" install disk which I did not put in my laptop. As you can see from the stuff below the install did not work. Do I need a "karmic" install disk in the computer for this to work? What else do you suggest?

Thanks again for your help!

prof@prof-desktop:~$ sudo apt-get install python-gtkglext1 python-pyode python-opengl python-gtk2
Reading package lists... Done
Building dependency tree
Reading state information... Done
python-gtkglext1 is already the newest version.
python-pyode is already the newest version.
python-opengl is already the newest version.
python-gtk2 is already the newest version.
The following packages were automatically installed and are no longer required:
libqt4-opengl libqt4-test libqt4-core libqt4-gui libqt4-svg
Use 'apt-get autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
prof@prof-desktop:~$ sudo apt-get update
Ign cdrom://Ubuntu 8.04 _Hardy Heron_ - Release i386 (20080423) hardy Release.gpg
Ign cdrom://Ubuntu 8.04 _Hardy Heron_ - Release i386 (20080423) hardy/main Translation-en_US
Ign cdrom://Ubuntu 8.04 _Hardy Heron_ - Release i386 (20080423) hardy/restricted Translation-en_US
Ign cdrom://Ubuntu 8.04 _Hardy Heron_ - Release i386 (20080423) hardy Release
Ign cdrom://Ubuntu 8.04 _Hardy Heron_ - Release i386 (20080423) hardy/main Packages
Ign cdrom://Ubuntu 8.04 _Hardy Heron_ - Release i386 (20080423) hardy/restricted Packages
Err cdrom://Ubuntu 8.04 _Hardy Heron_ - Release i386 (20080423) hardy/main Packages
Please use apt-cdrom to make this CD-ROM recognized by APT. apt-get update cannot be used to add new CD-ROMs
Err cdrom://Ubuntu 8.04 _Hardy Heron_ - Release i386 (20080423) hardy/restricted Packages
Please use apt-cdrom to make this CD-ROM recognized by APT. apt-get update cannot be used to add new CD-ROMs
Hit http://archive.ubuntu.com hardy Release.gpg
Ign http://archive.ubuntu.com hardy/main Translation-en_US
Hit http://archive.canonical.com karmic Release.gpg
Ign http://archive.canonical.com karmic/partner Translation-en_US
Ign http://www.linuxcnc.org karmic Release.gpg
Ign http://archive.ubuntu.com hardy/restricted Translation-en_US
Ign http://archive.ubuntu.com hardy/universe Translation-en_US
Ign http://archive.ubuntu.com hardy/multiverse Translation-en_US
Hit http://archive.ubuntu.com hardy-updates Release.gpg
Ign http://archive.ubuntu.com hardy-updates/main Translation-en_US
Ign http://archive.ubuntu.com hardy-updates/restricted Translation-en_US
Ign http://archive.ubuntu.com hardy-updates/universe Translation-en_US
Ign http://archive.ubuntu.com hardy-updates/multiverse Translation-en_US
Hit http://archive.ubuntu.com hardy-backports Release.gpg
Hit http://archive.canonical.com karmic Release
Ign http://archive.ubuntu.com hardy-backports/main Translation-en_US
Ign http://archive.ubuntu.com hardy-backports/restricted Translation-en_US
Ign http://archive.ubuntu.com hardy-backports/universe Translation-en_US
Ign http://archive.ubuntu.com hardy-backports/multiverse Translation-en_US
Hit http://archive.ubuntu.com hardy-security Release.gpg
Ign http://archive.ubuntu.com hardy-security/main Translation-en_US
Hit http://archive.canonical.com karmic/partner Packages
Ign http://archive.ubuntu.com hardy-security/restricted Translation-en_US
Ign http://archive.ubuntu.com hardy-security/universe Translation-en_US
Ign http://archive.ubuntu.com hardy-security/multiverse Translation-en_US
Hit http://archive.ubuntu.com hardy-proposed Release.gpg
Ign http://archive.ubuntu.com hardy-proposed/restricted Translation-en_US
Ign http://www.linuxcnc.org karmic/base Translation-en_US
Ign http://archive.ubuntu.com hardy-proposed/main Translation-en_US
Ign http://archive.ubuntu.com hardy-proposed/multiverse Translation-en_US
Ign http://archive.ubuntu.com hardy-proposed/universe Translation-en_US
Hit http://archive.ubuntu.com hardy Release
Hit http://archive.canonical.com karmic/partner Sources
Hit http://archive.ubuntu.com hardy-updates Release
Hit http://archive.ubuntu.com hardy-backports Release
Hit http://archive.ubuntu.com hardy-security Release
Hit http://archive.ubuntu.com hardy-proposed Release
Hit http://archive.ubuntu.com hardy/main Packages
Hit http://archive.ubuntu.com hardy/restricted Packages
Hit http://archive.ubuntu.com hardy/universe Packages
Hit http://archive.ubuntu.com hardy/restricted Sources
Hit http://archive.ubuntu.com hardy/main Sources
Hit http://archive.ubuntu.com hardy/multiverse Sources
Hit http://archive.ubuntu.com hardy/universe Sources
Hit http://archive.ubuntu.com hardy/multiverse Packages
Hit http://archive.ubuntu.com hardy-updates/main Packages
Hit http://archive.ubuntu.com hardy-updates/restricted Packages
Hit http://archive.ubuntu.com hardy-updates/universe Packages
Hit http://archive.ubuntu.com hardy-updates/restricted Sources
Hit http://archive.ubuntu.com hardy-updates/main Sources
Hit http://archive.ubuntu.com hardy-updates/multiverse Sources
Hit http://archive.ubuntu.com hardy-updates/universe Sources
Hit http://archive.ubuntu.com hardy-updates/multiverse Packages
Hit http://archive.ubuntu.com hardy-backports/main Packages
Ign http://www.linuxcnc.org karmic/emc2.2 Translation-en_US
Hit http://archive.ubuntu.com hardy-backports/restricted Packages
Hit http://archive.ubuntu.com hardy-backports/universe Packages
Hit http://archive.ubuntu.com hardy-backports/multiverse Packages
Hit http://archive.ubuntu.com hardy-backports/main Sources
Hit http://archive.ubuntu.com hardy-backports/restricted Sources
Hit http://archive.ubuntu.com hardy-backports/universe Sources
Hit http://archive.ubuntu.com hardy-backports/multiverse Sources
Hit http://archive.ubuntu.com hardy-security/main Packages
Hit http://archive.ubuntu.com hardy-security/restricted Packages
Hit http://archive.ubuntu.com hardy-security/universe Packages
Hit http://archive.ubuntu.com hardy-security/restricted Sources
Hit http://archive.ubuntu.com hardy-security/main Sources
Hit http://archive.ubuntu.com hardy-security/multiverse Sources
Hit http://archive.ubuntu.com hardy-security/universe Sources
Hit http://archive.ubuntu.com hardy-security/multiverse Packages
Hit http://archive.ubuntu.com hardy-proposed/restricted Packages
Hit http://archive.ubuntu.com hardy-proposed/main Packages
Ign http://www.linuxcnc.org karmic Release
Hit http://archive.ubuntu.com hardy-proposed/multiverse Packages
Hit http://archive.ubuntu.com hardy-proposed/universe Packages
Hit http://archive.ubuntu.com hardy-proposed/restricted Sources
Hit http://archive.ubuntu.com hardy-proposed/main Sources
Hit http://archive.ubuntu.com hardy-proposed/multiverse Sources
Hit http://archive.ubuntu.com hardy-proposed/universe Sources
Ign http://www.linuxcnc.org karmic/base Packages
Ign http://www.linuxcnc.org karmic/emc2.2 Packages
Ign http://www.linuxcnc.org karmic/base Sources
Ign http://www.linuxcnc.org karmic/emc2.2 Sources
Err http://www.linuxcnc.org karmic/base Packages
404 Not Found
Err http://www.linuxcnc.org karmic/emc2.2 Packages
404 Not Found
Err http://www.linuxcnc.org karmic/base Sources
404 Not Found
Err http://www.linuxcnc.org karmic/emc2.2 Sources
404 Not Found
W: Failed to fetch cdrom:[Ubuntu 8.04 _Hardy Heron_ - Release i386 (20080423)]/dists/hardy/main/binary-i386/Packages.gz Please use apt-cdrom to make this CD-ROM recognized by APT. apt-get update cannot be used to add new CD-ROMs

W: Failed to fetch cdrom:[Ubuntu 8.04 _Hardy Heron_ - Release i386 (20080423)]/dists/hardy/restricted/binary-i386/Packages.gz Please use apt-cdrom to make this CD-ROM recognized by APT. apt-get update cannot be used to add new CD-ROMs

W: Failed to fetch http://www.linuxcnc.org/hardy/dists/karmic/base/binary-i386/Packages.gz 404 Not Found

W: Failed to fetch http://www.linuxcnc.org/hardy/dists/karmic/emc2.2/binary-i386/Packages.gz 404 Not Found

W: Failed to fetch http://www.linuxcnc.org/hardy/dists/karmic/base/source/Sources.gz 404 Not Found

W: Failed to fetch http://www.linuxcnc.org/hardy/dists/karmic/emc2.2/source/Sources.gz 404 Not Found

E: Some index files failed to download, they have been ignored, or old ones used instead.
prof@prof-desktop:~$ sudo apt-get install python-pyode python-opengl
Reading package lists... Done
Building dependency tree
Reading state information... Done
python-pyode is already the newest version.
python-opengl is already the newest version.
The following packages were automatically installed and are no longer required:
libqt4-opengl libqt4-test libqt4-core libqt4-gui libqt4-svg
Use 'apt-get autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
prof@prof-desktop:~$ ./pycam.py
bash: ./pycam.py: No such file or directory
prof@prof-desktop:~$

kanton
03-10-2010, 07:41 AM
sumpfralle,

Another thought, before I go to bed, if I just want to try PyCAM should I install Karmic Ubuntu 32 in place of Hardy Ubuntu 32?

Thanks!

sumpfralle
03-10-2010, 08:26 AM
Hi kanton,

maybe you could just try to run PyCAM with your current ("hardy") packages? As I suggested below it may well work. Just run "./pycam.py" in the directory where you downloaded PyCAM.

If you encounter problems with PyCAM, then please post the result of the following command:
dpkg -l | grep -E "(python-opengl|python-gtk2|python-pyode|python-gtkglext)"
This will make it easier to debug any possible issues.
Thanks!

kanton
03-10-2010, 08:27 PM
sumpfralle,

As you requested:

prof@prof-desktop:~$ cd /usr/lib/python2.5/site-packages/pycam
prof@prof-desktop:/usr/lib/python2.5/site-packages/pycam$ ./pycam.py
bash: ./pycam.py: No such file or directory
prof@prof-desktop:/usr/lib/python2.5/site-packages/pycam$ dpkg -l | grep -E "(python-opengl|python-gtk2|python-pyode|python-gtkglext>

sumpfralle
03-11-2010, 12:11 AM
sumpfralle,

As you requested:

prof@prof-desktop:~$ cd /usr/lib/python2.5/site-packages/pycam
prof@prof-desktop:/usr/lib/python2.5/site-packages/pycam$ ./pycam.py
bash: ./pycam.py: No such file or directory

Did you really extract the archive in this directory?

After downloading the archive (e.g. the "tar.gz" archive) you can unpack it:
tar xzf pycam-0.2.1.tar.gz

Then you need to enter the extracted directory:
cd pycam-0.2.1

Here you should see the "pycam.py" file (try: "ls -l" to see the list of files).


prof@prof-desktop:/usr/lib/python2.5/site-packages/pycam$ dpkg -l | grep -E "(python-opengl|python-gtk2|python-pyode|python-gtkglext>

It looks like you forgot the final bracket and the quotation mark.

dpkg -l | grep -E "(python-opengl|python-gtk2|python-pyode|python-gtkglext)"

Please try it again!

kanton
03-12-2010, 05:48 AM
sumpfralle,

I gave up trying to install Pycam under Hardy Ubuntu 32 and installed Karmic Ubuntu 32 in place of Hardy Ubuntu 32.
I downloaded pycam-0.2.1.tar.gz and unpacked it into a directory Pycam.
I still cannot understand how to install the other needed packages.
What do I need to do now?
He is what happens when I try to run Pycam now:

prof@prof-laptop:~/Pycam/pycam-0.2.1$ ./pycam.py
Failed to load GTK bindings for python. Please install the package 'python-gtk2'.
Details: No module named OpenGL.GL
I will try to use the alternative Tk interface now ...
Neither the GTK nor the Tk interface is available. Please install the corresponding packages!
prof@prof-laptop:~/Pycam/pycam-0.2.1$

sumpfralle
03-12-2010, 12:07 PM
I still cannot understand how to install the other needed packages.
What do I need to do now?


As quoted below, you just need to run the following command to install the required dependencies:

sudo apt-get install python-gtkglext1 python-pyode python-opengl python-gtk2

Hopefully everything will work now as expected!
Cheers,
Lars

kanton
03-12-2010, 09:53 PM
sumpfralle,

As you can see from the text below I haven't got it working yet.

What should I do now?

Thanks again!

prof@prof-laptop:~$ sudo apt-get install python-gtkglext1 python-pyode python-opengl python-gtk2
[sudo] password for prof:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package python-gtkglext1 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package python-gtkglext1 has no installation candidate
prof@prof-laptop:~$ ls
Desktop Documents Downloads examples.desktop Music Pictures Public Pycam Templates Videos
prof@prof-laptop:~$ cd /Pycam
bash: cd: /Pycam: No such file or directory
prof@prof-laptop:~$ cd Pycam
prof@prof-laptop:~/Pycam$ ls
pycam-0.2.1 pycam-0.2.1.tar.gz
prof@prof-laptop:~/Pycam$ cd pycam-0.2.1
prof@prof-laptop:~/Pycam/pycam-0.2.1$ ls
Changelog COPYING.TXT HOWTO.TXT INSTALL.TXT LICENSE.TXT Makefile pycam pycam.py README.TXT release_info.txt Samples setup.py Tests
prof@prof-laptop:~/Pycam/pycam-0.2.1$ ./pycam.py
Failed to load GTK bindings for python. Please install the package 'python-gtk2'.
Details: No module named OpenGL.GL
I will try to use the alternative Tk interface now ...
Neither the GTK nor the Tk interface is available. Please install the corresponding packages!
prof@prof-laptop:~/Pycam/pycam-0.2.1$

sumpfralle
03-13-2010, 07:26 AM
prof@prof-laptop:~$ sudo apt-get install python-gtkglext1 python-pyode python-opengl python-gtk2
[sudo] password for prof:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package python-gtkglext1 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package python-gtkglext1 has no installation candidate

I forgot to mention, that you need to enable the "universe" repository for Ubuntu.
https://help.ubuntu.com/community/Repositories/Ubuntu

kanton
03-13-2010, 08:00 AM
sumpfralle,

Finally, it works!
Thanks again for all your help!

Proof:

prof@prof-laptop:~/Pycam/pycam-0.2.1$ ./pycam.py
/home/prof/Pycam/pycam-0.2.1/pycam/Gui/Project.py:360: GtkWarning: GtkSpinButton: setting an adjustment with non-zero page size is deprecated
self.gui.add_from_file(GTKBUILD_FILE)

sumpfralle
03-17-2010, 10:34 PM
Hi,
today a new version of PyCAM was released.

The following changes are included:

added a graphical installer for Windows (via distutils)
fixed broken commandline parameter "--template"
added workaround for ODE collision detection, that is broken under specific circumstances
fixed hang with PushCutter and ODE on Windows
fixed "division by zero" error in non-ODE mode
allow to disable ODE via commandline option
bugs fixed in cylindrical and toroidal cutter when using dropcutter on horizontal triangles
fixed "setup.py" for distutils packaging (contributed by Arthur Magill)


The download is available at sourceforge (http://sourceforge.net/projects/pycam/files/).

kanton
03-18-2010, 12:35 AM
sumpfralle,

What should you do to upgrade the previous version?

Thanks!

sumpfralle
03-18-2010, 06:55 AM
What should you do to upgrade the previous version?

Just download the new version and extract it at a different location (or remove the old directory).

Be aware, that the start script was renamed from "pycam.py" to "pycam_start.py".

kanton
03-19-2010, 01:31 AM
sumpfralle,

As you suggested I removed the old directory, installed the new version and it works!

Thanks again!

sumpfralle
04-04-2010, 11:14 PM
Hi folks,

I just uploaded a new release: v0.2.3.
It features an improved interface for handling tools, processes
and tasks. Additionally the current settings are now automatically stored
in the user's home directory. Furthermore the "material allowance" setting
is now supported for all calculations, tool definitions can be exported to
EMC2, model scaling is easier than before and missing dependencies are
reported in a graphical dialog (especially useful for Windows users).

Of course, various minor bugs were fixed, as well.

Last but not least: a fancy logo was added :)

I hope, you like this release ...
cheers,
Lars

kanton
04-05-2010, 04:47 AM
sumpfralle,

I tried to upgrade to pycam-0.2.3 by removing my old Pycam directory, downloading the new version. unpacking it and attempting an installation. I also tried to install the Windows version in XP 32 bit without success as I could not figure out what additional programs were needed. I wish you would improve the upgrade and installation procedure.

What do I do now? Here is what I have in the Ubuntu folder:

prof@prof-laptop:~/Pycam/pycam-0.2.3/pycam$ ls
Cutters Geometry Importers __init__.pyc PathProcessors Utils
Exporters Gui __init__.py PathGenerators Simulation

sumpfralle
04-05-2010, 06:46 AM
Hi kanton,


sumpfralle,

I tried to upgrade to pycam-0.2.3 by removing my old Pycam directory, downloading the new version. unpacking it and attempting an installation.

The only problem I could think of, could be the renamed start script. Now it is called "pycamGUI".
Just run "./pycamGUI" in the top level of the extracted files.
You could see this in the directory listing (including guessing) or see it mentioned in the README file.



I also tried to install the Windows version in XP 32 bit without success as I could not figure out what additional programs were needed.

This could be indeed a negative side effect of the new Windows installer: people don't try to read the INSTALL file, since it is just not possible :)
For the next release there will be a link to the list of requirements in the first dialog of the windows installer. Hopefully people will read this before pressing "Next" :)

Do you have any other idea, where to put the requirements?

The list of requirements is here: http://sourceforge.net/apps/mediawiki/pycam/index.php?title=Requirements



I wish you would improve the upgrade and installation procedure.

I will gladly do this. Please tell me _which_ information you would expect _where_. I appreciate your feedback!

cheers,
Lars

kanton
04-05-2010, 07:20 AM
sumpfralle,

Before going to bed I made an attempt at running the Ubuntu version as shown below. What do I need to do now?

prof@prof-laptop:~/Pycam$ ls
pycam-0.2.3 pycam-0.2.3.tar.gz
prof@prof-laptop:~/Pycam$ cd pycam-0.2.3
prof@prof-laptop:~/Pycam/pycam-0.2.3$ ls
Changelog LICENSE.TXT pycamGUI Samples
COPYING.TXT man pycam_win32_postinstall.py setup.cfg
desktop PKG-INFO README.TXT setup.py
HOWTO.TXT pycam release_info.txt Tests
prof@prof-laptop:~/Pycam/pycam-0.2.3$ ./pycamGUI
Traceback (most recent call last):
File "./pycamGUI", line 4, in <module>
import pycam.Gui.common as GuiCommon
File "/home/prof/Pycam/pycam-0.2.3/pycam/Gui/common.py", line 1, in <module>
import Tkinter
File "/usr/lib/python2.6/lib-tk/Tkinter.py", line 42, in <module>
raise ImportError, str(msg) + ', please install the python-tk package'
ImportError: No module named _tkinter, please install the python-tk package
prof@prof-laptop:~/Pycam/pycam-0.2.3$

wendtmk
04-05-2010, 09:47 AM
sumpfralle,

Before going to bed I made an attempt at running the Ubuntu version as shown below. What do I need to do now?

prof@prof-laptop:~/Pycam$ ls
pycam-0.2.3 pycam-0.2.3.tar.gz
prof@prof-laptop:~/Pycam$ cd pycam-0.2.3
prof@prof-laptop:~/Pycam/pycam-0.2.3$ ls
Changelog LICENSE.TXT pycamGUI Samples
COPYING.TXT man pycam_win32_postinstall.py setup.cfg
desktop PKG-INFO README.TXT setup.py
HOWTO.TXT pycam release_info.txt Tests
prof@prof-laptop:~/Pycam/pycam-0.2.3$ ./pycamGUI
Traceback (most recent call last):
File "./pycamGUI", line 4, in <module>
import pycam.Gui.common as GuiCommon
File "/home/prof/Pycam/pycam-0.2.3/pycam/Gui/common.py", line 1, in <module>
import Tkinter
File "/usr/lib/python2.6/lib-tk/Tkinter.py", line 42, in <module>
raise ImportError, str(msg) + ', please install the python-tk package'
ImportError: No module named _tkinter, please install the python-tk package
prof@prof-laptop:~/Pycam/pycam-0.2.3$

Tells you what you need in the last two lines "please install the python-tk package". You need to download and install python-tk, or if you have it installed already, it needs to be in your path.

Mark

sumpfralle
04-05-2010, 04:15 PM
Hi kanton,


ImportError: No module named _tkinter, please install the python-tk package

congratulations - you just caught a bug! :)

I (wrongly) assumed, that Tkinter as the standard Python GUI is included in every python base package.

As a quick fix you should run the following to install python-tk:

sudo apt-get install python-tk

I will release a new version that does not depend on python-tk within the next days ...

cheers,
Lars

kanton
04-05-2010, 07:34 PM
sumpfralle,

I installed python-tk with the results shown below. Does the Windows version have the same problems?

Thanks.

prof@prof-laptop:~/Pycam/pycam-0.2.3$ sudo apt-get install python-tk
[sudo] password for prof:
Sorry, try again.
[sudo] password for prof:
Reading package lists... Done
Building dependency tree
Reading state information... Done
python-tk is already the newest version.
The following packages were automatically installed and are no longer required:
linux-headers-2.6.32-16 linux-headers-2.6.32-16-generic
Use 'apt-get autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
prof@prof-laptop:~/Pycam/pycam-0.2.3$ ./pycamGUI
Traceback (most recent call last):
File "./pycamGUI", line 48, in <module>
from pycam.Gui.Project import ProjectGui
File "/home/prof/Pycam/pycam-0.2.3/pycam/Gui/Project.py", line 3, in <module>
import pycam.Importers.STLImporter
File "/home/prof/Pycam/pycam-0.2.3/pycam/Importers/STLImporter.py", line 1, in <module>
from pycam.Geometry import *
File "/home/prof/Pycam/pycam-0.2.3/pycam/Geometry/__init__.py", line 8, in <module>
from Path import Path
File "/home/prof/Pycam/pycam-0.2.3/pycam/Geometry/Path.py", line 9, in <module>
tuple_point = collections.namedtuple("TuplePoint", "x y z")
NameError: name 'collections' is not defined
prof@prof-laptop:~/Pycam/pycam-0.2.3$

armstrong360
04-05-2010, 11:25 PM
It would appear that the namedtuple is not be access correctly...

/home/prof/Pycam/pycam-0.2.3/pycam/Geometry/Path.py", line 9, in
tuple_point = collections.namedtuple("TuplePoint", "x y z")

Change line 9 or Path.py to:
tuple_point = namedtuple("TuplePoint", "x y z")

It should now run!

kanton
04-06-2010, 02:26 AM
armstrong360,

I tried your suggestion but it did not work:

prof@prof-laptop:~/Pycam/pycam-0.2.3$ tuple_point = namedtuple("TuplePoint", "x y z")
bash: syntax error near unexpected token `('
prof@prof-laptop:~/Pycam/pycam-0.2.3$

sumpfralle
04-06-2010, 09:34 AM
It would appear that the namedtuple is not be access correctly...

You are right, armstrong360 - thanks for the fix ...
Shame on me! This code path is used only with python2.6, thus I did not notice this in my usual environment.

Another good reason for a new release ...

I hope, this was the last obvious bug :)

cheers,
Lars

armstrong360
04-06-2010, 12:07 PM
Kanton,
It looks like you tried to execute the python fragment in the bash shell! You need to edit (change) the file Path.py to correct the problem.

Dave

sumpfralle
04-12-2010, 09:03 PM
Greetings,

I just uploaded a new release: v0.2.4.
It features a new (experimental) simulation mode visualizing the material cutting of a toolpath.
Of course, some minor bugs were fixed, as well.

Download link: http://sourceforge.net/projects/pycam/files/

Example screenshots of the new material cutting simulation:
http://a.fsdn.com/fm//screenshots/20/da/20da304b4fd00210cb718a3cc43e552f_square.png?1271116750 (http://freshmeat.net/screenshots/20/da/20da304b4fd00210cb718a3cc43e552f_medium.png?1271116750) http://a.fsdn.com/fm//screenshots/25/3d/253d22b8beec7ae36500fd8f9d79aa59_square.png?1271116780 (http://freshmeat.net/screenshots/25/3d/253d22b8beec7ae36500fd8f9d79aa59_medium.png?1271116780)

Your comments are very welcome!

cheers,
Lars

kanton
04-13-2010, 12:51 AM
sumpfralle,

I downloaded it, unpacked it, and it works!

Thanks.

xclr82xtc
04-19-2010, 07:22 PM
didnt work for me. i think i need to download python and gtk.

you should include that in the package

sumpfralle
04-20-2010, 05:37 AM
Hi,


didnt work for me. i think i need to download python and gtk.

"including" -> "embedding the binaries" would not work, since it would inflate the download size from 150k to 40M :)


you should include that in the package

I guess, you are using the Windows installer? It notifies you of this requirement during startup - right?
Besides that it is mentioned in the wiki (http://sourceforge.net/apps/mediawiki/pycam/index.php?title=Requirements).
Where else would you like to see this list of requirements to be more obvious?

thanks for your comment!
Lars

sumpfralle
06-10-2010, 10:33 AM
Hi,

I just uploaded a new release of pycam.

The new release features an optional support grid for holding the object at its position during the machine operation.
Additionally an approximation of the required machine time for each toolpath is calculated.
Changing the unit size (inch/mm) now can trigger a recalculation of the model and other dimensions.

Here you go for some screenshots of the new features (click for full size):
http://a.fsdn.com/fm//screenshots/57/2d/572dcff0989e21d71c9828e84787c476_square.png?1276175740 (http://freshmeat.net/screenshots/57/2d/572dcff0989e21d71c9828e84787c476_medium.png?1276175740) http://a.fsdn.com/fm//screenshots/99/0b/990b64a36f5e7dba6bed3e1c0a9cc5fa_square.png?1276175797 (http://freshmeat.net/screenshots/99/0b/990b64a36f5e7dba6bed3e1c0a9cc5fa_medium.png?1276175797) http://a.fsdn.com/fm//screenshots/99/17/99175f7c6689d7fb224ca086730dca66_square.png?1276176169 (http://freshmeat.net/screenshots/99/17/99175f7c6689d7fb224ca086730dca66_medium.png?1276176169)

I hope, you will like the new features!

have fun,
Lars

kanton
06-11-2010, 02:18 AM
sumpfralle,

I downloaded it, unpacked it, and it works!

As shown below it would have been useful to me to say that you need to type ./pycamGUI into terminal to start pycam.

Thanks.

prof@prof-laptop:~/pycam/pycam-0.2.5$ ls
Changelog INSTALL.TXT pycam release_info.txt Tests
COPYING.TXT LICENSE.TXT pycamGUI Samples
desktop man pycam_win32_postinstall.py setup.cfg
HOWTO.TXT PKG-INFO README.TXT setup.py
prof@prof-laptop:~/pycam/pycam-0.2.5$ ./pycamGUI

wendtmk
06-12-2010, 02:20 PM
kanton,

That's pretty typical on a Unix system for starting any executable that's not in your path. If you want to start the program without using the ./, you need to add that directory path to your PATH statement in whatever shell's rc file that you're using. An ampersand after the executable also frees up the window you are running it from - ie, prof@prof-laptop:~/pycam/pycam-0.2.5$ ./pycamGUI &

Mark

sumpfralle
06-12-2010, 03:13 PM
Hi Mark,


kanton,
That's pretty typical on a Unix system for starting any executable that's not in your path.Mark

thanks for your comment!
But I guess, kanton referred to the name-change from "pycam.pysuper" to "pycamGUI".

Anyway: your comment was surely helpful for anyone wondering about this (well-designed) peculiarity of *nix systems ...

cheers,
Lars

wendtmk
06-13-2010, 10:16 AM
Hi Mark,



thanks for your comment!
But I guess, kanton referred to the name-change from "pycam.pysuper" to "pycamGUI".

Anyway: your comment was surely helpful for anyone wondering about this (well-designed) peculiarity of *nix systems ...

cheers,
Lars

Oops, sorry kanton, didn't realize the name of the executable had been changed. Lars, thanks, been a system admin on large VMS, and Unix servers and workstations for years, and generally, when users have problems getting executables to run, it's one of a few things - $PATH, permissions, or syntax.

Mark

kanton
06-14-2010, 01:31 AM
Mark,

No problem, I am a beginner with Unix.

Stevetotheo
07-09-2010, 04:34 PM
This may seem dumb but Ive got pyCAM installed and whenever I try to generate tool paths on even something as small as 100mm^3 it has taken up to 12 hours to generate. Am I doing something wrong or is that typical? Great program otherwise. I created a 250 mm tall cylinder using Salome. Nothing fancy and it still took 10 hours on a 2 ghz dual core HP laptop. Just for reference Im using ubuntu 10.04 32 bit.

Thanks in advance!
Steve

sumpfralle
07-09-2010, 11:17 PM
Hi Steve,


This may seem dumb but Ive got pyCAM installed and whenever I try to generate tool paths on even something as small as 100mm^3 it has taken up to 12 hours to generate. Am I doing something wrong or is that typical?

Maybe you are using a very small tool for this operation? Or maybe your "step down" value (determines the number of processing layers) is too small? The "overlap" paramater can also be a source of trouble, if it is close to 100 percent.

Just for a short overview over some numbers:
- the number of processing layers is calculated as follows: height of bounding box divided by "step down"
- number of lines in each processing layer: width of x or y dimension (depending on the configured direction) divided by ((1 - overlap/100) * 2 * tool_radius)

Does this help?
Cheers,
Lars

PS: I hope, that I will manage to add threading-support in the next release of pycam. This would speed up processing on your machine ...

Stevetotheo
07-09-2010, 11:34 PM
I havent changed any setting from the default install. Is there a better configuration I should use or is it a per job calculation I need to do? What you said makes sense though. Thank you for the quick response! and thank you for the time you've put in on pyCAM.

BTW heres a link to my work blog of the CNC Im building

http://stevetotheo.weebly.com/cnc-space.html

Ive also included a copy of the stl Im using to play with. Its a simple cylinder. Im new at 3d CAD as well so that was the quickest thing I could produce to test with. It reality Im wanting to be able to build anything from a keychain to a guitar body so Im assuming that, using current settings, it would take a week or more to process anything as big that. lol. Let me know what you think. Thanks.

Stevetotheo
07-11-2010, 02:45 AM
Can someone with a known working pyCAM setup create tool paths for the stl above and tell me how long it took to generate? Im not interested in the gcode itself just how long it took to compute.

Switching gears I cant seem to get pycam to work on my windows side. I would prefer to be able to get it running in ubuntu but I wanted to see if it was maybe something to do with my ubuntu install. Heres the error I get in windows..

Traceback (most recent call last):
File "C:\Python25\Scripts\pycamGUI", line 25, in <module>
from pycam.Physics.ode_physics import override_ode_availability
ImportError: No module named Physics.ode_physics

thanks in advance for the input.
Steve

sumpfralle
07-13-2010, 08:54 AM
Can someone with a known working pyCAM setup create tool paths for the stl above and tell me how long it took to generate? Im not interested in the gcode itself just how long it took to compute.

I tried to run it with my (slightly older) computer and it took even longer than your calculation. This is weird, since the model contains only a few triangles (228). I am used to calculate bigger models within minutes. I am investigating this issue and will report back soon.

As a quick workaround you can try to enable the ODE collision detection (see preferences). This should run much quicker, but sadly the upstream ODE library has rare issues, that can cause corners of the model to be cutted. Take a look at the wiki for the additional requirements of the ODE library: http://sourceforge.net/apps/mediawiki/pycam/index.php?title=Requirements



Switching gears I cant seem to get pycam to work on my windows side. I would prefer to be able to get it running in ubuntu but I wanted to see if it was maybe something to do with my ubuntu install. Heres the error I get in windows..


thanks for this report, Steve!
I did not notice before, that the Windows installer was broken. I just published a bugfix release to solve this issue:
http://sourceforge.net/projects/pycam/files/

Please report back, if you encounter any further issues ...

cheers,
Lars

sumpfralle
07-14-2010, 09:35 PM
Hi Steve,


Can someone with a known working pyCAM setup create tool paths for the stl above and tell me how long it took to generate? Im not interested in the gcode itself just how long it took to compute.

I just checked the performance of the current develpment branch of PyCAM. It contains some collision detection code improvements implemented by the other developer (lode). It seems to have improved a lot. Currently I can calculate the toolpath for your model with the current default settings within 630 seconds (30s, 540s, 60s).
The default toolpath generations parameters changed slightly since v0.2.5. Especially the "step down" parameter was one third of the current default and this makes quite a difference. When I calculate your model with the old settings from v0.2.5, it takes around 1900 seconds (110s, 1580s, 210s).

Maybe you want to try the current head of trunk? Given that you already installed all dependencies, you could just do the following:
<pre>
svn co https://pycam.svn.sourceforge.net/svnroot/pycam/trunk pycam
cd pycam
./pycam
</pre>
If anything breaks: try to use revision 460 - it should be quite usable. Just add "-r 460" after "svn" in the first command above.

Cheers,
Lars

sumpfralle
08-16-2010, 02:18 PM
Hi,

I just released a new version of PyCAM.

This major release features support for 2D contour models (in DXF or SVG format)
combined with a new EngraveCutter strategy. Additionally major improvements of
the support grid specification and the commandline interface were added.
Numerous improvements of the GUI and the generated GCode as well as a pile of
minor bug fixes were incorporated.

Have fun with it!

Lars

sumpfralle
10-19-2010, 08:36 AM
Hi,

I just released a new version of PyCAM.

This major release features parallel processing (automatically using all CPU
cores of your computer) and even distributed processing (connecting multiple
hosts to a shared pool of worker processes). This speeds up processing of
complex models significantly.
Additionally a standalone executable for Windows is available (no dependencies required).
Climb and conventional milling styles are configurable.
The new toolpath strategy "Contour->Follow" can calculate exact contours of
a model (before: only an approximation).
Automatically distributed support bridges keep your 3D model attached to the
outer material.
The path precision (G61/G64) for the GCode interpreter is configurable.
Various interface improvements and minor bugfixes are included.

Here you see an example for statistics of a distributed process pool:
http://a.fsdn.com/fm//screenshots/06/9b/069b528e6357c5ec1e7d1119eb1faf08_square.png?1287487232 (http://freshmeat.net/screenshots/06/9b/069b528e6357c5ec1e7d1119eb1faf08_medium.png?1287487232)

Download links:

Windows standalone executable (http://sourceforge.net/projects/pycam/files/pycam/0.4/pycam-0.4_win32_standalone.exe/download)
Linux archive (http://sourceforge.net/projects/pycam/files/pycam/0.4/pycam-0.4.tar.gz/download)
Debian/Ubuntu package (http://sourceforge.net/projects/pycam/files/pycam/0.4/pycam_0.4-1_all.deb/download)


Have fun with the new release!
cheers,
Lars

Tim Nye
10-23-2010, 10:14 PM
Hi Lars,

I just tried the v0.4 Windows standalone version. It starts fine and finds four parallel processors, but when I try to generate a toolpath it freezes. The console window gives four copies of the message:


PyCAM: error: no such options: --multiprocessing-fork
Usage: pycam [options] [inputfile]

This is on a Windows 7 Home Edition x64 laptop with Intel i3 330M cpu.

Otherwise, let me say what an amazing project you guys have put together. Keep up the great work!

Tim

sumpfralle
11-12-2010, 01:00 PM
Hi Tim,

sorry - I forgot to post the "solution" here:
two weeks ago I released a bugfix version of the Windows standalone executable that fixes this problem with multi-core processors.

Just download v0.4.0.1: PyCAM Files on SourceForge.net (http://sourceforge.net/projects/pycam/files/)

cheers,
Lars

sumpfralle
03-28-2011, 06:07 PM
Hi people,

today another major release (v0.5) of PyCAM was published.
It features support for single-line fonts, touch off and tool change handling, multi-layered 2D models, many visualization improvements, better DXF support, additional model transformations and many more new features.

See the release announcement (http://fab.senselab.org/node/222) for a full list of improvements.


Some screenshots:
<img height="250" title="Single-line fonts" src="http://fab.senselab.org/en/sites/fab.senselab.org/files/example_rendered.png" /> (http://fab.senselab.org/en/blog/engraving-single-line-fonts) <img height="250" title="Touch off and tool change" src="http://fab.senselab.org/en/sites/fab.senselab.org/files/touch_off_settings_0.png" /> (http://fab.senselab.org/en/blog/touch-and-tool-change)

<img height="250" title="cloning toolpaths in a grid pattern" src="http://fab.senselab.org/sites/fab.senselab.org/files/images/smiling_sun_cloned_toolpaths.png" /> (http://fab.senselab.org/en/blog/cloning-toolpath-mass-production) <img height="250" title="adaptive drop cutter step" src="http://fab.senselab.org/en/sites/fab.senselab.org/files/dropcutter_grid.png" /> (http://fab.senselab.org/node/174)

<img height="250" title="Crop toolpath to model outline" src="http://fab.senselab.org/en/sites/fab.senselab.org/files/cropped_toolpath_schale.png" /> (http://fab.senselab.org/en/blog/cropping-toolpaths-model-outline) <img height="250" title="Configure parallel and distributed processing via the GUI" src="http://fab.senselab.org/sites/fab.senselab.org/files/images/multiprocessing_gui_preferences.png" /> (http://fab.senselab.org/en/blog/configurable-parallel-und-distributed-processing-settings)

Here are two tutorial videos:
Tutorial #1: generate a 2D toolpath and simulate the result (http://vimeo.com/18254871)
Tutorial #2: handling multi-layered 2D models (http://vimeo.com/21502122)
The next one will obviously deal with 3D models ;)

And here is the download link: http://pycam.sourceforge.net/download.html

Have fun with it!

Jtheletter
03-23-2012, 04:41 PM
I am resurrecting this thread to bring attention to the fact that PyCam is not able to open SVG files when installed on WinXP SP3.

I have made multiple posts on the SourceForge forum and have received zero responses, hopefully this community can provide some guidance.

I am able to open simple DXF files and generate tool paths without issue however I am unable to open any SVG file, including examples bundled with the installer. Here are the latest steps I have taken to install this. Does anyone have advice on how to proceed? Thank you.

Fresh install, all previous programs uninstalled beforehand.

1) Install python2.5-gtk-opengl

2) Reboot

3) Install pycam-0.5.1.win32

4) Attempt to open provided example AVG file "multilayer_engrave.svg". Result: fails to open, PyCam suggests installing

Inkscape

5) Install Inkscape-0.48.2-1-win32: Inkscape opens successfully after install.

6) Reboot

7) Attempt to open provided example AVG file "multilayer_engrave.svg". Result: Error "SVGImporter failed to execute

'pstoedit'The system cannot find the file specified. Maybe you need to install pstoedit"

8) pstoedit installation notes point out that GraphicsMagick is required so prepare to install that.

8.a) Before this, GraphicsMagick installation notes point out GhostScript is required so installing that first: gs905w32

9) Reboot

10) Install GraphicsMagick with all options checked: GraphicsMagick-1.3.14-Q8-windows-dll

10.a) Error during install: "Unable to execute file: ppm ShellExecute failed; code 2. The system cannot find the path

specified."

10.b) Press OK on error popup, next popup says: "DllRegisterServer in C:\Program

Files\GraphicsMagick-1.3.14-Q8\ImageMagickOject.dll succeeded."

10.c) Press OK on that popup.

10.d) run command line conversion example 'gm convert logo: logo.jpg' RESULT: works as expected, logo displays.

11) Reboot

12) Install pstoeditsetup_win32 (version 3.60.0.0), install all optional components

13) Reboot

14) Launch PyCam, Attempt to open provided example AVG file "multilayer_engrave.svg". Result: ERROR
"15:08 INFO Psyco is not available (performance will probably suffer slightly)
15:08 INFO Enabled 2 parallel local processes
15:08 INFO Font directory: C:\Python25\share\pycam\fonts
15:08 INFO Imported STL model: 839 vertices, 0 edges, 1444 triangles
15:08 INFO Successfully converted SVG file to EPS file
15:08 WARNING SVGImporter: failed to convert EPS file (c:\docume~1\jason~1.sla\locals~1\temp\tmp0fwbdv.eps) to DXF file

(c:\docume~1\jason~1.sla\locals~1\temp\tmpepbs21.dxf): pstoedit: version 3.60 / DLL interface 108 (built: Aug 27 2011 -

release build - MS VC++ 1600 - 32-bit) : Copyright (C) 1993 - 2011 Wolfgang Glunz Problem during opening C:\Program

Files\pstoedit\analyze.dll:Recursion too deep; the stack overflowed. Problem during opening of pstoedit driver plugin:

C:\Program Files\pstoedit\analyze.dll. This is no problem as long the driver in this library is not needed. Possibly you

need to install further libraries and/or extend the LD_LIBRARY_PATH (*nix) or PATH (Windows) environment variables."

14.a) Verified that "C:\Program Files\pstoedit\" is already present in windows PATH

15) Copy all DLL files from GraphicsMagick directory to pstoedit directory

16) Launch PyCam, Attempt to open provided example AVG file "multilayer_engrave.svg". Result: ERROR popup:
"pstoedit.exe Entry Point Not Found
The procedure entry point ?construct@?$allocator@VVPath@Magick@@@std@@QAEXPAVVPath@Magick@@$$QAV34@@Z could not be located

in the dynamic link library CORE_RL_Magick++_.dll."

16.a) After selecting OK on first error popup, a second error popup displays:
"pstoedit - Entry Point Not Found
The procedure entry point GetImageProperty could not be located in the dynamic link library CORE_RL_magick_.dll."

16.b) After selecting OK on second error popup, a third error popup displays:
"pstoedit - Entry Point Not Found
The procedure entry point ConstantString could not be located in the dynamic link library CORE_RL_magick_.dll."

16.c) The error popup in 16.b displays 8 more times. Program now hangs with pstoedit cmd line window open but nothing

displayed.

17) STUCK HERE, UNSURE HOW TO PROCEED