Sketcher: Vincolo Coincidenza di punti

From FreeCAD Documentation
Revision as of 17:33, 10 January 2017 by Renatorivo (talk | contribs) (Created page with "Spostando il cursore del mouse sopra la linea si può vedere il suo numero in basso a sinistra nella finestra di FreeCAD, come nella figura seguente.")

Coincidenza

Posizione nel menu
PartDesign → Schizzo → Coincidenza
Ambiente
Schizzo, PartDesign
Avvio veloce
Nessuno
Introdotto nella versione
-
Vedere anche
Blocca, Punto su oggetto

Descrizione

Crea un vincolo di Coincidenza di punti sull'elemento selezionato

Questo strumento di vincolo richiede e accetta come argomento due punti e serve per rendere i due punti coincidenti. (Nel senso di trasformarli in un unico punto.)

Nella pratica è utile quando un profilo è interrotto - per esempio dove due punti di finelinea sono uno accanto all'altro, ma le linee devono essere unite. In questo caso, un vincolo di coincidenza sui rispettivi punti finali chiude la breccia.

Utilizzo

Come detto in precedenza, questo strumento richiede due argomenti e entrambi devono essere dei punti.

  1. In primo luogo è necessario evidenziare due punti distinti. (Nota: lo strumento non funziona quando si tenta di selezionare il punto iniziale e quello finale della stessa linea).
  2. Per evidenziare un elemento del disegno, spostare il mouse sopra l'oggetto e fare clic con il pulsante sinistro del mouse.
  3. Un elemento selezionato assume il colore verde.
  4. Elementi successivi possono essere selezionati ripetendo la procedura precedente. NOTA: Non è necessario tenere premuto nessun tasto speciale, tipo Ctrl, per aggiungere elementi del disegno alla selezione multipla.
  5. Dopo evidenziati due punti, cliccare con il tasto sinistro sul vincolo Coincidenza per far coincidere i due punti e sostituirli con un unico punto.

NOTA: Per rendere due punti coincidenti, FreeCAD deve necessariamente spostare uno o entrambi i punti originali.

Script

Script generico

Il vincolo può essere creato dalle macro e dalla console python utilizzando il seguente comando:

Sketch.addConstraint(Sketcher.Constraint('Coincident',LineFixed,PointOfLineFixed,LineMoving,PointOfLineMoving))

dove:

  • Sketch è un oggetto schizzo
  • LineFixed è il numero della linea, che non deve muoversi applicando il vincolo
  • PointOfLineFixed è il numero del vertice della linea LineFixed che deve soddisfare il vincolo
  • LineMoving è il numero della linea che si sposterà applicando il vincolo
  • PointOfLineMoving è il numero della linea LineMoving che deve soddisfare il vincolo

Il problema principale utilizzando questa funzione è quella di identificare correttamente il numero delle linee e il numero dei vertici delle linee che si desiderano elaborare.

Il paragrafo successivo spiega come identificare il numero di una linea e di un vertice di una linea.

Identificare il numero di una linea

Disegnare tre linee come mostrato nella figura seguente.

Spostando il cursore del mouse sopra la linea si può vedere il suo numero in basso a sinistra nella finestra di FreeCAD, come nella figura seguente.

Unfortunately the numbering displayed on the FreeCAD windows start from 1 whereas the numbering of the line used to script start from 0: this means that you have to retrieve one each time you want to refer to a line.

Identifying the numbering of the vertices of a line

The vertices of one line can only have the value 1 or 2. (Don’t ask me, why the vertices numbering does not start from 0 … :-) ) The vertices are numbered according to their order of creation. To find out the order of their creation (If you have a lot of lines, you cannot remember which vertex you have created first), you just have to move the cursor of your mouse above the two vertices of one line, see following figure.

If you read e.g. 4 and 5, it means that the vertex 4 will be referenced by using the number 1 in the script command and the vertex 5 will be referenced by using the number 2 in the script command. Etc.

Example

Let us take the previous example of the three lines. The subsequent figure indicates the numbering of each line and their vertices according to the convention for scripting.

blue text = numbering of line, black text = numbering of vertices

The command

Sketch.addConstraint(Sketcher.Constraint('Coincident',1,2,2,1))

yields following result:

The command

Sketch.addConstraint(Sketcher.Constraint('Coincident',0,2,2,2))

yields following result: