Español
Foro

HPGL File en Profano invitar y Grafik en Ventana ausgeben

 
- 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
 
Xprofan X3.1
Win7 auf AMDX6
27.06.2008  
 



 
- Página 3 -



E.T.
Ein bekannter de me ha auch una Fräse incluso gebaut (X,Y UND Z-Steuerung). Como könnt Yo en efecto veces nachfragen, como el alles gemacht ha. Wenn Yo mich correcto erinnere, bearbeitet él alles con Corel, el Steuerung es entonces una DOS-Programa.

Mario
 
Grüße aus Sachsen... Mario
WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte...
05.07.2008  
 



Ah, Yo hatte en el Paket en una Screentshot gehofft por qué me el Dateigröße Spanisch vorkam.
 
05.07.2008  
 




GDL
Hi Web

Lo va en Europlatinen (100*160 mm).
- Isolationsfräsen
- 0,6 mm Durchm. Bohren en 1mm Kupferauge
- 0,8 mm Durchm. Bohren en 1,5 mm Kupferauge
- 1,3 mm Durchm. Bohren en 2 mm Kupferauge

En 2seitigen Platinen obige Schritte doppelt (Löcher necesario exakt el Lötaugen en beiden Páginas treffen).

Derzeit lugar Yo el Platinen así her
- UV Belichtung
- Entwickeln
- Ätzen
- Bohren con uno Hochdrehzahl-Ständerbohrmaschine con Spezialspannfutter.

Como dies muy zeitraubend y Bohrer-Abbrech intensiv es, wurde veces encima Alternativen nachgedacht.

Servus
Georg

 
Windows7 Xprofan 8,9,10 [...]  [...] 
05.07.2008  
 




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
 
Xprofan X3.1
Win7 auf AMDX6
05.07.2008  
 




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.
 
Windows7 Xprofan 8,9,10 [...]  [...] 
06.07.2008  
 




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
 
Xprofan X3.1
Win7 auf AMDX6
07.07.2008  
 




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
 
Xprofan X3.1
Win7 auf AMDX6
07.07.2008  
 



@Georg: Schau veces [...]  vom Mitglied [...]  - vlt. ensteht como algo?

@WebS: Einen Loadergrundstock kann Yo dafür gerne heute Abend (zuhause) aufbereiten y aquí puesto.
 
10.07.2008  
 



Funktioniert

Orignalsource en el Paket, hier el enh:
KompilierenMarcaSeparación
SET(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

468 kB
Hochgeladen:10.07.2008
Ladeanzahl98
Descargar
 
10.07.2008  
 




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

3 kB
Hochgeladen:11.07.2008
Ladeanzahl131
Descargar
 
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
 
Xprofan X3.1
Win7 auf AMDX6
11.07.2008  
 




Respuesta


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

6.796 Views

Untitledvor 0 min.
Manfred Barei09.01.2021
Normann Strübli31.03.2020
Michael W.09.01.2017
iF30.12.2015
Más...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie