|
Emplacement du menu |
---|
Draft/BIM : Modification → Pivoter |
Ateliers |
Draft, BIM |
Raccourci par défaut |
R O |
Introduit dans la version |
0.7 |
Voir aussi |
Draft Surligner des sous éléments |
La commande Draft Pivoter permet de faire pivoter ou de copier les objets sélectionnés autour d'un point central selon un angle donné. L'axe de rotation est perpendiculaire au plan de travail en cours et l'angle de rotation est relatif à ce plan. En mode sous-élément, la commande fait pivoter les points et les bords sélectionnés, ou copie les bords sélectionnés, des Draft Lignes et Draft Polylignes.
Cette commande peut être utilisée sur des objets 2D créés avec l'atelier Draft ou l'atelier Sketcher, mais aussi sur de nombreux objets 3D tels que ceux créés avec l'atelier Part, l'atelier PartDesign ou l'atelier BIM.
Pivoter un objet autour d'un point central
Voir aussi : Draft Aimantation et Draft Contrainte.
Les raccourcis clavier à caractère unique disponibles dans le panneau des tâches peuvent être modifiés. Voir Draft Préférences. Les raccourcis mentionnés ici sont les raccourcis par défaut (pour la version 1.0).
Voir aussi : Réglage des préférences et Draft Préférences.
Voir aussi : Autogenerated API documentation et FreeCAD Débuter avec les scripts.
Pour faire pivoter des objets, utilisez la méthode rotate
du module Draft.
rotated_list = rotate(objectslist, angle, center=Vector(0,0,0), axis=Vector(0,0,1), copy=False)
objectslist
contient les objets à faire pivoter. Il s'agit soit d'un objet unique, soit d'une liste d'objets.angle
est l'angle de rotation en degrés.center
est le point central de la rotation.axis
est la direction de l'axe de rotation.copy
est True
, des copies sont créées au lieu de faire tourner les objets originaux.rotated_list
est retourné avec les objets originaux ayant subi une rotation, ou avec les nouvelles copies. Il s'agit soit d'un objet unique, soit d'une liste d'objets, en fonction de objectlist
.Exemple :
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()