|
|
| Posizione nel menu |
|---|
| Modifiche → Ruota Modifica → Ruota |
| Ambiente |
| Draft, BIM |
| Avvio veloce |
| R O |
| Introdotto nella versione |
| 0.7 |
| Vedere anche |
| Draft Evidenzia i sottoelementi |
Il comando Ruota ruota o copia gli oggetti selezionati attorno ad un punto centrale di un dato angolo. L'asse di rotazione è perpendicolare al piano di lavoro corrente e l'angolo di rotazione è relativo a quel piano. In modalità sottoelemento il comando ruota i punti e gli spigoli selezionati, o copia gli spigoli selezionati, di Linee e Polilinee.
Il comando può essere utilizzato su oggetti 2D creati con Draft o Sketcher, ma anche su molti oggetti 3D come quelli creati con gli ambienti Part, PartDesign o BIM.
Rotazione di un oggetto intorno ad un punto centrale
Vedere anche: Aggancio e Vincolare.
È possibile modificare le scorciatoie da tastiera a carattere singolo disponibili nel pannello delle attività. Vedere Preferenze di Draft. Le scorciatoie qui menzionate sono le scorciatoie predefinite.
Vedere anche: Impostare le preferenze e Preferenze per l'ambiente Draft.
Vedere anche: Autogenerated API documentation e Script di base per FreeCAD.
Per ruotare gli oggetti usa il metodo rotate del modulo Draft.
rotated_list = rotate(objectslist, angle, center=Vector(0,0,0), axis=Vector(0,0,1), copy=False)
objectslist contiene gli oggetti da ruotare. È un singolo oggetto o un elenco di oggetti.angle è l'angolo di rotazione in gradi.center è il punto centrale della rotazione.axis è la direzione dell'asse di rotazione.copy è True vengono create delle copie invece di ruotare gli oggetti originali.rotated_list viene restituito con gli oggetti originali ruotati o con le nuove copie. È un singolo oggetto o un elenco di oggetti, a seconda di objectlist.Esempio:
import FreeCAD as App
import Draft
doc = App.newDocument()
polygon1 = Draft.make_polygon(3, radius=300)
Draft.move(polygon1, App.Vector(1000, 0, 0))
# Rotation around the origin
angle1 = 45
rot2 = Draft.rotate(polygon1, angle1, copy=True)
rot3 = Draft.rotate(polygon1, 2*angle1, copy=True)
rot4 = Draft.rotate(polygon1, 4*angle1, copy=True)
polygon2 = Draft.make_polygon(3, radius=1000)
polygon3 = Draft.make_polygon(5, radius=500)
Draft.move(polygon2, App.Vector(2000, 0, 0))
Draft.move(polygon3, App.Vector(2000, 0, 0))
# Rotation around another point
angle2 = 60
cen = App.Vector(3100, 0, 0)
list2 = [polygon2, polygon3]
rot_list2 = Draft.rotate(list2, angle2, center=cen, copy=True)
rot_list3 = Draft.rotate(list2, 2*angle2, center=cen, copy=True)
rot_list4 = Draft.rotate(list2, 4*angle2, center=cen, copy=True)
doc.recompute()