Sketcher Exemples

From FreeCAD Documentation
This page is a translated version of the page Sketcher Examples and the translation is 100% complete.

Cette documentation n'est pas terminée. Merci de nous aider et de contribuer à la documentation.

Modèle GuiCommand explique comment les commandes doivent être documentées. Parcourez Category:UnfinishedDocu pour voir d'autres pages incomplètes comme celle-ci. Voir Category:Command_Reference pour toutes les commandes.

Voir Écrire une page Wiki pour apprendre à éditer les pages du wiki, et aller à Contribuer à FreeCAD pour apprendre d'autres façons de contribuer.
Other languages:

Introduction

Je pense que l' atelier Sketcher a besoin de quelques exemples qui ne sont pas des tutoriels détaillés ou des vidéos...

Charnière film

Une charnière film est le petit morceau de plastique pliable qui relie les deux côtés d'un objet moulé par injection, tel qu'un conduit avec un couvercle, ou les deux moitiés d'un boîtier de bouchon protégeant de la poussière.

Cet exemple utilise une sorte d'esquisse principale pour empiler des esquisses dépendantes. Il montre également comment attacher et animer un simple clip basé sur les fonctions de PartDesign et les contraintes de Sketcher. L'utilisation des expressions comme décrit ci-dessous nécessite FreeCAD V 0.21 ou plus.

Esquisse de base

En général, un objet est modélisé dans un environnement fermé. Plus tard, la partie mobile doit être retournée de 180° pour être moulée à l'état ouvert.
La bande pliable est représentée par un arc de cercle pour l'état fermé et par une ligne droite pour l'état ouvert, les deux ayant le même point de départ.
Le point médian d'une ligne reliant les deux extrémités indique la position de l'axe de retournement, qui est normal au plan de l'esquisse. (Il est placé sur l'origine de l'esquisse afin que l'axe global normal au plan de l'esquisse puisse être utilisé comme axe de basculement).

