CNCzone.com-The Largest Machinist Community on the net!



Home Page Mark Forums Read Today's Posts My Replies Classifieds Reviews Photo Gallery Web Links Share Files Advertise With Us Ad List
Go Back   CNCzone.com-The Largest Machinist Community on the net! > OpenSource CNC Design Center > OpenSource Software


OpenSource Software For the Discussion of Opensource CAD/CAM and NC shareware software etc)


This forum is sponsored by:

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Ban this user!
Old 07-04-2006, 10:22 AM
 
Join Date: Jul 2006
Location: Brazil
Posts: 24
theomagus is on a distinguished road
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!

Last edited by ger21; 07-04-2006 at 02:06 PM.
Tweet this Post!Share on Facebook
Reply With Quote

  #2   Ban this user!
Old 07-04-2006, 10:27 AM
 
Join Date: Jul 2006
Location: Brazil
Posts: 24
theomagus is on a distinguished road

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]
Tweet this Post!Share on Facebook
Reply With Quote

  #3  
Old 07-04-2006, 10:27 AM
Switcher's Avatar
Moderator
 
Join Date: Apr 2005
Location: Vectorink.com
Posts: 3,659
Blog Entries: 2
Switcher is on a distinguished road






.
Tweet this Post!Share on Facebook
Reply With Quote

  #4   Ban this user!
Old 07-04-2006, 11:15 AM
 
Join Date: Jul 2006
Location: Brazil
Posts: 24
theomagus is on a distinguished road
new screenshots

two new screenshots for you to see ^_^

Do you want PCB?!
So do We!!!
Tweet this Post!Share on Facebook
Reply With Quote

  #5   Ban this user!
Old 07-04-2006, 12:36 PM
 
Join Date: Jul 2006
Location: Brazil
Posts: 24
theomagus is on a distinguished road
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!)
Tweet this Post!Share on Facebook
Reply With Quote

Sponsored Links
  #6   Ban this user!
Old 07-04-2006, 01:04 PM
 
Join Date: Jul 2006
Location: Brazil
Posts: 24
theomagus is on a distinguished road
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!
Tweet this Post!Share on Facebook
Reply With Quote

  #7   Ban this user!
Old 07-04-2006, 01:44 PM
Dennis Bohlke's Avatar  
Join Date: Jan 2006
Location: us
Age: 57
Posts: 77
Dennis Bohlke is on a distinguished road

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
Tweet this Post!Share on Facebook
Reply With Quote

  #8   Ban this user!
Old 07-04-2006, 02:25 PM
 
Join Date: Jul 2006
Location: Brazil
Posts: 24
theomagus is on a distinguished road
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
Tweet this Post!Share on Facebook
Reply With Quote

  #9   Ban this user!
Old 07-04-2006, 02:43 PM
 
Join Date: Jun 2003
Location: Boalsburg PA
Posts: 844
unterhaus is on a distinguished road

I would like to test this program
Tweet this Post!Share on Facebook
Reply With Quote

  #10   Ban this user!
Old 07-04-2006, 03:02 PM
Dennis Bohlke's Avatar  
Join Date: Jan 2006
Location: us
Age: 57
Posts: 77
Dennis Bohlke is on a distinguished road

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
Tweet this Post!Share on Facebook
Reply With Quote

Sponsored Links
  #11   Ban this user!
Old 07-04-2006, 04:23 PM
 
Join Date: Jul 2006
Location: Brazil
Posts: 24
theomagus is on a distinguished road

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

Last edited by theomagus; 07-04-2006 at 04:45 PM.
Tweet this Post!Share on Facebook
Reply With Quote

  #12   Ban this user!
Old 07-05-2006, 06:15 AM
JavaDog's Avatar  
Join Date: Mar 2004
Location: USA
Posts: 847
JavaDog is on a distinguished road

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
Tweet this Post!Share on Facebook
Reply With Quote

Reply




Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is On
Trackbacks are On
Pingbacks are On
Refbacks are On





All times are GMT -5. The time now is 04:28 PM.





Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Content Relevant URLs by vBSEO
Template-Modifications by TMS

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353