Ther is a problem about the circles. Revgen don't handle circles over 180 deg.
I think the problem can be fixed by add some code in the cut.awk file: 


....
...

#----------- Arc XY Section --------------------------------

   if ( plnmode == "G17" ) {
       if ( gmode == "G02" || gmode == "G03" ) {
          if ( lastmode == "G01" ) {
             print "        }"
             print "        ]" 
          }
          stpointx = thex
          stpointy = they
          stpointz = thez
          calcenter(stpointx,stpointy,stpointz,thei,thej,thek)
          calrad(stpointx,stpointy,stpointz,centerx,centery,centerz)
          calxyz(searchX,searchY,searchZ,endline)
          endpointx = thex
          endpointy = they
          endpointz = thez
          if ( arcdirxy != "reverse" ) {
            if ( gmode == "G02" ) {
               printf ("ARC[DR=0, XC=%.6f, YC=%.6f, XS=%.6f, YS=%.6f,
XE=%.6f, YE=%.6f, LV=%.6f]\n", centerx, centery, stpointx, stpointy,
endpointx, endpointy, thez)
               lastmode = "G02"
            }
            if ( gmode == "G03" ) {
               printf ("ARC[DR=1, XC=%.6f, YC=%.6f, XS=%.6f, YS=%.6f,
XE=%.6f, YE=%.6f, LV=%.6f]\n", centerx, centery, stpointx, stpointy,
endpointx, endpointy, thez)
               lastmode = "G03"
            }
          }
          if ( arcdirxy == "reverse" ) {
            if ( gmode == "G02" ) {
               printf ("ARC[DR=1, RA=%.6f, XS=%.6f, YS=%.6f, XE=%.6f,
YE=%.6f, LV=%.6f]\n", radius, stpointx, stpointy, endpointx, endpointy, thez)
               lastmode = "G02"
            }
            if ( gmode == "G03" ) {
               printf ("ARC[DR=0, RA=%.6f, XS=%.6f, YS=%.6f, XE=%.6f,
YE=%.6f, LV=%.6f]\n", radius, stpointx, stpointy, endpointx, endpointy, thez)
               lastmode = "G03"
            }
          }
       }
   }
# ARC[XC=##, YC=##, XS=##, YS=##, XE=##, YE=##,
# XI=##, YI=##, SS=##, SC=##, TS=$$, AS=##,
# SE=##, TE=$$, AE=##, SI=##, TI=$$, DR=##,
# RA=##, LV=##]
...
..
#------------- Function to determine x,y,z ----------------------
....
...
function calcenter(stpointx,stpointy,stpointz,thei,thej,thek){

             if ( implied == 0 ) {
                places = 1.0
             }
             if ( implied == 1 ) {
                places = 10.0
             }
             if ( implied == 2 ) {
                places = 100.0
             }
             if ( implied == 3 ) {
                places = 1000.0
             }
             if ( implied == 4 ) {
                places = 10000.0
             }
             if ( implied == 5 ) {
                places = 100000.0
             }
             if ( implied == 6 ) {
                places = 1000000.0
             }

             searchI = match($0,"I")
             searchJ = match($0,"J")
             searchK = match($0,"K")
             searchR = match($0,"R")
             thei = (substr($0,searchI+1,endline))/places
             thej = (substr($0,searchJ+1,endline))/places
             thek = (substr($0,searchK+1,endline))/places
             if ( arcmode == "start_center" ) {
                centerx = stpointx + thei
                centery = stpointy + thej
                centerz = stpointz + thek
             }
             if ( arcmode == "center_start" ) {
                centerx = stpointx - thei
                centery = stpointy - thej
                centerz = stpointz - thek
             }
             if ( arcmode == "absolute" ) {
                centerx = thei
                centery = thej
                centerz = thek
             }

return centerx centery centerz thei thej thek

}
....
...

------------------------

an extra function determin small ore big circle is neded I think 

T.Holst


At 11:17 AM 5/25/00 -0400, you wrote:
>Hey all
>
>There were several posts some time ago concerning reverse code generation;
>creating a model from code.
>
>Did anyone ever have any success with this and if so, where can I get the
>program?
>
>Thanks
>Pete
>
>
>_______________________________________________________
>Peter Ruehle                               
>Semiconductor Packaging Materials
>[EMAIL PROTECTED]
>http://www.sempck.com 
>(914) 273-5500           
>
>======================================================================
>To find out more about this mailing list including how to unsubscribe,
>send the message "info mfg-smartcam" to [EMAIL PROTECTED]
>======================================================================
>
---------------------
PROTOTECH AS
P.O. Box 6034
N-5892 Bergen, Norway.
======================================================================
To find out more about this mailing list including how to unsubscribe,
send the message "info mfg-smartcam" to [EMAIL PROTECTED]
======================================================================

Reply via email to