586,105 active members*
3,268 visitors online*
Register for free
Login
IndustryArena Forum > OpenSource CNC Design Center > OpenSource Software > OpenCam - Who said that CAM could not be Open?
Page 1 of 3 123
Results 1 to 20 of 43
  1. #1
    Join Date
    Jul 2006
    Posts
    24

    OpenCam - Who said that CAM could not be Open?

    Hi!
    My name is Celso, I'm from Brazil.

    Well, I'm up to lauch version 0.0.20 of OpenCAM
    OpenCAM is an OpenSource utility where you can configure you machines and then export ps,ai,eps,svg files to it.

    The configurations are based on ASCII files with a high level and understandable language, that has almost all needed functions to CNC.

    In the interface you can drag the file inside the machine's space and positioning it wherever you want, rotate it, mirror it, tile it and move it by offset values.

    You can control de use of you material seeing the percentage of it's use (area used / usefull area)

    Related to the machines, there are a lot of options, in the next post there is an example of a configuration file for a Lasercomb HSP plotter (uses hpgl language)


    It will be released ONLY to Linux, because there are a lot of options of CAM to the comercial operating systems ^_^

    The linux OS has so many features that we can even link the program as a Printer, so you can use ANY design program that works with pipening (almost all of' em )
    That means that if you use OpenCAM as a printer, you can click print in your program (inkscape for example) and the output is directed to supercam automatically!

    I'm looking for alfa testers.
    If there is anyone interested, answer to this post.

    Oh, see some screenshots of OpenCAM!
    Drawing in Inkscape
    Printing linked to OpenCAM
    Rotating and Tilling baby Yeah!
    After the output file is writen, you can see wich part of the material was used
    A Close look to the all-in-one machine setup tabstrip ^_^




    Regards!

  2. #2
    Join Date
    Jul 2006
    Posts
    24
    Take a look at the configuration file:
    hpgl.cam

    #Simple Example: Generic HPGL Driver (for HSP Plotters)
    #Author - Celso Junior - 2006

    #Name of the Machine/Driver
    [name]
    Lasercomb HSP HPGL1 Driver

    #Name of the Author (Just for ego feeding :P)
    [author]
    Celso Junior

    #Machine function or application
    [type]
    Ploter de Desenho, Recorte de Modelos e Fresadora de Contra-Faca

    #Extension of the output file
    [extension]
    hpg

    #Horizontal and Verical Sizes of the machine's usefull space
    [horisize]
    1600

    [vertsize]
    1180

    #Initialization and stuff. Fill with the needed values for feedrate for eg.
    [header]
    ;;;;;;;;;;;;;;;;;;;;$E1.($E2$P.DRAW
    PU
    PA0,0

    #In case the machine needs to have a line number (put "yes" or "no")
    [numbering]
    no

    #Only if you answered "yes" in the parameter above. In GCoded machines,
    #when required it, use "N" as numbering character
    [numberchar]
    N

    #Again, just in case of line-numbering. This time, put the increment of each
    # line, so they can be manually added in case of something goes wrong. Eg: 5 for
    # N5 ... N10 .... N15 ... stepping
    [numberincrement]
    5

    #If is needed a special caracter for each command to separate them, describe
    #it below
    [commanddelimiter]

    #Some machines uses values that differ from milimmeters (supercam's default unit)
    #put the convertion factor
    [scale]
    200

    #Answer "yes" if, when the machine is moving, the values are relative to the
    # last command position. If absolute values are used, put "no"
    [modalmoves]
    no

    #Same as the precessor. This time, when tracing lines
    [modallines]
    no

    #Same thing, but now for the arc tracing (X,Y,I and J are affected)
    [modalarcs]
    no

    #If you need to write down the "X" coordinate caracter on the output file,
    #just type how it must appear (in most cases: "X")
    [Xname]

    #Same deal, now for the "Y" coordinate
    [Yname]

    #Same on..."Z" coordinate in almost machines is the tool's high
    [Zname]

    #Same on..."I" coordinate means the "X" center of the arc
    [Iname]

    #Same on..."I" coordinate means the "y" center of the arc
    [Jname]

    #Command block to when the tool must just move from one place to another,
    #without tracing
    [move]
    PA$X,$Y

    #Command block to when the tool must be activated (see toolxxactivation) and
    #the line traced
    [linetrace]
    PA$X,$Y

    #Same deal, but for the clock-wise arc
    [arctraceclocwise]
    AA$I,$J,$D

    #Now, for the counter-clock-wise arc
    [arctracecounterclocwise]
    AA$I,$J,$D

    #The sequences for each of the 8 tools supported.
    #A block command for tool selection, tool activation (when is up to trace) and
    #tool desactivation . Supercam always uses last tool's desactivation block,
    #then tool selection and tracing block until the tool needs to move or be
    #changed.
    [tool1selection]
    SP1
    [tool1activation]
    PD
    [tool1desactivation]
    PU

    [tool2selection]
    SP2
    [tool2activation]
    PD
    [tool2desactivation]
    PU

    [tool3selection]
    SP3
    [tool3activation]
    PD
    [tool3desactivation]
    PU

    [tool4selection]
    SP4
    [tool4activation]
    PD
    [tool4desactivation]
    PU

    [tool5selection]
    SP5
    [tool5activation]
    PD
    [tool5desactivation]
    PU

    [tool6selection]
    SP6
    [tool6activation]
    PD
    [tool6desactivation]
    PU

    [tool7selection]
    SP7
    [tool7activation]
    PD
    [tool7desactivation]
    PU

    [tool8selection]
    SP8
    [tool8activation]
    PD
    [tool8desactivation]
    PU

    #The colors the file must have to separate the tools.
    [tool1color]
    red

    [tool2color]
    blue

    [tool3color]
    yellow

    [tool4color]
    black

    [tool5color]
    cyan

    [tool6color]
    magenta

    [tool7color]
    green

    [tool8color]
    white

    #Identify wich tool are enabled writing it's name.
    #Usefull too if the name describes the tool's function
    [tool1name]
    Red Pen

    [tool2name]
    Cut

    [tool3name]
    Crease

    [tool4name]
    Blue Pen

    [tool5name]
    Hole Drill

    [tool6name]


    [tool7name]


    [tool8name]


    #If you want to separate tool by line thickness, then write down each
    #thickness that must be considered, overriding color information
    #(use 0 to not override the color). Usefull to have mixxed settings)
    # Use the points (pt) as unit.
    [thicknessrelations]
    0
    0
    0
    0
    0
    0
    0
    0

    #If setted "yes" this option will group the sequence of tracing by tool.
    [orderbytool]
    yes

    #If applies in the predecessor options, the sequence of the grouped lines must
    #respect this parameter.
    [toolsequence]
    tool1
    tool2
    tool3
    tool4
    tool5


    #if the machine needs to be shutted down or return to zero point,
    #write the commands here.
    [trailer]
    PU
    PA0,0
    $E1.)

    #Now, if you need a special ascII code to be outputted, then put their
    #codes (in decimal) below. They will be reffered as $E1, $E2 ... $En.
    [specialcodes]
    027
    016
    000
    000
    000
    000
    000
    000
    000
    000


    #This is the end of your SuperCam Settings! Congratulations!
    [end]

  3. #3
    Join Date
    Apr 2005
    Posts
    3634





    .

  4. #4
    Join Date
    Jul 2006
    Posts
    24

    new screenshots

    two new screenshots for you to see ^_^

    Do you want PCB?!
    So do We!!!

  5. #5
    Join Date
    Jul 2006
    Posts
    24

    Ups

    God of Thunder....
    Ok, no big deal...let's rename it to OpenCam ^_^
    The program has just 5 days of life... It will have no personality conflicts I think @_@

    It was made from scratch, I did not even looked at other programs, I just put in OpenCAM what I thought it was good.

    See, I work in industry (more specifically in DieMaking area) and we use a lot of softwares to create dieboards (used to create pakages for the printing industry). 100% of 'em are proprietary and the BIGGEST feature they have is the cappability of export NC format.
    QCad has it's variated named CAMExpress. But it is commercial too.


    From here now, let's know it as OpenCAM (a fast google search could have avoided this... u_u bad..bad.. programmer... no donnuts for ya!)

  6. #6
    Join Date
    Jul 2006
    Posts
    24

    Engraving

    HI!
    Since all I'm used with cnc is 2d tool operation, I need a little help from you guys. OpenCAM has variables for Z axis, As far as I know, it is used to adjust the tool's height.
    When you se a tool to engrave, what to you need to pass to the machine about the Z axis?
    See, I'm adding bitmap and filledarea suport to OpenCAM and I'll put information about tool thickness.
    Is A point to point rastering @ determinated position with determinated tool enough to a engraver?

    tks!

  7. #7
    Celso

    I really love the name of your new about to be released program. I love it so much I have been selling the real SuperCam for the last twelve(12) years.

    The real SuperCam is a real time graphical operating system for machine tools. It imports HPGL, DXF, BMP and G-code files and directly controls the attached machine.

    When using HPGL, DXF and BMP there is no translation to G-code files. The user either executes the complete drawing or can pick the graphic items individually and cause the machine to follow the path of the graphic item.

    The real SuperCam is a CAD interface to the attached machine. It lets the user draw tool paths directly to the graphics area. There are seventeen fonts so it is often used for engraving applications. The user can draw arcs, circles, lines, points or text.

    Graphic items can be moved, copied, scaled, rotated and erased. The order in which the graphic items are to be executed can be changed by the change order command. The direction of the cut can be changed by the swap ends command.

    There are also lead in and lead out commands for creating lines that attach to existing graphic items, this is for creating smooth transitions to items being cut on the machine. This is particularly useful with Plasma Torch tables.

    The real SuperCam can be configured for 3 axis machines such as routers and milling machines or Plasma Torch, Flame cutters or Laser machines. The program automatically controls the relays depending on the machine is configured for. When a spindle type machine is attached the relay A is turned on at the beginning of the tool path execution and of when execution is completed. When the machine attached is using a Plasma Torch, Flame cutter or Laser the relay A is turned on at the beginning of each graphic item and off when the items tool path has been completed. There are configurable delays for initially letting the spindle spin up to speed or the air line to be cleared for a Plasma Torch. There are also configurable delays for piercing at the beginning of a cut and cut completion.

    The graphical display can be either 2D or 3D, and is changed by keying the F6 function key. The F10 key switches the graphic display to a multi view port setup with four(4) different views being displayed simultaneously, each view port can be either 2D or 3D. This gives the user many different viewing options.

    The real SuperCam does export G-code files from imported HPGL, DXF and BMP imported files. And the files generated are compatible with the Machx line of programs.

    The real SuperCam drives machine tools via the parallel port, by generating step and direction signals or direct motor phase signals. It was the program that was sold with the first Taig Micro Mills and has been around along time. The maximum steps per second are just under 100 khz and is compatible with DOS and Windows 9x operating systems. Motor control signals are created by a real time operating system that is flash booted when machine activity is required, when motor activity is completed the original operating system is given control again and computer operation returns to normal.

    When the attached machine in motion the graphical display is real time animated. That is the current machine’s carriage location is shown in the graphic area of the display. When the machine is cutting, a circle is drawn corresponding to the size of the cutting tool. When the machine is above the surface of the material the machine’s carriage is represented by a small cross hair.

    Machine feed rates can be changed in the midst of a tool path execution by using the F2 or F3 function key. Each keystroke increases or decreases the feed rate by five(5) percent.

    Moving the machine around the work area is accomplished by the MoveTo command in which the user uses the mouse to point and click on where to place the machine’s carriage. This makes machine setup very easy. After the mouse pointer is clicked the machine moves the carriage to the coordinates specified by the mouse.

    My latest version of SuperCam is SuperCamXp, which is compatible with the Windows XP operating system. It has just about all the same features of the original SuperCam. At the time of this writing it does not include the ability to import BMP files, that will happen soon.

    SuperCamXp works via the USB port and is a true multi-threaded application. It is possible to run multiple machines simultaneously from the same desktop computer as well as other applications while the attached machines are executing tool path movements.

    SuperCamXp works via my CamPod, which is USB to parallel, port adapter. It is a small box that has a USB connector on one end and a DB25 female connector on the other end. It is plug and play compatible with my line of motor controllers, and can be adapted to just about any of the existing parallel port controllers on the market. The PWB inside the CamPod has been made so pin signal assignments can be changed by cutting traces and attaching jumpers to different DB25 pins. It is being successfully used with the Microproto step and direction controllers.

    Celso, I have no personal conflict with you and would like to keep it that way. I am the author of SuperCam and have personally written it. Great minds think a like and I recognize you as a very talented fellow. I think your choice of the name OpenCam is an excellent one and wish the best of luck to you in your endeavors.

    Sincerely

    Dennis Bohlke
    http://www.super-tech.com

  8. #8
    Join Date
    Jul 2006
    Posts
    24

    Hi Dennis!

    First, my very sorry for the short-time use of the name SuperCAM
    As I said before, a simgle google search could avoided that ^_^

    But I'm very glad to know a programm with such great features like (real) SuperCAM ^_^

    As far as I could see, It more than a exporter, it is a machine interface. And that's incredible!

    The OpenSource comunity has EMC, that is a, somewhat, limited way to control CNC machines. It is the hardware interface to 'em

    But we have few or none tools to generate de vectorial drawing information (not even to HPGL!)

    OpenCAM is not intented to be a full interface, it will just be the bridge between the CAD/Design software and EMC (or any tool that controls the machine).

    My experience in CNC world is very limited, and my intentions are just to fill the empty space that yet exists in the OpenSource comunity when we talk about CNC:

    I must say I'm very thankfull for your post!
    I wish SuperCAM continues it's great success!

    And I wish you, Danniel, my Best Regards!

    Thanks! ^_^
    Celso

  9. #9
    Join Date
    Jun 2003
    Posts
    866
    I would like to test this program

  10. #10
    Celso

    Thanks for the kind words about SuperCam.

    Like you when I started I had little experience in the CNC world. I have often thought my choice of name for it was in error in that a lot of people only think a CAM program is a G-code generator.

    I had never seen a real CAM program when I started writting code and in error thought it ment Computer Automated Machine. My mistake on not being well educated on the subject. I knew about G-codes but felt them to be antiquated and wanted to come up with a new approach.

    There are still vast opportunities in this field. As far as I can tell my approach is unique, but spending so much time writting code turned me into somewhat of an urban hermit. So, it is understandable why you may have not heard about my program.

    Good Luck to you and Best Regards


    Dennis Bohlke
    http://www.super-tech.com

  11. #11
    Join Date
    Jul 2006
    Posts
    24
    Hi Again Dennis!

    Well, you're right about the approach!
    All MMI (man-machine-interface) I saw, just recieve the G-Code (or hpgl whatever) and then send it to the controller. The maximun is the viewing of the machine's position on screen.

    Yours is really a incredible tool!

    When I started reading the description of SuperCam I said: Man! I gotta do this too!! hauhauha
    But nop, it is really too complex for me!
    The good in Open Source is:

    "Do a tool that does one little thing, but make it does perfectly."

    It means that is better to do a program that can be embled to others, so they, together, can create a bigger tool.
    For example, I had not to be concerned about many file input formats. I programmed the interpretation just to Postscript. The other formats are converter to PS by pstoedit, wich is porwefull Linux program that deals with ps.
    For that reason, the first usefull run of OpenCAM took one or two days.

    OpenCAM is just a little bit more than a g-code creator, it is a layer. With your experience, I think you can realize that any output format can be used, since you configure it in the .cam file.

    I hope I could ask you some questions (most about gcode features) 'cause I know I'm really a newbie ^_^

    Tks!
    Celso


    Oh, almos forgot!

    About the testing:

    There are a few requiriments to run the 0.0.20 alpha of OpenCAM the first of all:

    A Linux Operating System

    Secondly, you must have the GAMBAS instaled.
    Gambas is to Linux as Visual Basic is to Windows, but is better ^_^
    gambas can be found @:

    http://gambas.sourceforge.net

    the Source Code of OpenCAM can be downloaded @

    Here! Get the Source! Get the Source!

    Unzip the file and open the project inside gambas
    To do this, just open gambas and select Open Project and click in the folder "opencam" you unzipped

    Press F5 and it will run.
    Gambas can create executables, but to distribute them, you have to embled some libraries and I did not figured out yet wich :P (no donuts for ya again)

    Well, again, tks for the help!
    Whoever tries to use it, May the force be with ya! O_o

  12. #12
    Join Date
    Mar 2004
    Posts
    847
    Oh man, I was pretty excited about this when reading through the specs/description - until I saw it is only for Linux. Bah! Hate, hate, hate (did I mention, hate?) Linux.

    Ah well, sounds like it will be great software that a lot of people will use/enjoy...
    (Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)
    Check Out My Build-Log: http://www.cnczone.com/forums/showthread.php?t=6452

  13. #13
    Join Date
    Jul 2006
    Posts
    24

    About the Linux issue

    Hi!

    Well, I knew there would be some limitations for the use of OpenCAM, since I'll create just the Linux version.
    But I have my personal and market reasons for that ^_^

    OpenCAM was meant to attend the Linux users that would like to NOT have to use Windows just to export theirs drawings to their machines.

    To help, I'm thinking in create a LiveCD that comes with the basic OS, window management and OpenCAM, ready for instalation.

    But, while this not happen, the first binary is about to be packaged. (hey, I found wich libraries to pack!!! Now I can have that donnut! O_O/ gimegimegime! )

    The first test was good. OpenCAM ran without problems. But I used a Debian dist, I need to know what happens in RH, Slack an so on...

    The website if on the way...
    Let's se what happens ^_^

  14. #14
    Join Date
    Jul 2006
    Posts
    24
    BOSCH C220 Driver is working!

    I tested the first Lasercomb HPGL Plotter driver made to OpenCAM, and it worked just fine
    My second .cam file is for a Laser Cutting Machine, used to cut wood boards for Die Making, that uses a BOSCH C220 Controller Panel.
    Tools did the correct job and acted as if it was exported from the programs were already used to...

    ^_^
    posted just for ego feeding...

  15. #15
    Join Date
    Jun 2005
    Posts
    866
    CNC related software for Linux? Let it come!
    I've been using Fedora Core for 5 months, I really miss having CAM/CAD programs. There are a few cad programs though

  16. #16
    Join Date
    Jul 2006
    Posts
    24

    Yeah!

    That is the point! The lack of this kind of applications in Linux is a good reason ^_^

    Well, while I'm awaintg to Source Forge aprove OpenCAM to be hosted there, I'll use this space to do a little ChangeLog :P

    Features completed today (07/06/06) @ 09:52 AM :

    Separating Tools by Color -> Complete
    Separating Tools by width (overriding Color) -> Complete
    Ordering Output sequence by tool -> Complete

    Features yet missing

    Complete Arc suport -> Since Postscript curve information is based on a complex Belzier curve calculation (I found no documents of how to interpretate curveto command correclty), is passed to pstoedit to converto curves to lines. It does a gret job, so, instead removing arcs to lines when arcs are working, I'll create an option "Convert Arcs to Lines" that will let the way is working now

    BitMap Tracing -> For engraving, translate and grayscaled bitmap area, following de .cam file parameters of what to do withi each pixels.

    Filled Areas -> yet, for engraving. It will separate the Line information from the Fill information, and make the fill be interpreted just like the bitmap will be.

    Pfiu...and all this just for a Pre-Alpha release! :P a Lot of work to do....

  17. #17
    Join Date
    Nov 2003
    Posts
    51
    Celso
    Good to see some action developing software for Linux CAM applications, there are to few to select from.
    I would be glad to test drive your software, however this will have to wait for at least a week, as I have some other commitments to get out of the way.

    Have you given any thought to mailing the EMC users/dev list and let them know about this software? They are very open and willing to accept new ideas and things to implement into EMC.

    Thanks again for your efforts
    jerry

  18. #18
    Join Date
    Jul 2006
    Posts
    24

    Hi Jerry!

    Yeah!
    In fact, my first aim is to feed EMC with gcodes ^_^

    But I must wait until source forge liberates the space before continuing spreading sources arround the net :P

    I believe that OpenCAM can do some good things do Linux CAM users, and thanks for you will to help!

    Until next week, I think, the Pre-Alfa binaries will be avaliable... and there is an ideia that I'd like to consult all you guys:

    A shared .cam files repository would be a good idea?

    Let me explain:
    A button called "Get More Machines" and another called "Send Your Machine" would be the interface of an internet repository of usermade .cam files!
    If want to use OpenCAM, is like to have an open Post-Processor database...

    Ideas, ideas...

  19. #19
    Join Date
    Jun 2006
    Posts
    76
    yes, keep working on it. It is only a matter of time for some good cad/cam apps for linux. Don't know much about gambas, but hopefully there should be some ability to provide language translations for the gui. It does start up on my opensuse 10.1 machine using gambas 1.9.23 but I didnt go any further than that.

  20. #20
    Join Date
    Jul 2006
    Posts
    24
    Hi asp!

    Wow! does it open?
    I mean, can you run it with F5? Cause I used Gambas 1.06 for it is the stable version of Gambas, and the difference of both are not so big to take the chance to distribute a application worldwide in an unstable interpreter...

    Oh, does de translation worked? I did it by the gui but I don't know how does it works when you are outside Brasil ^_^

    Regards!

Page 1 of 3 123

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •