vb.net draw line e file testo.

domenica 11 ottobre 2009 - 09.47

Anonimo Profilo | Senior Member

Salve, per ora ho scritto questo codice:

Dim blackPen As New Pen(Color.Red, 3)

Dim x1 As Single = TextBox1.Text
Dim y1 As Single = TextBox2.Text
Dim x2 As Single = TextBox3.Text
Dim y2 As Single = TextBox4.Text

e.Graphics.DrawLine(blackPen, x1, y1, x2, y2)



che prende i valori nelle varie textbox , ora mi chiedevo se era possibile fare il modo che le prenda in un file di testo,
si può fare?.

Mi interessa che il file è composto cosi:

X20;
Y30;
X0;
Y20;
etc.

però vorrei che le legga un passo alla volta e nella creazione della linea la crea una volta come fa leggere il file.


grazie.


aspetto risposte.

alexmed Profilo | Guru

Ciao
Guarda se così ti può andar bene:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Devi solo cambiare la struttura del file txt che sarebbe :

20;30;0;20
50;100;10;45
etc.

Ciao


alexmed

Anonimo Profilo | Senior Member

mi protesti fare un favore ?,
me lo prostesti fare te cambiare la struttura?

grazie.

devo dire una cosa: si come che x1y1 (è il punto di inizio da dove disegna la linea), dopo c'è x2 y2 che procedono a disegnare,
mi puoi dire come fare ad fare che x1y1 , rimangano finche non c'è altro che gli dici di cambiare i valori.?
g
r
a
z
i
e.

alexmed Profilo | Guru

Ciao

>me lo prostesti fare te cambiare la struttura?
Questo vuol dire che tu devi elaborare un file txt che hai già oppure è un file che ti crei tu?

Tu hai detto:

>Mi interessa che il file è composto cosi:

>X20;
>Y30;
>X0;
>Y20;
etc.

Per cambiare struttura indendevo che il file da cui prendi le coordinate dovrebbe avere la serie di coordinate in una riga sola e senza l'indicazione del nome della coordinata, quindi:
20;30;0;20

Se invece il file esiste già e non lo puoi cambiare, bisogna cambiare il codice scritto prima.

Fammi sapere.

alexmed

Anonimo Profilo | Senior Member

ok,
una cosa si può fare cosi, avendo strutturato cosi il file:
20;30;0;20
50;100;10;45

mi è venuta idea, di farlo cosi:
X0Y0 X20Y30;
e cosi via.
sempre una linea a capo non tutto attacato ed con il ; finale.

si può fare?,
Mi protesti aiutarmi solo in questa parte?.

grazie mille.

alexmed Profilo | Guru

Ciao
scusa ma mi sono appisolato.
C'è un motivo particolare per cui vuoi mantenere questa "formattazione" del file?

alexmed

Anonimo Profilo | Senior Member

si, voglio che usa X Y.
perchè sto faccendo un programmino per CNC (Macchine controllo numerico),
e il suo interprete si basa sulle coordinate XY
esempio:

X20;
Y20;

E lo zero point x e y stanno in cima a tutto e sono equivalenti a x1 e y1.

Mi protesti dare una mano ?.

PS: Sai che sono le Macchine controllo numerico?.

grazie
aspetto risposte.

alexmed Profilo | Guru

>e il suo interprete si basa sulle coordinate XY
>esempio:

>X20;
>Y20;

Mi passeresti un file con qualche linea.
Vorrei capire dove si interrompe una linea e incomincia l'altra.

>PS: Sai che sono le Macchine controllo numerico?.
Più o meno.

alexmed

Anonimo Profilo | Senior Member

ti allego l'immagine per capirci meglio, e vedi la seconda linea che cambia posizione che invece di andare dritta, la faccio andare in basso.
codice txt:
50;50;500;50;
500;50;50;300;
immagine programma:

1280x740 53Kb


grazie mille. per l'aiuto.

Anonimo Profilo | Senior Member

ti incollo il codice per adesso che ho fatto:

Mi dici come faccio ad selezionare il file, e leggere le coordinate?.