(Quelques explications supplémentaires cachées et une description du flux de travail peuvent être développées ici. -->

Esquisse maître et charnière du film final animé (cliquez sur l'image si l'animation s'est arrêtée après quelques répétitions)

Pour un demi-cercle, la longueur de l'arc est le rayon multiplié par Pi (l = r * Pi). Le rayon est appelé NeutralRadius et la ligne est appelée DevelopedLength. Une expression pour la longueur développée relie les deux valeurs : .Constraints.NeutralRadius * pi

Dans la même esquisse, une expression commence par un . suivi de ValueType.ValueName pour traiter une autre valeur.

Esquisse intermédiaire

L'arc de cette charnière film a une longueur constante et un rayon variable. Une entrée est le NeutralRadius de l'esquisse de base. Pour l'avoir à portée de main dans cette esquisse, il est lié en tant que géométrie externe ayant une dimension de référence appelée ReferenceRadius.

Un quartier de géométrie de construction affiche la relation entre l'arc et le rayon pour un angle donné.
InputLength = ReferenceRadius * Pi
et
ArcLength = DynamicRadius * Pi * ArcAngle / 180°
de longueur constante se traduit par :
ReferenceRadius * Pi = DynamicRadius * Pi * ArcAngle / 180°
et avec Pi éliminé, nous obtenons :
ReferenceRadius = DynamicRadius * ArcAngle / 180° or DynamicRadius = ReferenceRadius * 180° / ArcAngle

L' expression pour la valeur DynamicRadius : .Constraints.ReferenceRadius * 180 ° / .Constraints.ArcAngle

Une charnière film étant généralement symétrique, un autre arc avec le même point central, appelé HalfArc, est utilisé pour la sortie et représente une moitié de l'arc de la charnière.

L' expression pour la valeur HalfArc : .Constraints.ArcAngle / 2

Esquisse intermédiaire montrant le DynamicRadius de l'arc de la charnière de 4 (mm) à un angle donné de 45° (et le demi-arc pour la sortie)

Esquisse de la charnière film

Cette esquisse définit l'épaisseur et la géométrie adjacente de la charnière film. Par conséquent, nous chargeons le demi-arc de l'esquisse intermédiaire en tant que géométrie externe afin de l'utiliser comme base pour la partie film. (une fraction de 180° dans ce cas)

Cette charnière film est destinée à maintenir les parties connectées en contact l'une avec l'autre lorsqu'elles sont fermées. Pour ce faire, il suffit de calculer un arc de cercle de la longueur nécessaire, puis de créer une bande d'épaisseur constante et enfin d'appliquer des filets à l'endroit où la bande rencontre les moitiés de l'objet. La dernière étape raccourcit d'une certaine manière la boucle, mais dans le monde réel, ce n'est pas un problème, car l'arc ne sera jamais circulaire et les filets ont donc une influence sur la courbure de l'arc, mais pas sur sa fonctionnalité.

Esquisse de la charnière montrant le contour de la charnière sur la base de la géométrie extérieure à partir du demi-arc de cercle de l'esquisse intermédiaire.


A gauche : protrusion de la demi-charnière avec esquisse visible. A droite : demi-charnière avec ajout de congés


Demi-charnière avec plan de symétrie sélectionné → charnière film symétrisée


Conseil : Part Miroir n'accepte que les trois plans de base et ne peut donc pas être utilisé dans ce cas.

(Rétrospectivement, il était judicieux de commencer cet exemple avec la combinaison de PartDesign et de Sketcher).


Enfin, deux paramètres définissent la taille de la charnière-film :

  • le NeutralRadius de l'esquisse de base
  • la valeur de l'épaisseur de l'esquisse de la charnière-film

Fléchir la charnière film

L'angle de courbure est contrôlé par la contrainte ArcAngle de l'esquisse intermédiaire et peut être modifié dans son éditeur de propriétés.
Mais nous sommes de vrais concepteurs et nous avons nommé correctement les contraintes et les dimensions de nos esquisses, ce qui nous permet de contrôler l'angle de pliage via Python.
Quelques lignes de code de base à intégrer dans un contexte d'interface graphique pourraient ressembler à ceci :

doc=App.ActiveDocument
sketch=doc.getObjectsByLabel('IntermediateSketch')[0]
 ...
sketch.getDatum('ArcAngle')
 ...
sketch.setDatum('ArcAngle',App.Units.Quantity('50.000000 deg'))
doc.recompute(None,True,True)

Une brève explication :

  • doc = App.ActiveDocument : pour adresser le document actif par un alias appelé doc
  • sketch = doc.getObjectsByLabel('IntermediateSketch')[0] : pour adresser l'esquisse concernée par l'alias sketch.
  • : La méthode getObjectsByLabel() renvoie une liste d'objets et nous devons suffixer l'index 0 pour choisir le premier objet de la liste. (Nous ne nous attendons pas à ce qu'un autre objet ait le même label et nous n'avons donc pas à nous préoccuper des autres éléments de la liste).
  • sketch.getDatum('ArcAngle') : renvoie la valeur en cours de la contrainte dimensionnelle ArcAngle (dans la vue rapport).
  • sketch.setDatum('ArcAngle', App.Units.Quantity('50.0 deg')) : définit la valeur de ArcAngle à 50°
  • doc.recompute(None,True,True) : pour mettre à jour l'ensemble du document afin d'afficher également les modifications de la géométrie dépendante.

Connexion de la géométrie

Les deux moitiés du truc du clip attendent d'être fixées à la charnière, l'une du côté statique et l'autre du côté mobile.

Deux moitiés d'un simple clip

Le côté statique est facile :

  1. Activez le corps et ajustez les propriétés de position et d'orientation dans l'éditeur de propriétés jusqu'à ce qu'il corresponde à la charnière du film.
  2. Activez le corps de la charnière.
  3. Sélectionnez l' opération booléenne avec l'option (par défaut) Union.
  4. Dans la boîte de dialogue, appuyez sur le bouton Ajouter un corps.
  5. Sélectionnez le corps de la moitié statique du clip.
  6. Appuyez sur OK pour terminer et fermer la boîte de dialogue.

Charnière film et moitié statique en position de modélisation → charnière film avec la moitié statique repositionnée et unie

Mais le côté mobile est différent : la moitié concernée de la géométrie du clip doit se déplacer dans la bonne position avant que le (re)calcul d'une opération Union ne commence.

A ce stade, il me manque une fonction "Attachment with offset" comme celle d'Assembly3 pour attacher la géométrie du clip à l'une des faces mobiles. Mais après quelques expériences et ajustements, j'ai trouvé une solution :

Bien qu'il soit possible d'utiliser l'ancrage pour les aligner, l'ancrage ne sera pas paramétriquement lié.

  • L'ancrage peut être appliqué à une fonction PartDesign. Cet élément et les éléments qui en dépendent sont repositionnés en fonction de la géométrie de base. Mais !
    • Les éléments indépendants de PartDesign ne bougeront pas, ce qui modifiera la forme résultante et la cassera à la fin.
    • Il est conseillé de garder les fonctions indépendantes pour éviter les impacts dus au problème de dénomination topologique.
  • PartDesign Clone crée un corps avec une seule fonction qui peut être utilisée avec l'ancrage.


Dans cette idée, un flux de travail pourrait ressembler à ce qui suit :

  1. Sélectionner le corps de la moitié mobile.
  2. Utilisez la commande Clone.
  3. Dans le nouveau corps, sélectionnez l'objet Clone dans la vue en arborescence.
  4. Utilisez la commande Part Ancrage pour ajouter des propriétés d'ancrage à l'objet Clone.
  5. La boîte de dialogue Ancrage s'ouvre.
    • Sélectionnez un sommet pour l'origine.
    • Sélectionnez une arête pour la première direction.
    • Sélectionnez une arête pour la deuxième direction.
    • Examinez les modes d'ancrage pour trouver celui qui convient le mieux.
    • Ajustez les valeurs de rotation et de coordonnées jusqu'à ce que la géométrie soit à nouveau en position de modélisation.
  6. Appuyez sur OK pour fermer la boîte de dialogue.
  7. Avec le corps de la charnière toujours actif, sélectionnez l' opération booléenne.
  8. Dans la boîte de dialogue, cliquez sur le bouton Ajouter un corps.
  9. Sélectionnez le corps de la moitié mobile.
  10. Appuyez sur OK pour terminer et fermer la boîte de dialogue.

La moitié mobile sera ancrée à un coin du côté de la charnière mobile (Mode associé OXZ : sommet, arête, arête)

Rétrospectivement, il aurait été plus judicieux de fournir la géométrie d'ancrage avec l'esquisse intermédiaire afin d'éviter une autre source de problème de dénomination topologique.

Le clip jusqu'à présent et la moitié mobile en position de modélisation → clip terminé avec la moitié mobile ancrée et unie

Le résultat devrait être un seul clip solide, qui peut être fermé et ouvert en changeant l'ArcAngle de la charnière film. Angles autorisés : 0,1° à 180°, la section film ne doit pas devenir droite et, plus que fermé cela n'a pas de sens. (À 180°, l'objet peut être fusionné dans les zones tangentes ou de chevauchement, mais un petit écart supplémentaire peut être utile si cela n'est pas acceptable).

Clip presque fermé → Clip à moitié fermé → Clip prêt à être moulé