software:qview:qview_6:qcl_library:vi10addarc1

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Entrambe le parti precedenti la revisione Revisione precedente
Prossima revisione
Revisione precedente
software:qview:qview_6:qcl_library:vi10addarc1 [2024/09/13 09:16] qem214software:qview:qview_6:qcl_library:vi10addarc1 [2024/11/04 12:22] (versione attuale) – [IMPLEMENTAZIONE] qem214
Linea 8: Linea 8:
  
 La funzione VI10AddArc1 __aggiunge il comando ARC1 in coda alle istruzioni da processare nel Buffer per eseguire il disegno__.\\ La funzione VI10AddArc1 __aggiunge il comando ARC1 in coda alle istruzioni da processare nel Buffer per eseguire il disegno__.\\
-Il comando ARC1 traccia un arco di tipo I o III (vedere il disegno nelle note) dalle coordinate attuali alle coordinate x e y passate tramite la funzione.\\ +Il comando ARC1 traccia un arco di tipo ''I'' ''III'' (vedere il disegno nelle note) dalle coordinate attuali alle coordinate ''x'' ''y'' passate tramite la funzione.\\ 
-Le coordinate vengono inoltre impostate, a fine istruzione,  come coordinate attuali.+Le coordinate ''x'' ''y'' vengono inoltre impostate, a fine istruzione,  come coordinate attuali.
  
-|Buffer| +^  Buffer                                                                            ^ 
-|{{:software:qview:qview_6:qcl_library:vi10addarc1:vi10addarc1_01.png?nolink200|}}|+| {{:software:qview:qview_6:qcl_library:vi10addarc1:vi10addarc1_01.png?200&nolink}}  |
  
 ===== IMPLEMENTAZIONE ===== ===== IMPLEMENTAZIONE =====
Linea 25: Linea 25:
 |  IN  |  CONST/\\ GLOBAL  |  Coord_Y  |  W  |Variabile contenente il valore della coordinata Y del punto finale dell'arco, all'interno dell'oggetto Vector Image.| |  IN  |  CONST/\\ GLOBAL  |  Coord_Y  |  W  |Variabile contenente il valore della coordinata Y del punto finale dell'arco, all'interno dell'oggetto Vector Image.|
 |  IN  |  CONST/\\ GLOBAL  |  Radius  |  W  |Variabile contenente il valore del raggio della circonferenza sulla quale si vuole tracciare l'arco.| |  IN  |  CONST/\\ GLOBAL  |  Radius  |  W  |Variabile contenente il valore del raggio della circonferenza sulla quale si vuole tracciare l'arco.|
 +
 +Nota: se il valore del raggio è minore del minimo richiesto la funzione disegnerà un arco e due punti esterni per indicare l'errore, vedere la sezione :->: errore.
 +
  
 === Esempio === === Esempio ===
Linea 30: Linea 33:
 //TASK_00// //TASK_00//
 <code QCL> <code QCL>
 +
 MAIN: MAIN:
  
-VI10InitBuffer (awBuffer) ;Inizializza il Buffer+VI10InitBuffer (awBuffer) ;Inizializza il Buffer
  
-Color = 0 ;Imposta colore nero+Color = 0 ;Imposta colore nero
  
-VI10AddPen (awBuffer, Color) ;Aggiunge il comando PEN+VI10AddPen(awBuffer, Color) ;Aggiunge il comando PEN
  
-Coord_X = 0 ;Imposta le coordinate per il MOVE+Coord_X = 0 ;Imposta le coordinate per il SET
  
-Coord_y = 0+Coord_Y = 0
  
-VI10AddSet (awBuffer, Coord_X, Coord_Y) ;Aggiunge il comando MOVE+VI10AddSet(awBuffer, Coord_X, Coord_Y) ;Aggiunge il comando SET
  
-Coord_X = 100 ;Imposta le coordinate e il raggio per ARC1+Coord_X = 100 ;Imposta le coordinate e il raggio per ARC1
  
