|
Posted by Ivan on August 4, 2006, 8:11 am
Please log in for more thread options
We have a program that was custom-written for our Isel routers some
seven years ago, which translates hpgl-1 to gcode (with an intermediate
binary). The programmer has left South Africa, and there is no source
code available.
AutoCAD 2000 and later versions are all dependent on printing to a
Windows print device, and there is no support or driver available for
hpgl-1. All seem to output hpgl-2. I have found a wonderful program to
run our Isels, (linux distribution - coolcnc)but need to feed it gcode.
Now I know all you guys can write gcode straight off for your mills,
lathes, etc., but I'm not that clever.
I need a program to translate DXF to gcode. I've tried various progs
from the net, but all seem to do strange things when I give them one of
our plain vanilla DXF files. e.g. an array of 100 45x20mm labels with
centred text. (Ends up with tool path running straight across the job at
30 degrees???, and no, it isn't the tool return to turret)
I have no problem in adding the tool change pauses, translating
multisegment arcs, and so on, but I need to be able to have a fair start.
TIA,
Ivan
|
|
Posted by F. George McDuffee on August 4, 2006, 11:07 am
Please log in for more thread options
On Fri, 04 Aug 2006 14:11:02 +0200, Ivan
>We have a program that was custom-written for our Isel routers some
>seven years ago, which translates hpgl-1 to gcode (with an intermediate
>binary). The programmer has left South Africa, and there is no source
>code available.
>
>AutoCAD 2000 and later versions are all dependent on printing to a
>Windows print device, and there is no support or driver available for
>hpgl-1. All seem to output hpgl-2. I have found a wonderful program to
>run our Isels, (linux distribution - coolcnc)but need to feed it gcode.
>Now I know all you guys can write gcode straight off for your mills,
>lathes, etc., but I'm not that clever.
>
>I need a program to translate DXF to gcode. I've tried various progs
>from the net, but all seem to do strange things when I give them one of
>our plain vanilla DXF files. e.g. an array of 100 45x20mm labels with
>centred text. (Ends up with tool path running straight across the job at
>30 degrees???, and no, it isn't the tool return to turret)
>
>I have no problem in adding the tool change pauses, translating
>multisegment arcs, and so on, but I need to be able to have a fair start.
>
>TIA,
>
>Ivan
=========================
Unless HP has removed these, you can still download windows
drivers from hp.com that will ouput files in the older HPGL/1
output. Downside is that the paper size tends to be limited.
Alternative is to download one of their newer roll feed plotter
drivers that outputs hpgl/2 (file). This gives you effectively
unlimited size. The problem then is to convert hpgl/2 to hpgl/1
or a sub-set of hpgl/1.
Be reminded that HPGL plotter units are 40 per m/m or 1016 per
inch, so best possible accuracy [minimum move] is 0.001 inches or
0.025 m/m per axis.
One way to do this is hp2xx from
http://gnuwin32.sourceforge.net/packages/hp2xx.htm
(and several other sources) This program converts *MOST* HPGL
and * MOST* HPGL/2 commands into a subset of HPGL which uses only
the PU [Pen UP], PD [Pen Down] and PA [Plot Absolute] commands.
Note that this is a DOS/command line program and will need to run
in the DOS compatability box. It runs fine on my W2k o/s
machines but I have not tried it on anything later.
A possible batch [.bat] file would read [all on one line]
hp2xx -m hpgl -n -N -z -2.00 -Z 2.00 -l makecnc.log -f fixed.hpg
%1 [see pdf file that downloads with the program for what these
command line toggles do]
The output file is named fixed.hpg and will overwrite any file
with this name. The %1 is where the name of the hpgl/2 input
file will go. Assuming you named the batch file fixit.bat and
had a hpgl/2 plot file to convert name mypart.plt, you would
input <fixit mypart.plt> The normal directory, pathname and
filename limitations apply.
I am just finishing up a freeware hpgl/2 ==> g code generator
program and am looking for someone with a cnc machine to test it.
If you are interested send me an email. The user editable
configuration file is shown below. Let me know if this is
adequate for your controller.
*********** please excuse word wrap *****************************
*
* « CONFIGURATION FILE » for HPGL2CNC.EXE -- a GPL public domain
program.
* source file is included as HPGL2CNC.BAS in original distrbution
* "pretty print" source is included as HPGL2CNC.PP
* INPUT FILE is HPGL2CNC.PLT with drive/directory as required
* NOTE: ==> this *MUST* have been pre-processed with HP2xx.exe
<==
*
* OUTPUT FILE is HPGL2CNC.CNC in the same directory as
HPGL2CNC.EXE
*
* by default hpgl2cnc uses the hpgl2cnc.cfg config file.
*
* you can use different configuration files by specifying on the
command line
* for example <hpgl2cnc fanuc06.cfg> or <hpgl2cnc hurco.cfg>
* these will need to be in the same directory as hpgl2cnc.exe
unless you specify drive/directory.
*
* NOTE: hpgl2cnc generates only 2_1/2D moves, i.e. only 1 or 2
axis change in any one block.
*
* Lines begining with an astrisk in this configuration file are
comments.
*
* All alpha values converted to upper case by the program.
*
* Settings shown are for an Emco F1 educational machining center,
and
* ==> MOST LIKELY WILL NEED TO BE EDITED FOR YOUR CONTROLLER.<==
*
* Be sure to use a text editor such as <notepad> or <edit> or
<edlin> that writes
* ==> ONLY PLAIN ASCII TEXT <== files with no formatting or other
control codes.
*
* Save a copy of this configuration file
* *BEFORE* you edit it as hpgl2cnc.org and set its attributes to
read only.
*
* It is suggested that you complete the comment lines below
indicating
* what controller your configuration file suports when you modify
this file.
* (and keep back-up versions)
* -- gmcd 07/02/2006
* (email: gmcduffee@mcduffee-associates.us)
* (website: http://www.mcduffee-associates.us )
*
*
/=======================================================================
* |
|
* | edited configuration file data
|
* | edited by: <your name>
|
* | on: <date>
|
* | for: < your controller or machine name>
|
* |
|
*
=======================================================================/
*
I , "<== output file units -- <I>nch/<I>mperial or <M>etric --
valid values are I/M "
*
* ==========================================
* NOTE: by offsetting/resetting zero plane between programs you
can
* machine a recess and then engrave lettering without loss of
zero
* If you are using a cad program you can turn layers on/off for
* and reset for different depths. Be sure to rename output file
as HPGL2CNC.CNC is overwritten.
* ==========================================
*
0.25 , "<== amount tool retacts *ABOVE* your zero plane for pen
up move
* minimum values (reset by program) are 3 m/m or 0.125 inch
* no maximum value -- input as positive number (no sign)
*
* ===========================================
*
0.125 , "<== amount tool plunges *BELOW* your zero plane for pen
down move
* maximum values (reset by program) are 25 m/m or 1.000 inch
* no minimum value -- input as positive number (no sign)
*
* ===========================================
*
% , "<== character used for controller comment line [ignore
block] <9999> supresses comments"
*
* ==========================================
*
P , "<== decimal point character -- valid values are <N>one,
<P>oint for <.> and <C>omma for <,>"
* NOTE: cannot input <,> directly
*
* ==========================================
*
3 , "<== number of digits in line number -- 0 suppresses [no N],
valid values are 0,3,4,5,6"
*
* ==========================================
250 , "<== max number of lines you can cut-n-paste into your cnc
control program at one time"
* HPGL2CNC will withdraw tool and home, write comment line, reset
line number counter to 25
* return tool to previous position and continue. Because
hpgl2cnc uses only straight line
* moves, cnc programs can be very large when arcs/curves are
involved.
* NOTE:
* with 3 digit line numbers, max number of lines is 975 in any
one sub program
* with 4 diget line numbers, max number of lines is 9975 in any
one sub program
* with 5 digit line numbers, max number of lines is 99975 in any
one sub program
* with 6 diget line numbers, max number of lines is 999975 in any
one sub program
*
* ==========================================
*
1, "<== number of spaces between line number and 1st parameter?
-- valid values are 0,1,2"
*
* =========================================
*
1 , "<== number of spaces between parameters? -- valid values are
0 , 1, 2"
*
3 , "<== number of digits in XYZ cordinates -- valid values are
1,2,3,4,5,6"
*
4 , "<== number of decimals in XYZ cordinates -- valid values are
0,1,2,3,4,5,6"
*
Y , "<== leading zeros required for XYZ coordinates -- valid
values are <Y>es/<N>o"
*
A , "<== does the minus sign [-] go before or after a negative
coordinate value -- <B>efore /<A>fter
*
N , "<== include a plus sign [+] for positive coordinate values?
-- <Y>es / <N>o"
*
B , "<== Does the axis designator [XYZ] go <B>efore or <A>fter
the axis vlaue?"
*
N , "<== space between XYZ axis designator and value? valid
values -- <Y>es , <N>o"
*
* ==========================================
*
A , "<== output all 3 coordinates or only changed coordinates in
cnc block -- <A>ll or <C>hanged only"
*
* ==========================================
*
F , "<== feed rate designator -- generally <F> but any ascii
string 255 characters or less"
*
2 , "<== number of digits in feed rates [F] -- valid values are
2,3,4,5"
*
1 , "<== number of decimal places in feed rate [F] -- valid
values are 0,1,2,3"
*
Y , "<== leading zeros required in feed rate? -- valid values
<Y>es / <N>o"
*
N , "<== space required between F designator and feed rate value?
-- valid entries are <Y>es / <N>o"
*
B , "<== does the F go before or after the feed rate value? --
valid entries are <B>efore / <A>fter"
*
1 , "<== spaces between axis cordinate and feed rate -- valid
vaues are <0>,(1>,<2>
*
E , "<== Feed rate specified for <E>ach machining move or <M>odal
-- valid values are E & M"
*
* ==========================================
*
G00 , "<== point-to-point straight line *RAPID TRAVERSE* command
-- generally <G0> (G-zero)
* or <G00> (g-zero-zero) but can be any ascii string 255
characters or less
*
*
G01 , "<== point-to-point straight line *CONTROLLED FEED* command
-- generally <G1> G-one
* or G01 (G-zero-one) but can be any ascii string 255 characters
or less
*
* ==========================================
*
0.000 , "<== granularity or minimum move from X1,Y1,Z1 to
X2,Y2,Z2"
*
* units are what ever you selected above <I>nch/<I>mperial or
<M>etric
* set to zero for best possible resolution. larger values will
produce smaller,
* faster running programs but detail and smoothness of curves may
be degraded.
* NOTE: HPGL plotter units are 40 per m/m or 1016 per inch, so
best possible
* accuracy [minimum move] is 0.001 inches or 0.025 m/m per axis.
*
* ========= NOTES =================
*
* NOTE: HPGL2CNC outputs 2_1/2D moves, i.e. only 2 axis moves in
any one block.
*
* Internally, HPGL2CNC uses PowerBasic long-word [unsigned long
integer]
* variables for the plotter value storage
* and converts to the desired inch/imperial or metric units using
double precesion variables
* before rounding to your indicated number of decimals.
*
* PowerBasic's website is http://www.PowerBasic.com if you would
like more details
* Their manual is on-line.
*
* maximum unsigned long-word PowerBasic value is 4,294,967,295.
*
* At 1016 plotter units per inch this is a maximum size per side
of
* 4225361.511 inches, 352113.4592 feet or 66.68815516 miles.
*
* At 40 plotter units per m/m this is a maximum size per side of
107324182.4 m/m,
* 107324.1824 meters or 107.3241824 KM.
*
* ==> Please send picture of plotter if these limits are
inadequate. <==
* ==========================================
Unka George
(George McDuffee)
...and at the end of the fight is a tombstone white
with the name of the late deceased, and
the epitaph drear:
“A Fool lies here, who tried to hustle the East.”
Rudyard Kipling The Naulahka, ch. 5, heading (1892).
|
|
Posted by sittingduck on August 4, 2006, 11:48 am
Please log in for more thread options
Ivan wrote:
> We have a program that was custom-written for our Isel routers some
> seven years ago, which translates hpgl-1 to gcode (with an intermediate
> binary). The programmer has left South Africa, and there is no source
> code available.
>
> AutoCAD 2000 and later versions are all dependent on printing to a
> Windows print device, and there is no support or driver available for
> hpgl-1. All seem to output hpgl-2. I have found a wonderful program to
> run our Isels, (linux distribution - coolcnc)but need to feed it gcode.
> Now I know all you guys can write gcode straight off for your mills,
> lathes, etc., but I'm not that clever.
>
> I need a program to translate DXF to gcode. I've tried various progs
> from the net, but all seem to do strange things when I give them one of
> our plain vanilla DXF files. e.g. an array of 100 45x20mm labels with
> centred text. (Ends up with tool path running straight across the job at
> 30 degrees???, and no, it isn't the tool return to turret)
>
> I have no problem in adding the tool change pauses, translating
> multisegment arcs, and so on, but I need to be able to have a fair start.
Flashcut's Controller software will create Gcode from DXF. You can download
it here: http://www.flashcutcnc.com/html/dow.html
|
|
Posted by on August 4, 2006, 12:42 pm
Please log in for more thread options
Ivan wrote:
> I need a program to translate DXF to gcode.
http://www.ncplot.com/
Grummy
|
|
Posted by Paul T. on August 4, 2006, 8:19 pm
Please log in for more thread options
> I need a program to translate DXF to gcode.
Take a look at www.sheetcam.com . SheetCAM is a simple but powerful 2.5D CAM
program and it does a good job of importing .dfx files and generating G
code from them. Its a good deal for $150. and is well supported.
Paul T.
|
|
|
>seven years ago, which translates hpgl-1 to gcode (with an intermediate
>binary). The programmer has left South Africa, and there is no source
>code available.
>
>AutoCAD 2000 and later versions are all dependent on printing to a
>Windows print device, and there is no support or driver available for
>hpgl-1. All seem to output hpgl-2. I have found a wonderful program to
>run our Isels, (linux distribution - coolcnc)but need to feed it gcode.
>Now I know all you guys can write gcode straight off for your mills,
>lathes, etc., but I'm not that clever.
>
>I need a program to translate DXF to gcode. I've tried various progs
>from the net, but all seem to do strange things when I give them one of
>our plain vanilla DXF files. e.g. an array of 100 45x20mm labels with
>centred text. (Ends up with tool path running straight across the job at
>30 degrees???, and no, it isn't the tool return to turret)
>
>I have no problem in adding the tool change pauses, translating
>multisegment arcs, and so on, but I need to be able to have a fair start.
>
>TIA,
>
>Ivan