alias fclose axlDMClose alias flog axlDMOpenLog sstatus(stacktrace 30) sstatus(stacktraceDump t) ;Get The start point pointStart=axlEnterPoint() Px=xCoord(pointStart) Py=yCoord(pointStart) ; pick TOP/LEFT most only make sure that the database size is atleast 42000 30000 lv.x = Px (defun fQPlcPag (pageno, picX, picY ) (setq outfile (axlDMOpenFile "ALLEGRO_TEXT" "foobar.scr" "w")) fprintf(outfile "version 16.01\n") ; Clear Old Details Top fprintf(outfile "setwindow pcb\n") fprintf(outfile "generaledit \n") fprintf(outfile "quickplace\n") fprintf(outfile "setwindow form.quickplc\n") fprintf(outfile "FORM quickplc place_page_num YES\n") fprintf(outfile "FORM quickplc page_num\n") fprintf(outfile "setwindow form.sch_page_num\n") sprintf(ttext "FORM sch_page_num view_tree 'MULTISEL YES' %L Sch_pagenum" pno) fprintf(outfile ttext) fprintf(outfile "\n") ;FORM sch_page_num view_tree 3 Sch_pagenum fprintf(outfile "FORM sch_page_num done \n") fprintf(outfile "setwindow form.quickplc\n") fprintf(outfile "FORM quickplc origin_select_mode YES \n") fprintf(outfile "FORM quickplc origin \n") fprintf(outfile "setwindow pcb\n") ;sprintf(schcmd2 "pick grid %L %L" lv.x+200 lv.y-200) sprintf(ploc "pick %0.4L %0.4L" picX picY) ;pick grid -4355.1968 11099.6709 fprintf(outfile ploc) fprintf(outfile "\n") fprintf(outfile "setwindow form.quickplc\n") fprintf(outfile "FORM quickplc bottom_edge YES \n") fprintf(outfile "FORM quickplc place \n") fprintf(outfile "FORM quickplc done \n") fprintf(outfile "setwindow pcb\n") fclose(outfile) ) ;Set noapp mode ;sprintf(scrFile,"%s","replay foobar.scr") axlShell("noappmode") ;create layer board geometry/placebox make it visible unless(axlSetActiveLayer("BOARD GEOMETRY/PLACE_BOX") axlLayerCreateNonConductor("BOARD GEOMETRY/PLACE_BOX") ) ;Set Visibility Template/State origStatus = axlVisibleGet() axlVisibleDesign(nil) axlVisibleLayer("BOARD GEOMETRY/PLACE_BOX" t) axlVisibleLayer("BOARD GEOMETRY/OUTLINE" t) axlVisibleLayer("PACKAGE GEOMETRY/SILKSCREEN_TOP" t) axlVisibleLayer("ETCH/TOP" t) axlVisibleLayer("PIN/TOP" t) axlVisibleUpdate(nil) placeStatus = axlVisibleGet() ; Begin Outer For loop 1 to 6 ; Begin Inner forloop 1 to 8 ; preset turn on layers (outline/silk top/ top pad/placebox) pno = 1 for(d1 0 5 ; sstatus(stacktrace 30) for(d 0 7 lv.y = Py axlVisibleSet(placeStatus) axlVisibleUpdate(nil) ; Draw line on board geometry/oulint from start point for ix 4000 lv.path = axlPathStart( list(lv.x:lv.y lv.x+4000:lv.y)) axlDBCreatePath(lv.path "BOARD GEOMETRY/OUTLINE" 'line) ; Draw box on board geometry/placebox from start point ix 4000 -4000 lv.bBox=list(list(lv.x lv.y) list(lv.x+4000 lv.y-4000)) axlDBCreateRectangle(lv.bBox, nil, "BOARD GEOMETRY/PLACE_BOX" ) ; Add Text Page # lv.myorient = make_axlTextOrientation(?textBlock "9", ?rotation 90, ?mirrored nil, ?justify "left") lv.ttext = sprintf(ttext "PAGE %L" pno) axlDBCreateText( lv.ttext,list(lv.x+150 lv.y-850), lv.myorient, "BOARD GEOMETRY/PLACE_BOX",nil) ; set quick place origin as xcoord + 200 , ycoord-200 picX=lv.x+200 picY=lv.y-200 ;Call Script writer fQPlcPag(pno, picX, picY) ;Play Script sprintf(scrFile,"%s","replay foobar.scr") axlShell(scrFile) ;Increment Page Number pno = pno+1 ; Turn off all layers and turn on Board geometry/outline axlVisibleDesign(nil) axlVisibleUpdate(nil) axlVisibleLayer("BOARD GEOMETRY/OUTLINE" t) axlVisibleUpdate(nil) ; Delete line selectboax xcoord-50 ycoord+50 xcoord+4050 ycoord-50 axlShell("generaledit") axlShell("delete") axlShell("setwindow form.find") axlShell("FORM find all_off ") axlShell("FORM find lines YES ") axlShell("setwindow pcb") sprintf(cmd1, "drag_start grid %0.4L %0.4L" lv.x-50 lv.y+50) sprintf(cmd2, "drag_stop %0.4L %0.4L" lv.x+4050 lv.y-50) sprintf(cmd3, "prepopup %0.4L %0.4L" lv.x-50 lv.y+50) axlShell(cmd1) axlShell(cmd2) axlShell(cmd3) axlShell("delete") axlShell("done") axlShell("generaledit") ; turn on preset layers axlVisibleSet(placeStatus) ; xcoord+4050 lv.x=lv.x+4050 d=d+1 ); end Inner for loop lv.x = Px Py = Py-4050 d1=d1+1 ); End Outer for loop ;axlVisibleSet(origStatus ) axlVisibleSet(placeStatus)