Draft Réseau selon une courbe
Draft Réseau selon une courbe |
Emplacement du menu |
---|
Modification → Array tools → Path Array |
Ateliers |
Draft, Arch |
Raccourci par défaut |
Aucun |
Introduit dans la version |
0.14 |
Voir aussi |
Draft Réseau orthogonal, Draft Réseau polaire, Draft Réseau circulaire, Draft Réseau lié selon une courbe, Draft Réseau de points, Draft Clone |
Description
L'outil Draft Chemin pour série de copies place des copies d'une forme sélectionnée le long d'un chemin sélectionné, le chemin peut être un Draft Fil ou une ou plusieurs Draft BSpline et bords similaires.
L'outil Réseau selon une courbe peut être utilisé sur n'importe quel objet ayant un Part TopoShape, c'est-à-dire des formes 2D créées avec l'Atelier Draft mais aussi des solides 3D créés avec les Atelier Part, Atelier PartDesign ou Atelier Arch.
- Pour créer des réseaux orthogonaux, polaires ou circulaires, utilisez le Draft Réseau orthogonal, Draft Réseau polaire ou Draft Réseau circulaire.
- Pour positionner App Link des copies le long d'un chemin, utilisez Draft Réseau lié selon une courbe.
- Pour positionner les copies aux points spécifiés, utilisez Draft Réseau de points ou Réseau lié selon des points.
- Pour créer des copies et les placer manuellement, utilisez Draft Déplacer ou Draft Rotation.
- Pour créer des copies exactes et les placer ou les mettre à l'échelle manuellement, utilisez Draft Clone oou Std LinkMake.
Objet disposé le long d'un chemin
Utilisation
- Sélectionnez l'objet que vous souhaitez distribuer.
- Sélectionnez le tracé ou n'importe quel ligne le sur laquelle les formes seront copiées.
- Cliquez le bouton Draft PathArray.
- L'objet Array (réseau) est créé immédiatement. Vous devez modifier les propriétés du tableau pour modifier le nombre et la direction des copies créées.
Chaque élément du tableau est un clone exact de l'objet d'origine, mais l'ensemble du tableau est considéré comme une seule unité en termes de propriétés et d'apparence.
Remarque: si l'objet DonnéesBase ne semble pas être positionné correctement dans le chemin, vérifiez que son DonnéesPlacement est à l'origine (0,0,0)
. Certains objets peuvent être placés n'importe où dans l'espace 3D lorsqu'ils sont utilisés avec l'outil Draft Réseau selon une courbe mais d'autres doivent être à l'origine, en particulier ceux créé en utilisant Part Extrusion avec un profil 2D comme un Esquisse.
Options
Il n'y a pas d'options pour cet outil. Cela fonctionne avec les objets sélectionnés ou non.
Propriétés
Un Draft Réseau selon une courbe est dérivé de Part Feature (classe Part::Feature
). Il partage donc toutes les propriétés de ce dernier. Outre les propriétés décrites dans Part Feature, le Réseau orthogonal possède les propriétés suivantes dans l'Éditeur de propriétés
Alignement
- DonnéesAlign (
Bool
): mis àtrue
, les copies seront alignées sur le chemin sinon elles restent dans leur orientation par défaut.
- Remarque: dans certains cas, la forme apparaîtra plate, en réalité elle peut avoir bougé dans l'espace 3D, donc au lieu d'utiliser une vue plate, changez la vue en axonométrique.
- DonnéesAlign Mode (
Enumeration
): trois modes,Original
,Frenet
,Tangent
. - DonnéesExtra Translation (
VectorDistance
): vecteur de déplacement supplémentaire(x, y, z)
qui sera appliqué à chaque copie le long du chemin. Cela est utile pour effectuer de petits ajustements dans la position des copies, par exemple, lorsque son point de référence ne correspond pas au point central de sa forme. - DonnéesForce Vertical (
Bool
): mis àtrue
, la valeur de DonnéesVertical Vector sera utilisée comme direction Z locale lorsque DonnéesAlign Mode estOriginal
ouTangent
. introduit dans la version 0.19 - DonnéesTangent Vector (
Vector
): valeur par défaut est(1, 0, 0)
. Vecteur d'unité d'alignement qui sera utilisé lorsque DonnéesAlign Mode estTangent
. introduit dans la version 0.19 - DonnéesVertical Vector (
Vector
): par défaut,(0, 0, 1)
. Vecteur unitaire de la direction Z locale qui sera utilisé lorsque DonnéesVertical Vector esttrue
. introduit dans la version 0.19
Objets
- DonnéesBase (
LinkGlobal
): spécifie l'objet à dupliquer dans le chemin. - DonnéesCount (
Integer
): spécifie le nombre de copies à créer dans le chemin. - DonnéesPath Object (
LinkGlobal
): spécifie l'objet le long duquel les copies seront distribuées. Il doit contenir'Edges'
dans sa Part TopoShape. Par exemple, il peut s'agir d'un Draft Fil ou Draft BSpline. - DonnéesPath Subelements (
LinkSubListGlobal
): spécifie les sous-éléments (bords) de DonnéesPath Object sur lesquels les copies seront créées. Les copies seront créées uniquement sur ces bords. Si cette propriété est vide, les copies seront distribuées sur l'ensemble DonnéesPath Object.
Script
See also: Draft API et FreeCAD Scripts de base.
L'outil PathArray peut être utilisé dans une macro et dans la console Python avec la commande:
Appel plus ancien
path_array = makePathArray(base_object, path_object, count, xlate=None, align=False, pathobjsubs=[])
Nouvel appel
path_array = make_path_array(base_object, path_object,
count=4, extra=App.Vector(0, 0, 0), subelements=None,
align=False, align_mode="Original", tan_vector=App.Vector(1, 0, 0),
force_vertical=False, vertical_vector=App.Vector(0, 0, 1),
use_link=True):
- Crée un objet
"PathArray"
à partir debase_object
en plaçant jusqu'àcount
copies le long depath_object
.- Au lieu d'une référence à un objet,
base_object
peut également être leLabel
(chaîne) d'un objet existant dans le document courant. - Si
extra
est donné, c'est un vecteur qui déplace légèrement chacune des copies individuelles. - Si
subelements
est donné, il s'agit d'une liste d'arêtes depath_object
par exemple['Edge1', 'Edge2']
. Les copies seront créées le long de ce chemin plus court. - Si
align
estTrue
, les copies sont alignées le long depath_object
en fonction de la valeur dealign_mode
qui peut être"Original"
,"Frenet"
ou"Tangent"
. - Si
tan_vector
est donné, c'est un vecteur unitaire qui définit la direction tangente locale de la copie le long du chemin. Il est utilisé lorsquealign_mode
est"Tangent"
. - Si
force_vertical
estTrue
, la valeur devertical_vector
est utilisée pour déterminer la direction Z locale de la copie le long du chemin. Il est utilisé lorsquealign_mode
est"Original"
ou"Tangent"
. - Si
use_link
estTrue
, le type de tableau créé sera un Draft Réseau lié selon une courbe, dont les éléments sont des instances de App Link au lieu de simples copies.
- Au lieu d'une référence à un objet,
Exemple:
import FreeCAD as App
import Draft
doc = App.newDocument()
p1 = App.Vector(500, -1000, 0)
p2 = App.Vector(1500, 1000, 0)
p3 = App.Vector(3000, 500, 0)
p4 = App.Vector(4500, 100, 0)
spline = Draft.make_bspline([p1, p2, p3, p4])
obj = Draft.make_polygon(3, 500)
path_array = Draft.make_path_array(obj, spline, 6)
doc.recompute()
wire = Draft.make_wire([p1, -p2, -p3, -p4])
path_array2 = Draft.make_path_array(obj, wire, count=3, extra=App.Vector(0, -500, 0), subelements=["Edge2", "Edge3"], align=True, force_vertical=True)
doc.recompute()
Explication technique
Quand DonnéesAlign est false
, le placement des copies de PathArray est assez facile à comprendre; elles sont simplement déplacées vers une position différente dans leur orientation d'origine.
Objet disposé le long d'un chemin fermé dans l'orientation d'origine
Lorsque DonnéesAlign est true
, le positionnement des formes devient un peu plus complexe:
- Premièrement, le système de coordonnées Frenet est construit sur le chemin: X est tangente, Z est normale, Y est binormale.
- Ensuite, l'objet d'origine est copié dans chaque système de coordonnées sur le trajet, de sorte que l'origine globale corresponde à l'origine du système de coordonnées sur le tracé.
Objet disposé le long d'un sentier fermé; description des composants et chemin
Les images suivantes montrent comment le tableau est produit, en fonction du positionnement du plan et du chemin.
Chemin sur le Plan XY
Objet disposé le long d’un chemin fermé qui est aligné sur le plan XY plane
Chemin sur le Plan XZ
Objet disposé le long d'un trajet fermé aligné sur le plan XZ
Chemin sur le Plan YZ
Objet disposé le long d'un trajet fermé aligné sur le plan YZ
Lorsque vous réorientez le chemin mais pas l'objet, le résultat est cohérent: l'objet reste aligné sur le chemin tel qu'il était avant de réorienter le chemin.
Editor: (Remerciements à @DeepSOIC pour ces explications)
Modes d'alignement et options supplémentaires introduits dans la v0.19
Le mode Original (par défaut) est le mode d'alignement historique comme dans la version 0.18. Ce n'est pas vraiment l'alignement Frenet. Le mode original utilise le paramètre normal de Draft.getNormal (ou la valeur par défaut) en tant que constante - il ne calcule pas de courbe normale. X suit la courbe tangente, Y est le paramètre normal, Z est X.Cross(Y).
Le mode Tangent est similaire à Original mais inclut une rotation pour aligner l'objet Base de X sur le TangentVector avant de placer des copies. Après la rotation, Tangent se comporte de la même manière que Original. Dans les versions précédentes, cette rotation se serait effectuée manuellement avant d'appeler PathArray.
Le mode Frenet oriente les copies vers un système de coordonnées le long du chemin. X est tangent à la courbe, Y est la courbe normale, Z est la courbe binormale. Si une normale ne peut pas être calculée (ex une ligne droite), la valeur par défaut est utilisée.
L'option ForceVertical s'applique aux modes Original et Tangent. Quand cela est appliqué, le paramètre normal de Draft.getNormal est ignoré. X suit la courbe tangente, Z est la propriété VerticalVector et Y est X.Cross(Z).
Chaîne de vélo en version 18 - Mode original
Traverses de chemin de fer - Mode Tangent + ForceVertical
Mode Frenet
- Drafting : Ligne, Polyligne, Congé, Arc, Arc par 3 points, Cercle, Ellipse, Rectangle, Polygone, B-spline, Courbe de Bézier cubique, Courbe de Bézier, Point, Surfaces liées, Formes à partir de texte, Hachure
- Annotation : Texte, Dimension, Étiquette, Éditeur de styles d'annotations, Widget d'échelle d'annotation.
- Modification : Déplacer,Pivoter,Échelle,Miroir, Décalage, Ajuster ou prolonger, Étirer, Cloner, Réseau orthogonal, Réseau polaire, Réseau circulaire, Réseau selon une courbe, Réseau lié selon une courbe, Réseau de points, Réseau lié selon des points, Éditer, Surligner les sous éléments, Joindre, Scinder, Agréger, Désagréger, Polyligne vers B-spline, Draft vers esquisse, Pente, Inverser le texte de la dimension, Vue 2D d'une forme
- Barre Draft : Plan de travail, Définir le style, Basculer en mode construction, Groupement automatique
- Aimantation : Verrouillage de l'aimantation, Aimantation terminaison, Aimantation milieu, Aimantation centre, Aimantation angle, Aimantation intersection, Aimantation perpendiculaire, Aimantation extension, Aimantation parallèle, Aimantation spéciale, Aimantation au plus proche, Aimantation orthogonal, Aimantation grille, Aimantation plan de travail, Aimantation dimensions, Basculer la grille
- Utilitaires : Appliquer le style, Calque, Gestionnaire de calques, Nommer un groupe, Déplacer vers un groupe, Sélection groupée, Ajouter au groupe de construction, Mode d'affichage, Proxy de plan de travail, Réparer, Barre d'aimantation
- Additionnels : Contrainte, Motif, Préférences, Préférences d'Import Export, DXF/DWG, SVG, OCA, DAT
- Menu contextuel :
- Conteneur du calque : Fusionner les calques en double, Ajouter un nouveau calque
- Calque : Groupement automatique, Sélection groupée
- Texte : Ouvir les hyperliens
- Filaire : Aplatir
- Proxy de plan de travail : Enregistrer la position de la caméra, Enregistrer l'état des objets
- Démarrer avec FreeCAD
- Installation : Téléchargements, Windows, Linux, Mac, Logiciels supplémentaires, Docker, AppImage, Ubuntu Snap
- Bases : À propos de FreeCAD, Interface, Navigation par la souris, Méthodes de sélection, Objet name, Préférences, Ateliers, Structure du document, Propriétés, Contribuer à FreeCAD, Faire un don
- Aide : Tutoriels, Tutoriels vidéo
- Ateliers : Std Base, Arch, Assembly, CAM, Draft, FEM, Inspection, Mesh, OpenSCAD, Part, PartDesign, Points, Reverse Engineering, Robot, Sketcher, Spreadsheet, Start, Surface, TechDraw, Test, Web