grazie.
EDIT : Ho modificato ho messo il codice corretto:
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

alexmed Profilo | Guru

Eccomi

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra
alexmed

Anonimo Profilo | Senior Member

scusa tantissimo mi protesti allegare il progetto intero?.

perchè non capisco molto bene che devo creare.

grazie mille.

Anonimo Profilo | Senior Member

ciao, ho trovato un esempio di codice che è della cnc che ho fatto in classe (a scuola),
ma prendi solo spunto dalle coordiane x y z .

G0X0Y0; <- Questo è equivalente al x1 e y1 (Lo Start Point X,Y). e quando incontra questo va al punto di inizio.
in poche parole devo fare l'interprete che capisce questo codice:

X23.745Y13;
X-2.255Y-13;
X-24.883;
X1.117Y13;
X-21.51;
X-43Y-8.49;
X20.372Y-13;
X43Y9.628;
Y-13;
Y13;
X-43;
Y-13;
X43;
G0X0Y0;
G1Z-8F25;
F180;
X23.745Y13;
X-2.255Y-13;
X-24.883;
X1.117Y13;
X-21.51;
X-43Y-8.49;
X20.372Y-13;
X43Y9.628;
Y-13;
Y13;
X-43;
Y-13;
X43;
G0X0Y0;


Ma mi piaccerebe farmelo io , con vb.net. come abbiamo già proveduto.
grazie mille.
ciao, saluti
luigi.

alexmed Profilo | Guru

Dunque:
in allegato il progettino!!

Adesso provo con il formato che mi hai passato.
Cerca solo di spiegarmi meglio come si compone il file.
Ad esempio:

>X23.745Y13; inizio prima linea
>X-2.255Y-13; fine prima linea
>X-24.883; inizio ... fine ... qui cosa succede?
>X1.117Y13; e qui?
>X-21.51; qui perchè c'è solo la X?
>X-43Y-8.49;
>X20.372Y-13;
>X43Y9.628;
>Y-13; Perche c'è solo la Y
>Y13; come sopra
>X-43; come sopra
>Y-13; ...
X43; ...
>G0X0Y0; e quando incontra questo va al punto di inizio: SI MA qual'è il punto di inizio???

Ciao



alexmed

Anonimo Profilo | Senior Member

X23.745Y13; inizio prima linea
>X-2.255Y-13; fine prima linea
>X-24.883; inizio ... fine ... qui cosa succede?
>X1.117Y13; e qui?
>X-21.51; qui perchè c'è solo la X?
>X-43Y-8.49;
>X20.372Y-13;
>X43Y9.628;
>Y-13; Perche c'è solo la Y
>Y13; come sopra
>X-43; come sopra
>Y-13; ...
X43; ...
>G0X0Y0; e quando incontra questo va al punto di inizio: SI MA qual'è il punto di inizio???
------------------------------------------------------------------------------------------------------------------

ora ti spiego:
qui:
X23.745Y13; inizio prima linea
>X-2.255Y-13; fine prima linea
>X-24.883; inizio ... fine ... qui cosa succede?

la X senza - va al positivo, la x con - va al negativo.la Y senza - va al positivo, la y con - va al negativo.
il ; stà per dire che è finita la riga di codice e passa alla prossima linea di codice.
G0 <- è il punto di inizio della macchina e quindi quando è x0y0 si trova nelle posizione e ritorna lì, come si disegnasse una linea con drawline,
ma può cambiare perchè può partire anche da x0y40. e poi disegna x230y230 etc.. fino alla fine del programma.

dove c'è solo la y o x , è perchè prima c'èra il ; che gli dice di passara la linea sucessiva.

capito ?
grazie, mille.

Anonimo Profilo | Senior Member

però il prossimo file mandamelo in privato.

alexmed Profilo | Guru

Vediamo se ho capito:

