Le langage SMS est exclu sur les forums ProgBoards, tout message ne respectant pas la charte sera déplacé, modifié, ou supprimé par nos modérateurs.

Forum Langages » BASIC » Réorganisation de vecteurs CNC

diemaker form
ProgBoarder
RemonterCiter Windows XP Firefox 2 - Posté le 21/02/2008 à 17:18
Bonjour,
Ok, je travail sur ce prog et j'informerai dès qu'il y aura une avancée sérieuse.
Salutations,
DMF (sourire)
Formes de Découpe, Outils Coupants pour l'imprimerie sur http://www.diemakerform.fr
diemaker form
ProgBoarder
RemonterCiter Windows XP Firefox 2 - Posté le 01/03/2008 à 19:32
Bonjour,
Après plusieurs essais galère, je ne sais pas comment utiliser 2 tableaux pour trier mes variables de noms différent dans un fichier comprenant de 20 à 3000 lignes,
qui elles-mêmes ont environ 6 Variables(valeurs) différentes,
si quelqu'un a une petite idée de départ, ce serait super !
autrement je vais me désister sur ce post,
Amicalement,
DMF
(désapprouve) (désapprouve)
je sais, j'ai toujours l'air d'être déçu de ne pas trouver.
Formes de Découpe, Outils Coupants pour l'imprimerie sur http://www.diemakerform.fr
Francesco
Modérateur
RemonterCiter Linux Firefox 2 - Posté le 01/03/2008 à 19:49
Honnetement, ce qui me fait peur, c'est les 3000 lignes. Pourquoi ? En gros, QBasic est limité en mémoire.

Hors, 3000 lignes de 6 variables, cela fait 18000 variable. Si ce sont des flottant, qui prennent 4 octets, cela fait 72000 octets ! et pour 2 tableaux on multiplie encore par 2.

Je sais que QBasic peut gérer cette quantité de mémoire, mais je ne suis pas sur qu'il puisse le faire lorsque cette mémoire n'est occupée que par un seul grand tableau...

Je suis un peu rouillé question gestion interne de la mémoire dans QB, donc est-ce que quelqu'un peu confirmer ??
Gates gave you the windows.
GNU gave us the whole house.(Alexandrin)
diemaker form
ProgBoarder
RemonterCiter Windows XP Firefox 2 - Posté le 01/03/2008 à 20:12
Re bonjour Francesco,
En fait, les 3000 lignes sont des lignes (vectorielles) graphique comprenant
5 types de trait (donc 5 couleurs différentes) que j'ai séparé en 5 fichiers ce qui nous fait beaucoup moins de variables.
chaque fichier doit être trié suivant les coordonnées de fin d'une ligne par rapport aux coordonnées de départ de la suivante !
en gros ce que je veux faire c'est tracer un dessin où je n'aurais qu'un minimum de fois à relever mon crayon (sachant que le crayon est un outil)
actuellement je me déplace à la coordonnée de départ, je pose mon crayon, je trace jusqu'à la coordonnée de fin, je relève mon crayon, je me déplace jusqu'à la coordonnée de départ(même si elles sont identiques) car je ne sais les différencier ! et je trace, etc...
ce qui est très lourd !
alors que l'idéale serait "je me déplace à la coordonnée de départ, je pose mon crayon, je trace jusqu'à la coordonnée de fin, la coordonnée de départ est identique à celle de départ donc je ne relève pas mon crayon, etc...
J'ai pas du être très clair (gêné)
les lignes incriminées sont identiques au post :
http://www.progboards.com/sujet-1556_deformation_dessin_vectoriel_a_l_affichage_en_qb4_5.php
Amicalement,
DMF
Formes de Découpe, Outils Coupants pour l'imprimerie sur http://www.diemakerform.fr
Francesco
Modérateur
RemonterCiter Linux Firefox 2 - Posté le 01/03/2008 à 20:33
Si tu sépares ton fichiers en plusieurs sous-fichiers, alors je pense qu'il n'y a pas de problème, cela doit être faisable.

