Esercitazioni Calibro a corsoio – Linguaggio SVG

MISURE DI PRECISIONE

Il codice allegato permette di poter disegnare il calibro con i diversi nonii decimali, ventesimali e cinquantesimali. L’impaginazione nel foglio A4 è diversa in base alla scelta del nonio. Tutte le misure corrette sono salvate in un file unico in formato pdf. La parte in alto del foglio è lasciata in bianco per inserire i dati dell’alunno, l’intestazione ed il criterio per la valutazione.
calibro decimale ventesimale verifica esercitazione vernier
Il codice deve essere ancora migliorato. Ogni misura proposta e da leggere per esercizio, viene estratta tramite una funzione random:Anche se con un criterio del  tutto casuale la difficoltà dell’esercizio può variare leggermente tra una scheda e l’altra.
Il prossimo miglioramento da effettuare per gli esercizi dovrebbe prevedere l’inserimento di un QR Code per poter aprire velocemente un file su internet contenente le misure corrette.

DOWNLOAD GRATUITO DELLE VERIFICHE

Per scaricare un set di verifiche fate click sui link:
Verifiche calibro a corsoio decimale:  Download
Verifiche calibro a corsoio ventesimale: Download
Verifiche calibro a corsoio cinquantesimale: Download
Ogni aggiornamento del codice e le nuove versioni delle verifiche, sono postate sulla pagina facebook:  www.facebook.com/idroslab
I file compressi contengono 35 prove in pdf. Leggete bene il download di Dropbox: non è necessario effettuare l’iscrizione al sito per scaricare i file.
  1. % Autori
  2. % Prof. Paolo Sordi IPSIA A. Pacinotti, Pontedera (Pisa)
  3. % Prof. Danilo Pasquini ITIS S. Cannizzaro, Colleferro (Roma)
  4. % Calibro a corsoio
  5. %
  6.  
  7. function calibro ()
  8. global fid1 fid fid2
  9. global f2 f3 ff3 f5 f4 f7 f10 f16 f20 f39 f120
  10. global scala 
  11. global numero_verifica
  12. global colonne_risultati
  13. global matrice_risultati
  14.  
  15. pause(5)
  16. scala = 3.54
  17. f3=3;
  18. f2=2;
  19. ff3 = 3.5;
  20. f5=9;
  21. f4=29;
  22. f7=7;
  23. f10=10;
  24. f16 = 16;
  25. f20 = 20;
  26. f39 = 39;
  27. f120=120;
  28.  
  29. numero_verifica = numero_verifica + 1;
  30. testo = num2str(ceil(numero_verifica));
  31. colonne_risultati = 1;
  32. whos
  33. matrice_risultati (numero_verifica, colonne_risultati) = numero_verifica;
  34.  
  35. nomefile =  ['c:\calibro100\calibro_' testo '.svg'];
  36. nomefile1 = ['c:\calibro100\calibro_' testo '.txt'];
  37.  
  38. fid = fopen([nomefile], 'wt');
  39. fid1 = fopen([nomefile1], 'wt');
  40. fprintf(fid, ['<!--?xml version="1.0" encoding="iso-8859-1" standalone="no"?-->  \n']);
  41. fprintf(fid, ['\n']);
  42. fprintf(fid, ['\n']);
  43.  
  44. pos_x = 90;
  45. pos_y = 40;
  46. [fid] = scrivere (fid,25,10,'left','1.6','Your');
  47. [fid] = scrivere (fid,25,15,'left','1.6','text');
  48. [fid] = scrivere (fid,25,20,'left','1.6','here');
  49. [fid] = scrivere (fid,15,30,'left','2',testo);
  50. [fid] = scrivere (fid,5,7,'left','5','A');
  51. [fid] = scrivere (fid,10,283,'right','2.5','www.tiny.cc/disegno');
  52. [fid] = scrivere (fid,124,282,'right','2','Autori: Prof. Paolo Sordi IPSIA A. Pacinotti, Pontedera (Pisa)');
  53. [fid] = scrivere (fid,132,285,'right','2','Prof. Danilo Pasquini IPSIA P.P. Delfino, Colleferro (Roma)');
  54.  
  55. calibro_decimale ()
  56. %calibro_ventesimale ()
  57. %calibro_cinquantesimale ()
  58.  
  59. fprintf(fid, [' \n']);
  60. fclose(fid)
  61. stringa_dos = ['c:\Programmi\Inkscape\inkscape -f ' nomefile ' -A '  'C:\calibro100\calibro_' testo '.pdf']
  62. dos(stringa_dos)
  63. fclose (fid1)
  64.  
  65. % -------------------------------------------------------------------------
  66.  
  67. function calibro_cinquantesimale
  68. global scala_nonio
  69. global larghezza_linea
  70. global larghezza_nonio 
  71. global raggio_millimetrato 
  72. global raggio_spigolo_nonio 
  73. global larghezza_prima_dello_zero 
  74. global fid1 fid
  75. global f2 f3 ff3 f5 f4 f7 f10 f16 f20 f39 f120
  76. global risoluzione portata_strumento
  77. global limite_destro limite_sinistro
  78. global ultima_tacca
  79. global scala
  80. scala_nonio = 1
  81. risoluzione = 50
  82. portata_strumento = 180
  83. limite_destro = 110 
  84. limite_sinistro = 0
  85. lunghezza_casuale = 0;
  86. disegna_nonio (fid,30,40,lunghezza_casuale)   
  87. lunghezza_totale_nonio =  ultima_tacca;
  88. disegna_corsoio (fid,30,40,lunghezza_casuale)   
  89. disegna_asta_fissa (fid,30,40,lunghezza_casuale)   
  90. disegna_asta_graduata (fid,30,40,lunghezza_casuale) 
  91. % a destra del nonio                   
  92. scala = scala*1.2
  93. for i=23:80:180
  94.     for j=78:35:230
  95.         lunghezza_casuale = (ceil (rand*(portata_strumento-lunghezza_totale_nonio)*risoluzione))/ risoluzione;
  96.         disegna_nonio (fid,i,j,lunghezza_casuale) 
  97.         confini_misura (fid,i,j,lunghezza_casuale)
  98.         disegna_asta_graduata (fid,i,j,lunghezza_casuale)
  99.     end
  100. end
  101.  
  102. % -------------------------------------------------------------------------
  103.  
  104. function calibro_ventesimale
  105. global scala_nonio
  106. global larghezza_linea
  107. global larghezza_nonio 
  108. global raggio_millimetrato 
  109. global raggio_spigolo_nonio 
  110. global larghezza_prima_dello_zero 
  111. global fid1 fid fid2
  112. global f2 f3 ff3 f5 f4 f7 f10 f16 f20 f39 f120
  113. global risoluzione portata_strumento
  114. global limite_destro limite_sinistro
  115. global ultima_tacca
  116. scala_nonio = 1;
  117. risoluzione = 20;
  118. portata_strumento = 180;
  119. limite_destro = 110; 
  120. limite_sinistro = 0;
  121. lunghezza_casuale = 0;
  122. disegna_nonio (fid,30,40,lunghezza_casuale)   
  123. lunghezza_totale_nonio =  ultima_tacca;
  124. disegna_corsoio (fid,30,40,lunghezza_casuale)   
  125. disegna_asta_fissa (fid,30,40,lunghezza_casuale)   
  126. disegna_asta_graduata (fid,30,40,lunghezza_casuale) 
  127. % a destra del nonio                   
  128. for i=55:55:180
  129.     for j=65:30:140
  130.         lunghezza_casuale = (ceil (rand*(portata_strumento-lunghezza_totale_nonio)*risoluzione))/ risoluzione;
  131.         disegna_nonio (fid,i,j,lunghezza_casuale) 
  132.         confini_misura (fid,i,j,lunghezza_casuale)
  133.         disegna_asta_graduata (fid,i,j,lunghezza_casuale)
  134.     end
  135. end
  136. scala_nonio = 2;
  137. limite_destro = 110; 
  138. limite_sinistro = 0;
  139. lunghezza_casuale = 0;
  140. disegna_nonio (fid,30,165,lunghezza_casuale)   
  141. lunghezza_totale_nonio =  ultima_tacca;
  142. disegna_corsoio (fid,30,165,lunghezza_casuale)   
  143. disegna_asta_fissa (fid,30,165,lunghezza_casuale)   
  144. disegna_asta_graduata (fid,30,165,lunghezza_casuale) 
  145. % a destra del nonio                   
  146. for i=55:85:165
  147.     for j=195:35:280
  148.         lunghezza_casuale = (ceil (rand*(portata_strumento-lunghezza_totale_nonio)*risoluzione))/ risoluzione
  149.         disegna_nonio (fid,i,j,lunghezza_casuale) 
  150.         confini_misura (fid,i,j,lunghezza_casuale)
  151.         disegna_asta_graduata (fid,i,j,lunghezza_casuale)
  152.      end
  153. end
  154.  
  155. % -------------------------------------------------------------------------
  156.  
  157. function confini_misura (fid,pos_x,pos_y,apertura)
  158. global f5 f7
  159. global ultima_tacca
  160. global limite_destro limite_sinistro
  161. limite_sinistro = pos_x-f5*1.2;
  162. limite_destro = ultima_tacca+f5*1.2;
  163. limite_sinistro_1 = pos_x-f5*1.6;
  164. limite_destro_1 = ultima_tacca+f5*1.6;
  165. [fid] = linea (fid,limite_sinistro_1, pos_y-f7*1.7, limite_sinistro_1, pos_y+f7*1.7,0,0,0,0.05);
  166. [fid] = linea (fid,limite_destro_1,   pos_y-f7*1.7, limite_destro_1,   pos_y+f7*1.7,0,0,0,0.05);
  167. [fid] = scrivere (fid,(ultima_tacca+pos_x)/2,pos_y+13,'middle','3','misura__________');
  168.  
  169. % -------------------------------------------------------------------------
  170.  
  171. function calibro_decimale
  172. global scala_nonio
  173. global  fid 
  174. global risoluzione portata_strumento
  175. global limite_destro limite_sinistro
  176. global ultima_tacca
  177. scala_nonio = 1;
  178. risoluzione = 10;
  179. portata_strumento = 180;
  180. limite_destro = 110;
  181. limite_sinistro = 0;
  182. lunghezza_casuale = 0;
  183. disegna_nonio (fid,30,40,lunghezza_casuale)   
  184. lunghezza_totale_nonio =  ultima_tacca;
  185. disegna_corsoio (fid,30,40,lunghezza_casuale)   
  186. disegna_asta_fissa (fid,30,40,lunghezza_casuale)   
  187. disegna_asta_graduata (fid,30,40,lunghezza_casuale) 
  188. % a destra del nonio                   
  189. for i=70:53:180
  190.     for j=58:34:140
  191.         lunghezza_casuale = 0;
  192.         while (lunghezza_casuale &lt; 7)
  193.             lunghezza_casuale = (ceil (rand*(portata_strumento-lunghezza_totale_nonio)*risoluzione))/ risoluzione;
  194.         end
  195.         disegna_nonio (fid,i,j,lunghezza_casuale) 
  196.         confini_misura (fid,i,j,lunghezza_casuale)
  197.         disegna_asta_graduata (fid,i,j,lunghezza_casuale)
  198.     end
  199. end
  200. scala_nonio = 2;
  201. limite_destro = 110; 
  202. limite_sinistro = 0;
  203. lunghezza_casuale = 0;
  204. disegna_nonio (fid,30,165,lunghezza_casuale)   
  205. lunghezza_totale_nonio =  ultima_tacca;
  206. disegna_corsoio (fid,30,165,lunghezza_casuale)   
  207. disegna_asta_fissa (fid,30,165,lunghezza_casuale)   
  208. disegna_asta_graduata (fid,30,165,lunghezza_casuale) 
  209. % a destra del nonio                   
  210. for i=55:55:165
  211.     for j=190:35:280
  212.         lunghezza_casuale = 0;
  213.         while (lunghezza_casuale &lt; 7) lunghezza_casuale = (ceil (rand*(portata_strumento-lunghezza_totale_nonio)*risoluzione))/ risoluzione; end disegna_nonio (fid,i,j,lunghezza_casuale) confini_misura (fid,i,j,lunghezza_casuale) disegna_asta_graduata (fid,i,j,lunghezza_casuale) end end % ------------------------------------------------------------------------- 
  214. function calibro_cinquantesimale global scala_nonio global larghezza_linea global larghezza_nonio global raggio_millimetrato global raggio_spigolo_nonio global larghezza_prima_dello_zero global fid1 fid global f2 f3 ff3 f5 f4 f7 f10 f16 f20 f39 f120 global risoluzione portata_strumento global limite_destro limite_sinistro global ultima_tacca global scala %disegna_micrometro (fid, pos_x, pos_y, lunghezza_casuale) scala_nonio = 1 risoluzione = 50 portata_strumento = 180 limite_destro = 110 limite_sinistro = 0 lunghezza_casuale = 0; disegna_nonio (fid,30,40,lunghezza_casuale) lunghezza_totale_nonio = ultima_tacca; disegna_corsoio (fid,30,40,lunghezza_casuale) disegna_asta_fissa (fid,30,40,lunghezza_casuale) disegna_asta_graduata (fid,30,40,lunghezza_casuale) % a destra del nonio scala = scala*1.2 for i=23:80:180 for j=78:33:230 lunghezza_casuale = (ceil (rand*(portata_strumento-lunghezza_totale_nonio)*risoluzione))/ risoluzione; disegna_nonio (fid,i,j,lunghezza_casuale) confini_misura (fid,i,j,lunghezza_casuale) disegna_asta_graduata (fid,i,j,lunghezza_casuale) end end % ------------------------------------------------------------------------- function calibro_ventesimale global scala_nonio global larghezza_linea global larghezza_nonio global raggio_millimetrato global raggio_spigolo_nonio global larghezza_prima_dello_zero global fid1 fid fid2 global f2 f3 ff3 f5 f4 f7 f10 f16 f20 f39 f120 global risoluzione portata_strumento global limite_destro limite_sinistro global ultima_tacca %disegna_micrometro (fid, pos_x, pos_y, lunghezza_casuale) scala_nonio = 1; risoluzione = 20; portata_strumento = 180; limite_destro = 110; limite_sinistro = 0; lunghezza_casuale = 0; disegna_nonio (fid,30,40,lunghezza_casuale) lunghezza_totale_nonio = ultima_tacca; disegna_corsoio (fid,30,40,lunghezza_casuale) disegna_asta_fissa (fid,30,40,lunghezza_casuale) disegna_asta_graduata (fid,30,40,lunghezza_casuale) % a destra del nonio for i=55:55:180 for j=65:30:140 lunghezza_casuale = (ceil (rand*(portata_strumento-lunghezza_totale_nonio)*risoluzione))/ risoluzione; disegna_nonio (fid,i,j,lunghezza_casuale) confini_misura (fid,i,j,lunghezza_casuale) disegna_asta_graduata (fid,i,j,lunghezza_casuale) end end scala_nonio = 2; limite_destro = 110; limite_sinistro = 0; lunghezza_casuale = 0; disegna_nonio (fid,30,165,lunghezza_casuale) lunghezza_totale_nonio = ultima_tacca; disegna_corsoio (fid,30,165,lunghezza_casuale) disegna_asta_fissa (fid,30,165,lunghezza_casuale) disegna_asta_graduata (fid,30,165,lunghezza_casuale) % a destra del nonio for i=55:85:165 for j=192:33:280 lunghezza_casuale = (ceil (rand*(portata_strumento-lunghezza_totale_nonio)*risoluzione))/ risoluzione; disegna_nonio (fid,i,j,lunghezza_casuale) confini_misura (fid,i,j,lunghezza_casuale) disegna_asta_graduata (fid,i,j,lunghezza_casuale) end end % ------------------------------------------------------------------------- function confini_misura (fid,pos_x,pos_y,apertura) global f5 f7 global ultima_tacca global limite_destro limite_sinistro limite_sinistro = pos_x-f5*1.2; limite_destro = ultima_tacca+f5*1.2; limite_sinistro_1 = pos_x-f5*1.6; limite_destro_1 = ultima_tacca+f5*1.6; [fid] = linea (fid,limite_sinistro_1, pos_y-f7*1.7, limite_sinistro_1, pos_y+f7*1.7,0,0,0,0.05); [fid] = linea (fid,limite_destro_1, pos_y-f7*1.7, limite_destro_1, pos_y+f7*1.7,0,0,0,0.05); [fid] = scrivere (fid,(ultima_tacca+pos_x)/2,pos_y+13,'middle','2.5','misura__________'); % ------------------------------------------------------------------------- function confini_misura1 (fid,pos_x,pos_y,apertura) global f5 f7 global ultima_tacca global limite_destro limite_sinistro limite_sinistro = pos_x-f5*1.2; limite_destro = ultima_tacca+f5*1.2; limite_sinistro_1 = pos_x-f5*1.6; limite_destro_1 = ultima_tacca+f5*1.6; [fid] = linea (fid,limite_sinistro_1, pos_y-f7*1.7, limite_sinistro_1, pos_y+f7*1.7,0,0,0,0.1); [fid] = linea (fid,limite_destro_1, pos_y-f7*1.7, limite_destro_1, pos_y+f7*1.7,0,0,0,0.1); [fid] = scrivere (fid,(ultima_tacca+pos_x)/2,pos_y+13,'middle','3','misura____________'); % ------------------------------------------------------------------------- function disegna_corsoio (fid,pos_x,pos_y,apertura) global f2 f3 ff3 f5 f4 f7 f10 f16 f20 f39 f120 global ultima_tacca x_tacca = pos_x; % inizio il becco misure esterne % [fid] = linea (fid,x_tacca,pos_y,x_tacca-f5,pos_y,0,0,0,0.4) [fid] = linea (fid,x_tacca-f5+2*f2 ,pos_y ,x_tacca-f5+2*f2 ,pos_y+f5,0,0,0,0.2); [fid] = linea (fid,x_tacca-f5+2*f2 ,pos_y+f5 ,x_tacca-f5+f2 ,pos_y+f5,0,0,0,0.2); [fid] = linea (fid,x_tacca-f5+f2 ,pos_y+f5 ,x_tacca-f5+f2 ,pos_y+f39,0,0,0,0.2); [fid] = linea (fid,x_tacca-f5+f2 ,pos_y+f39 ,x_tacca-f5+f2+f7 ,pos_y+f39-f7,0,0,0,0.2); [fid] = linea (fid,x_tacca-f5+f2+f7, pos_y+f39-f7, x_tacca-f5+f2+2*f7, pos_y+f39-4*f7,0,0,0,0.2); [fid] = linea (fid,x_tacca-f5+f2+2*f7, pos_y+f39-4*f7, x_tacca-f5+f2+2*f7, pos_y+f39-4*f7,0,0,0,0.2); [fid] = linea (fid,x_tacca-f5+f2+2*f7, pos_y+f39-4*f7, ultima_tacca+f5-f2, pos_y+f39-4*f7,0,0,0,0.2); [fid] = linea (fid,ultima_tacca+f5-f2, pos_y+f39-4*f7, ultima_tacca+f5-f2, pos_y+f39-4*f7,0,0,0,0.2); [fid] = linea (fid,ultima_tacca+f5-f2, pos_y+f39-4*f7, ultima_tacca+f5-f2, pos_y,0,0,0,0.2); % [fid] = linea (fid,x_tacca-f5+f2+f7 ,pos_y+f39-3*f7 ,x_tacca-f5+f2+f7 ,pos_y+f39-3*f7,0,0,0,0.2) % becco misure interne [fid] = linea (fid,x_tacca-f5+f2-f7, pos_y-f20-f16, x_tacca-f5+f2-f7-f3, pos_y-f20-f16+f3,0,0,0,0.2); [fid] = linea (fid,x_tacca-f5+f2-f7-f3, pos_y-f20-f16+f3,x_tacca-f5+f2-f7-f3-ff3,pos_y-f20,0,0,0,0.2); % [fid] = linea (fid,x_tacca-f5+f2-f7-f3-ff3,pos_y-f20, x_tacca-f5+f2-f7-f3-ff3,pos_y-f16,0,0,0,0.2) % ------------------------------------------------------------------------- function disegna_asta_fissa (fid,pos_x,pos_y,apertura) global f2 f3 ff3 f5 f4 f7 f10 f16 f20 f39 f120 global fid1 global risoluzione global scala_nonio fprintf(fid1, ['Calibro con risuluzione: 1/' num2str(risoluzione) ' e scala ' num2str(scala_nonio) '\n']) x_tacca = pos_x-apertura; % inizio il becco misure esterne [fid] = linea (fid,x_tacca, pos_y, x_tacca-f5, pos_y, 0,0,0,0.2); [fid] = linea (fid,x_tacca-f5, pos_y, x_tacca-f5, pos_y+f5, 0,0,0,0.2); [fid] = linea (fid,x_tacca-f5, pos_y+f5, x_tacca-f5+f2, pos_y+f5, 0,0,0,0.2); [fid] = linea (fid,x_tacca-f5+f2,pos_y+f5, x_tacca-f5+f2, pos_y+f39,0,0,0,0.2); % sono arrivato alla punta del becco misure esterne [fid] = linea (fid,x_tacca-f5+f2,pos_y+f39,x_tacca-f5+f2-f7,pos_y+f39-f7,0,0,0,0.2); [fid] = linea (fid,x_tacca-f5+f2-f7,pos_y+f39-f7,x_tacca-f5+f2-f7-f10,pos_y,0,0,0,0.2); [fid] = linea (fid,x_tacca-f5+f2-f7-f10,pos_y,x_tacca-f5+f2-f7-f10,pos_y-f20,0,0,0,0.2); [fid] = linea (fid,x_tacca-f5+f2-f7-f10,pos_y-f20,x_tacca-f5+f2-f7,pos_y-f20,0,0,0,0.2); % inizio il becco interno dell'asta fissa [fid] = linea (fid,x_tacca-f5+f2-f7,pos_y-f20,x_tacca-f5+f2-f7,pos_y-f20-f16,0,0,0,0.2); [fid] = linea (fid,x_tacca-f5+f2-f7,pos_y-f20-f16,x_tacca-f5+f2-f7+f3,pos_y-f20-f16+f3,0,0,0,0.2); [fid] = linea (fid,x_tacca-f5+f2-f7+f3,pos_y-f20-f16+f3,x_tacca-f5+f2-f7+f3+ff3,pos_y-f20,0,0,0,0.2); [fid] = linea (fid,x_tacca-f5+f2-f7+f3+ff3,pos_y-f20,x_tacca-f5+f2-f7+f3+ff3,pos_y-f16,0,0,0,0.2); % mi allontano dal becco per andare verso l'astina di profondità [fid] = linea (fid,x_tacca-f5+f2-f7+f3+ff3, pos_y-f16, x_tacca-f5+f2-f7+f3+ff3+f120, pos_y-f16,0,0,0,0.2); [fid] = linea (fid,x_tacca-f5+f2-f7+f3+ff3+f120, pos_y-f16, x_tacca-f5+f2-f7+f3+ff3+f120, pos_y,0,0,0,0.2); [fid] = linea (fid,x_tacca-f5+f2-f7+f3+ff3+f120, pos_y, x_tacca, pos_y,0,0,0,0.2); % ------------------------------------------------------------------------- function disegna_nonio (fid,pos_x,pos_y,apertura) global ultima_tacca global risoluzione global scala_nonio global fid1 global numero_verifica global colonne_risultati global matrice_risultati divisione_nonio=scala_nonio-1/risoluzione; for i=0:risoluzione altezza_tacca = 2; x_tacca = pos_x+i*divisione_nonio; if rem(i,2) == 0 if (risoluzione ==10 || risoluzione ==20 ) altezza_tacca = 5; end if (risoluzione ==10) [fid] = scrivere (fid,x_tacca,pos_y+altezza_tacca*1.4,'middle','1.6',num2str(i)); end if (risoluzione ==20) [fid] = scrivere (fid,x_tacca,pos_y+altezza_tacca*1.4,'middle','1.6',num2str(i/2)); end end if rem(i,5) == 0 if (risoluzione ==50) altezza_tacca = 5; [fid] = scrivere (fid,x_tacca,pos_y+altezza_tacca*1.4,'middle','1.6',num2str(i/5)); end end [fid] = linea (fid,x_tacca,pos_y,x_tacca,pos_y+altezza_tacca,0,0,0,0.2); ultima_tacca = x_tacca; end if (risoluzione == 10) testo_numero = num2str(apertura, '%10.1f'); fprintf(fid1, ['misura: ' testo_numero '\n']); end if (risoluzione == 20) testo_numero = num2str(apertura, '%10.2f'); fprintf(fid1, ['misura: ' testo_numero '\n']); end if (risoluzione == 50) testo_numero = num2str(apertura, '%10.2f'); fprintf(fid1, ['misura: ' testo_numero '\n']); end colonne_risultati = 1 + colonne_risultati; matrice_risultati (numero_verifica, colonne_risultati) = apertura; % ------------------------------------------------------------------------- function disegna_asta_graduata (fid,pos_x,pos_y, apertura) global portata_strumento global limite_destro limite_sinistro for i=0:portata_strumento altezza_tacca = 3; if rem(i,5) == 0 altezza_tacca = 5; end posso_disegnare = 0; if (((pos_x+i-apertura)&gt;=limite_sinistro) &amp;&amp; ((pos_x+i-apertura) &lt;= limite_destro))
  215.         posso_disegnare = 1;
  216.     end
  217.     if rem(i,10) == 0
  218.         altezza_tacca = 7;
  219.               if (posso_disegnare == 1)
  220.                     [fid] = scrivere (fid,pos_x+i-apertura,pos_y-altezza_tacca*1.2,'middle','2',num2str(i));
  221.               end
  222.     end
  223.     if (posso_disegnare == 1)
  224.         [fid] = linea (fid,pos_x+i-apertura,pos_y,pos_x+i-apertura,pos_y-altezza_tacca,0,0,0,0.2);
  225.     end
  226. end
  227.  
  228. % -------------------------------------------------------------------------
  229.  
  230. function [fid] = linea (fid,x1,y1,x2,y2,colore1,colore2,colore3,larghezza)
  231. global scala
  232. fprintf(fid, [' \n']);              
  233.  
  234. % -------------------------------------------------------------------------
  235.  
  236. function [fid] = cerchio (fid,x1,y1,raggio,colore1,colore2,colore3)
  237. global scala
  238. fprintf(fid, [' \n']);
  239.  
  240.  
  241. % --------------------------------------------------------------------------      
  242.  
  243. function [fid] = rettangolo (fid,x1,y1,lato1,lato2,colore1,colore2,colore3,larghezza)
  244. global scala      
  245. fprintf(fid, [' \n']);
  246.  
  247. % --------------------------------------------------------------------------      
  248.  
  249. function [fid] = commento (fid,testo_commento)
  250. fprintf(fid, ['/* '  '\n']);
  251. fprintf(fid, [testo_commento  '\n']);
  252. fprintf(fid, ['*/ '  '\n']);
  253.  
  254. % --------------------------------------------------------------------------      
  255.  
  256. function [fid] = scrivere (fid,x1,y1,giustificazione,altezza_testo,testo)
  257. global scala
  258. altezza_testo = altezza_testo*0.8;
  259. fprintf(fid, ['' testo '' '\n']);
  260. %rettangolo_per_coprire_numero (fid, x1, y1, altezza_testo , altezza_testo, 0, 0, 0, 0.2)
  261.  
  262. % --------------------------------------------------------------------------      
  263.  
  264. function [fid] = rettangolo_per_coprire_numero (fid,x1,y1,lato1,lato2,colore1,colore2,colore3,larghezza)
  265. global scala      
  266. fprintf(fid, [' \n']);
wbcr_php_snippet id=”1141″