PARTO DALLE COORD: X0Y0
vai al punto: X-2.255Y-13;
spostati al punto: X-24.883; (la Y è = a quella di prima quindi = -13)
adesso vai al punto: X1.117Y13;
spostati al punto: X-21.51; (la Y è = a quella di prima quindi = 13)
spostati al punto: X-43Y-8.49;
spostati al punto: X20.372Y-13;
spostati al punto: X43Y9.628;
spostati al punto: Y-13; (la X è = a quella di prima quindi = 43)
spostati al punto: Y13; (la X è = a quella di prima quindi = 43)
spostati al punto: X-43; (la Y è sempre 13)
spostati al punto: Y-13; (la X è -43) FINE LINEA
GOX0Y0; VAI AL PUNTO X=0 Y=0 senza tracciare linee
...

Giusto?




alexmed

Anonimo Profilo | Senior Member

si hai capito.

in vb.net come facciamo ad fargli capire quel linguaggio lì?.

grazie mille, evviva!.

la email mia è EDIT:
aggiungimi a msn se c'è l'hai.

non trovo sul forum dove scrivere i pvt.
grazie.
domani non ci saro fino alle 20:00 perchè vado a scuola è faccio 8 ore di officina. dalla mattina alle 9 alla sera 20:00,
ci sentiamo se hai msn usa la email che ti ho scritto.
grazie.
grazie.

alexmed Profilo | Guru

Domani faccio qualche prova e poi ti mando il codice all'indirizzo che mi hai dato.

Ti consiglio di cancellare l'indirizzo dal post

Ciao

alexmed

Anonimo Profilo | Senior Member

grazie mille,
aspetto domani sera.
ho tolto l'indirizzo email.
grazie, mille

ciao a domani , ora vado a nanna :)

Anonimo Profilo | Senior Member

ciao,sono rientrato ora, perchè sono andato via un po prima...

hai fatto qualcosa?.

grazie mille.

alexmed Profilo | Guru

Ciao
Anch'io sono arrivato adesso e mi metto subito all'opera.

alexmed

Anonimo Profilo | Senior Member

grazie mille.
aspetto all'ora. tanto non ho fretta.

Anonimo Profilo | Senior Member

a scusa, mi protesti fare un favore il motore che legge le coordinate me lo protesti fare in una classe?

grazie mille.
aspetto.

Anonimo Profilo | Senior Member

scusa molto,
me lo protesti scrivere in C# se vuoi?.
perchè sto imparando c# 2008 perchè ho un sacco di libri ed ora mi son messi ad studiarli.
Per vb.net c'è lo solo uno ,

Quindi mi protesti fare una cortesia di tradurmelo in c#?.
grazie.
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

alexmed Profilo | Guru

Ciao
ehm ehm ... caschi male purtroppo.
Già in VB non sono una cima ... in C# proprio ZERO!!!

Prova a tradurlo qui:

http://www.developerfusion.com/tools/convert/vb-to-csharp/

Ciao

alexmed

Anonimo Profilo | Senior Member

ok.

ora mi metto a lavoro.

ciao.

Anonimo Profilo | Senior Member

ciao, scusa, se ti chiedo troppo ,
Mi dici come faccio ad incollare il codice che hai scritto te con questo:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

che disegna linea per pixel e poi mi dici come si fà inserire l'unita di misura?.
lo preso da qui:

http://www.mycutepictures.com/tutorials/csharp/2009/03/drawing-lines-pixel-by-pixel-in-c/

e lo convertito in vb.net.
grazie, mille.

Anonimo Profilo | Senior Member

in poche parole devo simulare un pantografo:

http://www.youtube.com/watch?v=JvsXGoE8q1k&NR=1

Anonimo Profilo | Senior Member

ciao alexmed , e meglio che si continua con vb.net..

Mi dici come fare ad fare quello che ti ho linkato che è scritto in c#, ma farlo in vb.net e che prende le coordiante in un file txt.

grazie.

Io ho rinnunciato ad c#, è complicatissimo......... e meglio vb.net.

grazie di nuovo.
buona giornata.

Anonimo Profilo | Senior Member

ciao, ti aggiorno che ho lasciato perdere questo progetto,
ora mi studio da zero uno a uno c#

Però faccio cose semplici... non come questo.

ciao.

Anonimo Profilo | Senior Member


saluti,
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5