Je réfléchirais à ton problème quand j'aurais un peu de temps.
Gates gave you the windows.
GNU gave us the whole house.(Alexandrin)
diemaker form
ProgBoarder
RemonterCiter Windows XP Firefox 2 - Posté le 02/03/2008 à 08:05
Ok, Merci.
DMF
(neutre)
Formes de Découpe, Outils Coupants pour l'imprimerie sur http://www.diemakerform.fr
SFLPMEA
ProgBoarder
RemonterCiter Windows 98 Firefox 2 - Posté le 09/03/2008 à 09:05
(héhé Salutations.

diemaker form, dans ton premier message, tu disais :

Le but est de réorganiser un dessin de vecteurs,
comment trier des lignes dans un fichier qui contient :

N1,100.00,234.00,345.00,279.00,A,B
N2,460.00,398.00,150.00,380.00,A,B
N3,345.00,279.00,460.00,398.00,A,B
N4,100.00,234.00,50.00,234.00,A,B
N5,150.00,380.00,100.00,234.00,A,B

Il t'avait été proposé de travailler avec des tables que tu connaissais peu (ou mal) et Francesco avait émis des doutes légitimes quant à la taille maxi de 64 Koctets (sans /AH). Voir la fonction FRE de l'aide, index. Consulter également :
http://www.progboards.com/sujet-886_des_tables_de_plus_de_64_k__.php
J'ai étudié ton problème avec les principes suivants :
- - > Modification de ton fichier TXT de données initiales : Suppression de N1, N2, etc. (ils ne servent à rien, d'après tes dires) et de A, B (j'en ignore le contenu). Je ne conserve que les coordonnées de début et de fin.
- - > PAS de limitation du nombre de vecteurs. Pour cela, une seule méthode est à appliquer : ne pas utiliser de table mais un fichier RANDOM (qui sera traité comme une table dans le programme), mais avec le gros avantage de ne pas être limité en nombre d'enregistrements. Il y aura cependant un inconvénient : la durée d'exécution (exclamation) Elle sera évidemment nettement moins rapide qu'une réorganisation en mémoire (voir plus loin : heureuse surprise).
- - > J'ai également admis que tous les vecteurs (sauf le dernier) ont un vecteur 'suite', c'est-à-dire qu'il y a une continuité rigoureuse.
J'ai donc écrit un petit morceau de programme que tu trouveras en :

(gêné) Je ne peux pas mettre de code source Qbasic sur le Wall (exclamation)

Il n'est pas significatif, ne comportant que 5 vecteurs, mais il semble fonctionner.

J'ai voulu pousser l'expérience plus loin et effectuer un test sur un nombre beaucoup plus important de vecteurs, en me plaçant dans le cas le plus défavorable : le premier est écrit en position 1 du fichier, le 2 en dernière position, le 3 en avant dernière et ainsi de suite en remontant. Après une mise au point un peu laborieuse, j'ai eu une agréable surprise :
- - > 10.000 vecteurs sont remis dans l'ordre en 0,77 seconde (avec ma configuration) (exclamation)
Il faut considérer ce programme comme une ETUDE (il comporte de nombreuses explications, des SLEEP, PRINT que je laisse volontairement en remarques), car, seul, il ne sert pas à grand chose. Il démontre cependant qu'il ne faut pas sous estimer la rapidité de lecture des fichiers et il peut te donner des idées sur la méthode à employer pour réorganiser tes vecteurs (sans avoir à lever le crayon).
La seule chose importante est le GOSUB GS04.REORGANISATION. Avec un défaut que je reconnais : il ne concerne que des vecteurs linéaires.
(gêné) J'ai programmé comme d'habitude, à l'ancienne.

Voir pour le tri 'normal' des fichiers :
http://www.progboards.com/sujet-975_les_fichiers_a_acces_aleatoire_____en_qbasic_.php
J'ai constaté que le tri intéressait peu de monde …

Dis-moi ce que tu en penses.

(héhé Salutations.
Moi, mon ordinateur, je l'ai baptisé "Billy" ...
En remerciement, je reçois beaucoup de pages bleues !
diemaker form
ProgBoarder
RemonterCiter Windows XP Firefox 2 - Posté le 12/03/2008 à 15:52
Bonjour,
Désolé pour une réponse tardive, j'ai été très occupé.
Merci SFLPMEA pour ta réponse mais tes dires :

J'ai donc écrit un petit morceau de programme que tu trouveras en :
(gêné)Je ne peux pas mettre de code source Qbasic sur le Wall (exclamation)


je ne comprend pas ou je peux trouver ton petit morceau de programme
J'ai ajouté volontairement les N1, N2 pour mieux voir le tri et les A et B ne sont pas utiles pour mon tri.

La seule chose importante est le GOSUB GS04.REORGANISATION. Avec un défaut que je reconnais : il ne concerne que des vecteurs linéaires.


il n' y a aucun problème pour les arcs car ils ont des coordonnées de début et de fin comme les vecteurs linéaires les A et B me déterminent si c'est un arc ou pas.
Merci pour ta recherche,
Cordialement,
DMF
(langue)
Formes de Découpe, Outils Coupants pour l'imprimerie sur http://www.diemakerform.fr
diemaker form
ProgBoarder
RemonterCiter Windows XP Firefox 2 - Posté le 17/03/2008 à 19:27
Bonjour,

Je souhaite rajouter en début et fin de ligne la position de "mon crayon" (haut ou bas)
j'ai fais des modifs au programme à SFLPMEA


Wall (151) : Afficher le code source - Ouvrir dans une nouvelle fenêtre

créez un fichier CNC.TXT avec les données suivante :

100.001,234.001,345.001,279.001
460.001,398.001,150.001,380.001
345.001,279.001,460.001,398.001
100.001,234.001,50.001,234.001
150.001,380.001,100.001,234.001
200.001,334.001,445.001,379.001
560.001,498.001,250.001,480.001
445.001,379.001,560.001,498.001
200.001,334.001,150.001,334.001
250.001,480.001,200.001,334.001


ces données comportent 2 blocs possibles à réorganiser qui sont tronquées
de leurs coordonnées en fin de ligne 5
mon but Voir Re(13)
D'avance merci,
Amicalement,
DMF
(gêné)
Formes de Découpe, Outils Coupants pour l'imprimerie sur http://www.diemakerform.fr

Poster une réponse

STOP aux fautes volontaires !
Message
Formatage
Note: pour partager du code source, merci d'utiliser le wall !
Smileys (sourire) (yekyek) (clein d'oeil) (désapprouve) (triste) (cool) (langue) (confus) (gêné) (neutre) (eek) (surpris) (diable) (flèche) (exclamation) (question) (diable) (idée) (méchant)
Pseudonyme
Recopiez le code
v6 © Computaid SPRL 2005-2008 - Tous droits réservés - Hébergé par eTigris - Page générée en 0,056 s - Crédits - Stats
1 connecté