| |
|
|
- Página 1 - |
|
Web Scanner | ¡Hola Amigos,
mein CNC Programa se ejecuta soweit ya bastante bien, nun möchte Yo dran weitermachen
Also: Yo bin en el Búsqueda después de folgendem. Lo son sogenannte HPGL Files, el son Anweisungen el z.B en Plotter ausgegeben voluntad puede y luego schöne Sachen dibujar, oder eben plotten. Ev. sabe el alguien ya? Diese Files haben una bastante bestimmtes Formato (Yo glaube xxx.hgl).
Yo möchte nun: 1. Ein beliebiges HPGL-File en XProfan 10 invitar 2. El Zeichnung ( = el Plot skaliert) en un Ventana entstehen dejar.
So theoretisch tener Yo ya ne Concepto, aber ev. kann Yo mich a una Ejemplo de Euch festhalten y daran weiterproggen?
Viele Grüße
Euer Web |
|
|
| |
|
|
|
| |
|
- Página 3 - |
|
Web Scanner | Hi Georg,
para Leiterplatten en pequeño Serien hay doch eigentlich preiswerte Anbieter, oder bin Yo como falso informiert?
El Fräserei de Leiterplatten lohnt se (wahrscheinlich) para Serien más no, como el Isolationsfräsen doch muy largo dauert y bastante Fräserverschleissend (en FR4) es. Dasselbe gilt auch para el Bohrer. En Ebay gibts entonces siempre el aussortierten Fräser ud Bohrer, el todavía para Holz y Kunststoff scharf genug son.
Für einzelne Muster kann lo otra vez passend ser, como uno no el ganzen Weg el Herstellung encima el Ätzen ir muß.
Das Bohren es natürlich con una CNC una Klacks, solange el Boher hält. Besser wäre lo (si posible) se en una mittleren Bohr Durchmesser festzulegen. El Umspannerei es no gerade beliebt, y uno muß no así viele verschiedene Bohrergrößen vorhalten.
Grüße
Web |
|
|
| |
|
|
|
GDL | Hi,
habe lo fast ya befürchtet.Platinendienst es a teuer.Brauchen ca. 300 Platinen con untershiedlichem Layout. Mit el Ätztechnik kann Yo sí todavía leben.Für el Bohren muss Yo sólo qué überlegen.
Servus Georg
Editar: El Bohrergrößen son Bauteile bedingt. |
|
|
| |
|
|
|
Web Scanner | Hi Georg,
kennst Usted el Tanbo de Elektor?
= Tangential - Bohr - Maschine
Das wäre ev. qué para Leiterplattenbohren ? Yo weiß allerdings no qué lo kostet. Ev. Selbstbau posible? Als el Gerät neu war, fand Yo el Konzept muy interessant.
[...]
Grüße
Web |
|
|
| |
|
|
|
RGH | RGH
Web Scanner@Roland, hast Usted eventuell ya qué en Deinem Archiv gefunden? Web Gib me Por favor, todavía algo Tiempo a para Wochenende! Saludo Roland
¡Hola, lo tut me leid, aber offensichtlich Yo el erwähnten Quellcode no mehr. Como el HPGL-Formato aber una reines ASCII-Formato es, debería lo en XProfan no allzu schwer ser, una Programa a escribir, dass el Expediente einliest y en el Bildschirm darstellt. Saludo Roland |
|
|
| Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 07.07.2008 ▲ |
|
|
|
|
Web Scanner | Hola Roland,
kein Problema, vielen Dank fürs Suchen.
Yo warte veces todavía de, qué IF vorhat dazu a proggen, Ansonsten lege Yo primero los y voluntad weitere Fragen haben
Grüße
Web |
|
|
| |
|
|
|
| @Georg: Schau veces [...] vom Mitglied [...] - vlt. ensteht como algo?
@WebS: Einen Loadergrundstock kann Yo dafür gerne heute Abend (zuhause) aufbereiten y aquí puesto. |
|
|
| |
|
|
|
| Funktioniert
Orignalsource en el Paket, hier el enh: KompilierenMarcaSeparaciónSET(errorLevel,-1)
proc LASTSUBSTR
PARAMETERS S$,D$
RETURN (SUBSTR$(S$,LEN(S$,D$),D$))
endproc
proc NOTLASTSUBSTR
PARAMETERS S$,D$
RETURN DEL$(S$,LEN(S$,D$),1,D$)
endproc
proc NOTFIRSTSUBSTR
PARAMETERS S$,D$
RETURN DEL$(S$,1,1,D$)
endproc
proc SETSUBSTR
PARAMETERS S$,N&,D$,NS$
RETURN INS$(NS$,DEL$(S$,N&,1,D$),N&,D$)
endproc
proc FTOA
PARAMETERS F!
RETURN +SUBSTR$(STR$(F!),1,.)
endproc
proc STRI
PARAMETERS F!
RETURN SUBSTR$(STR$(F!),1,.)
endproc
proc TSND
PARAMETERS V&
var S$=STRI(V&)
var L&=LEN(S$)
var T&=(L&-1)3
WHILELOOP T&
S$=INS$(.,S$,L&-&LOOP*3+1)
ENDWHILE
RETURN S$
endproc
proc STOALLOWEDCHARS
PARAMETERS S$,ALWDCHRS$
var C&=LEN(S$)
var I&=0
IFNOT C&
RETURN
ENDIF
WHILE 1
INC I&
IFNOT INSTR(SUBSTR$(S$,I&),ALWDCHRS$)
S$=DEL$(S$,I&,1)
DEC I&
DEC C&
ENDIF
IF I&=C&
BREAK
ENDIF
ENDWHILE
RETURN S$
endproc
proc WHILE_REPLACE
PARAMETERS S$,FROM$,_TO$
WHILE INSTR(FROM$,S$)
S$=TRANSLATE$(S$,FROM$,_TO$)
ENDWHILE
RETURN S$
endproc
proc SARRTOSTRING
PARAMETERS ARR$[],E$
var C&=SIZEOF(ARR$[])-1
IF C&<0
RETURN
ENDIF
var S$=
WHILELOOP 0,C&
S$=S$+ARR$[&LOOP]+E$
ENDWHILE
RETURN S$
endproc
proc FGETFILEEXT
PARAMETERS FLE$
IFNOT INSTR(.,FLE$)
RETURN
ENDIF
RETURN LASTSUBSTR(FLE$,.)
endproc
proc FGETFNAMEFROM
PARAMETERS S$
RETURN LASTSUBSTR(S$,\)
endproc
proc FGETPATHFROM
PARAMETERS S$
RETURN NOTLASTSUBSTR(S$,\)+\
endproc
proc FGC
PARAMETERS FLE$
IF %PCOUNT<1
RETURN
ENDIF
var B&=FILESIZE(FLE$)
IF B&<1
RETURN
ENDIF
DECLARE MEM#
DIM MEM#,B&
var R&=BLOCKREAD(FLE$,MEM#,0,B&)
var S$=CHAR$(MEM#,0,R&)
DISPOSE MEM#
RETURN S$
endproc
proc FPC
PARAMETERS FLE$,S$
IF %PCOUNT<1
RETURN
ENDIF
IF %PCOUNT<2
S$=
ENDIF
var L&=LEN(S$)
IF L&=0
var FH&=ASSIGN(FLE$)
REWRITE FH&
CLOSE FH&
ASSIGN FH&,
RETURN
ENDIF
DECLARE MEM#
DIM MEM#,L&+1
STRING MEM#,0=S$
BLOCKWRITE FLE$,MEM#,0,L&
DISPOSE MEM#
endproc
proc FMKDIR
PARAMETERS DNAME$
IF %PCOUNT<1
RETURN
ENDIF
IF DIREXISTS(DNAME$)
RETURN 2
ENDIF
MKDIR DNAME$
RETURN DIREXISTS(DNAME$)
endproc
proc FDELETE
:!>Löscht die Datei fname$ und liefert als Rückgabewert den Erfolg der Operation.
PARAMETERS FNAME$
IF %PCOUNT<1
RETURN
ENDIF
IFNOT FILEEXISTS(FNAME$)
RETURN 2
ENDIF
var FH%=ASSIGN(FNAME$)
IFNOT FH%
RETURN 0
ENDIF
ERASE #FH%
ASSIGN #FH%,
RETURN 1-FILEEXISTS(FNAME$)
endproc
proc FTRYDELETE
PARAMETERS FLE$,MSTIMEOUT&
IF %PCOUNT<1
RETURN
ENDIF
IF %PCOUNT<2
MSTIMEOUT&=8000
ENDIF
IFNOT FILEEXISTS(FLE$)
RETURN 1
ENDIF
IF FDELETE(FLE$)
RETURN 1
ENDIF
MSTIMEOUT&=MSTIMEOUT&+&GETTICKCOUNT
WHILE 1
SLEEP 100
IF FDELETE(FLE$)
BREAK
ENDIF
IF &GETTICKCOUNT>MSTIMEOUT&
BREAK
ENDIF
ENDWHILE
RETURN 1-FILEEXISTS(FLE$)
endproc
proc FCHDIR
PARAMETERS DNAME$
var OP$=LOWER$(GETDIR$(@))
IF DIREXISTS(DNAME$)
CHDIR DNAME$
ENDIF
RETURN IF(LOWER$(GETDIR$(@))=DNAME$,1,0)
endproc
WINDOWSTYLE 1 | 2 | 4 | 8 | 16 | 512
CLS
USERMESSAGES $0010,$0014
var HPIC&=CREATE(hHPGLPic,FGC(1.plt),400,400,$FFAA99)
IFNOT HPIC&
MESSAGEBOX(Bild konnte nicht erzeugt werden.,,4096)
ENDIF
DRAWPIC HPIC&,10,10;0
WHILE 1
WAITINPUT
SELECT %UMESSAGE
CASEOF $0010
BREAK
ENDSELECT
ENDWHILE
end
subproc CREATE.HHPGLPIC
PARAMETERS __HPGLDATA$,PICWIDTH&,PICHEIGHT&,BGCOLOR&
RETURN HPGL.CREATEHPIC(__HPGLDATA$,PICWIDTH&,PICHEIGHT&,BGCOLOR&)
endproc
proc HPGL.CREATEHPIC
PARAMETERS __HPGLDATA$,PICWIDTH&,PICHEIGHT&,BGCOLOR&
DECLARE CMDS$[]
CMDS$[]=EXPLODE(TRIM$(WHILE_REPLACE(TRANSLATE$(TRANSLATE$(__HPGLDATA$,;,x0A),x0D,x0A),x0A+x0A,x0A)),x0A)
var C&=SIZEOF(CMDS$[])
IFNOT C&
RETURN 0
ENDIF
IF (C&=1) AND (CMDS$[0]=)
RETURN 0
ENDIF
var PEN.ISDOWN%=0
var PEN.CURRENT%=0
var PEN.LINETYP%=0
var PEN.X!=0
var PEN.Y!=0
DECLARE CMDLINE$[]
var I&=0
DECLARE PAINTLIST$[]
var S$=
WHILELOOP 0,C&-1
S$=INS$(,,TRANSLATE$(TRIM$(WHILE_REPLACE(CMDS$[&LOOP], , )), ,,),3)
IF LEN(S$)=3
S$=DEL$(S$,3,1)
ENDIF
CMDLINE$[]=EXPLODE(S$,,)
SELECT UPPER$(CMDLINE$[0])
CASEOF IN
CASEOF WU
CASEOF VS
CASEOF PW
CASEOF SP
PEN.CURRENT%=VAL(CMDLINE$[1])
CASEOF LT
IF SIZEOF(CMDLINE$[])>1
PEN.LINETYP%=CMDLINE$[1]
SELECT CMDLINE$[1]
CASEOF 1,2,3,4,5,6
USEPEN 0,0,1
OTHERWISE
USEPEN 0,0,1
ENDSELECT
ENDIF
CASEOF PA
IF SIZEOF(CMDLINE$[])>1
WHILELOOP 0,(SIZEOF(CMDLINE$[])-1)*0.5-1
HPGL.CREATEHPIC.PEN.MOVETO(VAL(CMDLINE$[&LOOP*2+1]),VAL(CMDLINE$[&LOOP*2+2]))
ENDWHILE
ENDIF
CASEOF PU
PEN.ISDOWN%=0
IF SIZEOF(CMDLINE$[])>1
WHILELOOP 0,(SIZEOF(CMDLINE$[])-1)*0.5-1
HPGL.CREATEHPIC.PEN.MOVE(VAL(CMDLINE$[&LOOP*2+1]),VAL(CMDLINE$[&LOOP*2+2]))
ENDWHILE
ENDIF
CASEOF PD
PEN.ISDOWN%=1
IF SIZEOF(CMDLINE$[])>1
WHILELOOP 0,(SIZEOF(CMDLINE$[])-1)*0.5-1
HPGL.CREATEHPIC.PEN.MOVE(VAL(CMDLINE$[&LOOP*2+1]),VAL(CMDLINE$[&LOOP*2+2]))
ENDWHILE
ENDIF
ENDSELECT
ENDWHILE
C&=SIZEOF(PAINTLIST$[])
IFNOT C&
RETURN 0
ENDIF
DECLARE PAINTDATA$[]
var VMINX!=0
var VMINY!=0
var VMAXX!=0
var VMAXY!=0
var FX!=0
var FY!=0
var FXX!=0
var FYY!=0
var VSET%=0
WHILELOOP 0,C&-1
PAINTDATA$[]=EXPLODE(PAINTLIST$[&LOOP],x0A)
SELECT PAINTDATA$[0]
CASEOF line
FX!=VAL(PAINTDATA$[1])
FY!=VAL(PAINTDATA$[2])
FXX!=VAL(PAINTDATA$[3])
FYY!=VAL(PAINTDATA$[4])
HPGL.CREATEHPIC.PAINTDATA.SETMINMAX(FX!,FY!)
HPGL.CREATEHPIC.PAINTDATA.SETMINMAX(FXX!,FYY!)
CASEOF arc
ENDSELECT
ENDWHILE
var XD!=VMAXX!-VMINX!
var YD!=VMAXY!-VMINY!
IF VMAXX!=0
RETURN 0
ENDIF
IF VMAXY!=0
RETURN 0
ENDIF
var SX!=(PICWIDTH&-10)/XD!
var SY!=(PICHEIGHT&-10)/YD!
var VSX!=VMINX!*SX!
var VSY!=VMINY!*SY!
var HPIC&=CREATE(hNewPic,PICWIDTH&,PICHEIGHT&,BGCOLOR&)
IFNOT HPIC&
RETURN 0
ENDIF
STARTPAINT HPIC&
WHILELOOP 0,C&-1
PAINTDATA$[]=EXPLODE(PAINTLIST$[&LOOP],x0A)
SELECT PAINTDATA$[0]
CASEOF line
FX!=VAL(PAINTDATA$[1])*SX!-VSX!+5
FY!=VAL(PAINTDATA$[2])*SY!-VSY!+5
FXX!=VAL(PAINTDATA$[3])*SX!-VSX!+5
FYY!=VAL(PAINTDATA$[4])*SY!-VSY!+5
USEPEN 0,0,0
LINE FX!,FY! - FXX!,FYY!
CASEOF arc
ENDSELECT
ENDWHILE
ENDPAINT
RETURN HPIC&
proc HPGL.CREATEHPIC.PAINTDATA.SETMINMAX
PARAMETERS X!,Y!
IFNOT VSET%
VSET%=1
VMINX!=X!
VMAXX!=X!
VMINY!=Y!
VMAXY!=Y!
RETURN
ENDIF
IF VMINX!>X!
VMINX!=X!
ENDIF
IF VMAXX!<X!
VMAXX!=X!
ENDIF
IF VMINY!>Y!
VMINY!=Y!
ENDIF
IF VMAXY!<Y!
VMAXY!=Y!
ENDIF
endproc
proc HPGL.CREATEHPIC.PEN.MOVE
PARAMETERS X!,Y!
IF PEN.ISDOWN%
HPGL.CREATEHPIC.PAINTLIST.ADD(line+x0A+STR$(PEN.X!)+x0A+STR$(PEN.Y!)+x0A+STR$(PEN.X!+X!)+x0A+STR$(PEN.Y!+Y!))
ENDIF
PEN.X!=PEN.X!+X!
PEN.Y!=PEN.Y!+Y!
endproc
proc HPGL.CREATEHPIC.PEN.MOVETO
PARAMETERS X!,Y!
IF PEN.ISDOWN%
HPGL.CREATEHPIC.PAINTLIST.ADD(line+x0A+STR$(PEN.X!)+x0A+STR$(PEN.Y!)+x0A+STR$(X!)+x0A+STR$(Y!))
ENDIF
PEN.X!=X!
PEN.Y!=Y!
endproc
proc HPGL.CREATEHPIC.PAINTLIST.ADD
PARAMETERS TODO$
TODO$=TODO$+x0A+STR$(PEN.CURRENT%)+x0A+STR$(PEN.LINETYP%)
PAINTLIST$[SIZEOF(PAINTLIST$[])]=TODO$
ENDPROC
ENDPROC
end
|
|
|
| |
|
|
|
Dieter Zornow | Was va a deinem Programa, 1.plt es una perfekter Kreis, el Yo en deinem Prog no erkennen kann. Tal vez después de 20 Schnaps
Anbei Screenshoot de el Orginaldatei 1.plt |
|
|
| Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai., Win 7 32 bit und Win 7 64 bit, mit XProfan X2 | 11.07.2008 ▲ |
|
|
|
|
Web Scanner | @IF el Programa ha viel Arbeit gemacht...Yo weiß lo genau -..sólo en me erscheint una Kringel y kein Kreis- beim Programmstart
Weil Yo otra vez veces no esperar podría, Yo me inzwischen una propio Inputroutine geschrieben. Mi Versión es sicher no bastante así profi, como deine gemacht, aber funktioniert bastante bien.
Lo va auch para mehrere Elemente - also 100 Kreise oder Quadrate usw .usf. Yo denke auch, es en así uno komplexen Thematik no así simplemente, todo Programmteile dazuzunehmen, deren Función uno no 100% blickt.
Das Nächste se ser, el uno:
1. el angezeigte Bild mover kann 2. en el Bild zoomen kann 3. el verschiedene Vektoren anclicken kann y a el Endpunkten en verschiedene Richtungen ziehen kann y todos wiederum speichern kann....
Lo son todavía viel a tun
Grüße
Web |
|
|
| |
|
|
| |
|
- Página 4 - |
|
|
| Verbucht como X11 Testcode, y nein - de viel Arbeit kann no Rede ser.
Leider war No klar el lo hätte una Kreis voluntad debería. |
|
|
| |
|
|
|
| Hab el Vertipper gefunden - sí lo wurde una Kreis!
Yo werd el veces hier irgendwie brauchbar abspeichern como include más o menos...
Apéndice: Jupp: [...] |
|
|
| |
|
|
|
| |
|
| |
|
|