-Coord_y = 50 +Coord_Y = 50
  
 Radius = 200 Radius = 200
  
-VI10AddArc1 (awBuffer, Coord_X, Coord_Y, Radius);Aggiunge il comando ARC1+VI10AddArc1 (awBuffer, Coord_X, Coord_Y, Radius) ;Aggiunge il comando ARC1
    
-;....+;...
  
 WAIT 1 WAIT 1
Linea 61: Linea 65:
  
 === Note === === Note ===
 +
 +<wrap hi><wrap em>ARCO TIPO 1 E 3 -> VI10AddArc1 \\ 
 +
 +ARCO TIPO 2 E 4 -> VI10AddArc2</wrap></wrap>
  
   *Considerata la figura sottostante:   *Considerata la figura sottostante:
-{{:software:qview:qview_6:qcl_library:vi10addarc1:vi10addarc1_02.png?nolink150|}} 
  
-L'arco di circonferenza tra il punto A e il punto B può essere eseguito attraverso una delle quattro traiettorie I, II, III o IV.   La funzione ARC1 si incarica di eseguire le traiettorie che appartengono alla circonferenza con il centro più "basso" fra le due (coordinata Y0 minore), quindi, nel disegno,  la circonferenza con centro in C0. Questa circonferenza può eseguire la traiettoria I oppure la traiettoria III. La traiettoria I viene eseguita se si imposta un raggio negativo, mentre la traiettoria III viene eseguita se si imposta un raggio positivo.\\ +{{:software:qview:qview_6:qcl_library:arcs_scheme.jpg?nolink900|}} \\  
-Se invece si intende eseguire un arco di circonferenza che appartenga alla circonferenza con centro in C1 come quello rappresentato dalle traiettorie II o IV, è necessario utilizzare la funzione ARC2, con la quale, impostando un raggio negativo, si effettuerà la traiettoria II, mentre impostando un raggio positivo si effettuerà la traiettoria IV.+ 
 +L'arco di circonferenza tra il punto ''A'' e il punto ''B'' può essere eseguito attraverso una delle quattro traiettorie I, II, III o IV. \\  
 + 
 +La funzione ''VI10AddArc1'' si incarica di eseguire le traiettorie che appartengono alla circonferenza con il centro più "basso" fra le due (coordinata Y0 minore), quindi, nel disegno, la circonferenza con centro in ''C0''. Questa circonferenza può eseguire la traiettoria I oppure la traiettoria III. <wrap hi>La traiettoria I</wrap> viene eseguita se si imposta un <wrap hi>raggio negativo</wrap>, mentre la <wrap hi>traiettoria III</wrap> viene eseguita se si imposta un <wrap hi>raggio positivo</wrap>.\\  
 +\\  
 + 
 +Se invece si intende eseguire un arco di circonferenza che appartenga alla circonferenza con centro in ''C1'' come quello rappresentato dalle traiettorie II o IV, è necessario utilizzare la funzione  [[software:qview:qview_6:qcl_library:vi10addarc2|VI10AddArc2]], con la quale, impostando un raggio negativo, si effettuerà la traiettoria II, mentre impostando un raggio positivo si effettuerà la traiettoria IV. 
 + 
 +=== Errore === 
 + 
 +Se il valore del raggio non è sufficiente a descrivere l'arco viene rappresentato un arco standard con affiancati due punti per indicare l'errore. 
 + 
 +---- 
 + 
 +{{:software:qview:qview_6:qcl_library:esempio_errore_archi_1.jpg?nolink|}} 
 + 
 + 
 +---- 
 + 
 +{{:software:qview:qview_6:qcl_library:esempio_errore_archi_2.jpg?nolink|}} 
 + 
 + 
 +---- 
 +{{:software:qview:qview_6:qcl_library:esempio_errore_archi_3.jpg?nolink|}}
  
  • Ultima modifica: 2024/09/13 09:16