Sketcher Examples/fr: Difference between revisions

From FreeCAD Documentation
(Created page with "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.<br>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.<br>Quelques lignes de code de base à intégrer dans un contexte d'interface graphique pourraient ressembler à ceci :")
No edit summary
 
(26 intermediate revisions by 2 users not shown)
Line 9: Line 9:


<span id="Film_hinge"></span>
<span id="Film_hinge"></span>
==Charnière film===
==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.
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.
Line 59: Line 59:


<span id="Film_hinge_sketch"></span>
<span id="Film_hinge_sketch"></span>
===Esquisse de charnière film===
===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 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)
Line 83: Line 83:




Enfin, deux paramètres définissent la taille de la charnière film :
Enfin, deux paramètres définissent la taille de la charnière-film :
* le NeutralRadius de l'esquisse de base
* le NeutralRadius de l'esquisse de base
* la valeur de l'épaisseur de l'esquisse intermédiaire
* la valeur de l'épaisseur de l'esquisse de la charnière-film


<span id="Bending_the_film_hinge"></span>
<span id="Bending_the_film_hinge"></span>
Line 102: Line 102:
}}
}}


<div lang="en" dir="ltr" class="mw-content-ltr">
<div class="mw-collapsible-content toccolours">
<div class="mw-collapsible-content toccolours">
</div>


Une brève explication :
<div lang="en" dir="ltr" class="mw-content-ltr">
* {{Incode|doc {{=}} App.ActiveDocument}} : pour adresser le document actif par un alias appelé '''doc'''
A short explanation:
* {{Incode|doc {{=}} App.ActiveDocument}}: To address the active document by an alias called '''doc'''
* {{Incode|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 {{value|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).
*{{Incode|sketch {{=}} doc.getObjectsByLabel('IntermediateSketch')[0]}}: To address the relevant sketch by the alias '''sketch'''.
* {{Incode|sketch.getDatum('ArcAngle')}} : renvoie la valeur en cours de la contrainte dimensionnelle '''ArcAngle''' (dans la vue rapport).
*: The method '''getObjectsByLabel()''' returns a list of objects and we have to suffix index {{value|0}} to pick the first object in the list. (We do not expect any other object having the same label and so do not have to care about other items in the list.)
* {{Incode|sketch.getDatum('ArcAngle')}}: Returns the current value of the dimensional constraint '''ArcAngle''' (to the Report view)
* {{Incode|sketch.setDatum('ArcAngle', App.Units.Quantity('50.0 deg'))}} : définit la valeur de '''ArcAngle''' à {{value|50°}}
* {{Incode|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.
* {{Incode|sketch.setDatum('ArcAngle', App.Units.Quantity('50.0 deg'))}}: Sets the value of '''ArcAngle''' to {{value|50°}}
* {{Incode|doc.recompute(None,True,True)}}: To update the whole document to show the changes of dependant geometry as well.
</div>


</div> <!-- Fin de l'élément repliable pour la section de contenu. Ne pas supprimer! -->
<div lang="en" dir="ltr" class="mw-content-ltr">
</div> <!-- End of collapsible element for content section. Do not remove! -->
</div>


<span id="Connecting_geometry"></span>
<div lang="en" dir="ltr" class="mw-content-ltr">
===Connecting geometry===
===Connexion de la géométrie===
</div>


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.
<div lang="en" dir="ltr" class="mw-content-ltr">
Two halves of a clip stuff are waiting to get attached to the hinge, one on the static side and one on the movable side.
</div>


[[Image:Sketcher_ExampleHinge-08.png|300px]]
[[Image:Sketcher_ExampleHinge-08.png|300px]]
{{Caption|Deux moitiés d'un simple clip}}
<div lang="en" dir="ltr" class="mw-content-ltr">
{{Caption|Two halves of a simple clip}}
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div class="mw-collapsible-content toccolours">
<div class="mw-collapsible-content toccolours">
</div>


Le côté statique est facile :
<div lang="en" dir="ltr" class="mw-content-ltr">
# 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.
The static side is easy:
# Activez le corps de la charnière.
# Activate the body and adjust the position and orientation properties in the properties editor until it matches with the film hinge.
# Sélectionnez l'[[Image:PartDesign_Boolean.svg|16px]] [[PartDesign_Boolean/fr|opération booléenne]] avec l'option (par défaut) Union.
# Activate the hinge body.
# Dans la boîte de dialogue, appuyez sur le bouton {{Button|Ajouter un corps}}.
# Select the [[Image:PartDesign_Boolean.svg|16px]] [[PartDesign_Boolean|PartDesign Boolean]] tool with the (default) Fuse option.
# Sélectionnez le '''corps''' de la moitié statique du clip.
# In the dialog press the {{Button|Add body}} button.
# Appuyez sur OK pour terminer et fermer la boîte de dialogue.
# select the '''body''' of the static half of the clip.
# Press OK to finish and close the dialog.
</div>


</div> <!-- Fin de l'élément repliable pour la section de contenu. Ne pas supprimer! -->
<div lang="en" dir="ltr" class="mw-content-ltr">
</div> <!-- End of collapsible element for content section. Do not remove! -->
</div>


[[Image:Sketcher_ExampleHinge-09.png|300px]] [[Image:Button_right.svg|16px|link=]]
[[Image:Sketcher_ExampleHinge-09.png|300px]] [[Image:Button_right.svg|16px|link=]]
[[Image:Sketcher_ExampleHinge-10.png|300px]]
[[Image:Sketcher_ExampleHinge-10.png|300px]]
{{Caption|Charnière film et moitié statique en position de modélisation → charnière film avec la moitié statique repositionnée et [[PartDesign_Boolean/fr|unie]]}}
<div lang="en" dir="ltr" class="mw-content-ltr">
{{Caption|Film hinge and static half in modelling position → film hinge with relocated and [[Image:PartDesign_Boolean.svg|16px]] [[PartDesign_Boolean|fused]] static half}}
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div class="mw-collapsible-content toccolours">
<div class="mw-collapsible-content toccolours">
</div>


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.
<div lang="en" dir="ltr" class="mw-content-ltr">
But the moving side is different: The related half of the clip geometry has to move into the right position before a (re-) calculation of a Fuse operation gets started.
</div>


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 :
<div lang="en" dir="ltr" class="mw-content-ltr">
At this point I'm missing an "Attachment with offset" function like that of Assembly3 to attach the clip geometry to one of the moving faces. But after a bit of experimenting and tweaking I found out:
</div>


* Les conteneurs [[Image:Std_Part.svg|16px]] [[Std_Part/fr|Std Part]] et [[Image:PartDesign_Body.svg|16px]] [[PartDesign_Body/fr|PartDesign Corps]] ne sont pas pris en charge par [[Image:Part_EditAttachment.svg|16px]] [[Part_EditAttachment/fr#Limitations|Part Ancrage]].
<div lang="en" dir="ltr" class="mw-content-ltr">
Bien qu'il soit possible d'utiliser l'ancrage pour les aligner, l'ancrage ne sera pas paramétriquement lié.
* [[Image:Std_Part.svg|16px]] [[Std_Part|Std Part]] and [[Image:PartDesign_Body.svg|16px]] [[PartDesign_Body|PartDesign Body]] containers are not supported by [[Image:Part_EditAttachment.svg|16px]] [[Part_EditAttachment#Limitations|Part Attachment]].
* 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 !
:While it is possible to use Attachment to align them, the attachment won't be parametrically linked.
** Les éléments indépendants de PartDesign ne bougeront pas, ce qui modifiera la forme résultante et la cassera à la fin.
* Attachment can be applied to a PartDesign feature. This and features depending on it are repositioned according to the base geometry. But!:
** Il est conseillé de garder les fonctions indépendantes pour éviter les impacts dus au [[Topological_naming_problem|problème de dénomination topologique]].
** Independent PartDesign features won't move and so it will change the resulting shape and break it in the end.
* [[File:PartDesign_Clone.svg|16px]] [[PartDesign_Clone/fr|PartDesign Clone]] crée un corps avec une seule fonction qui peut être utilisée avec l'ancrage.
** We are advised to keep features independent to avoid impacts due to the [[Topological_naming_problem|Topological naming problem]].
* [[File:PartDesign_Clone.svg|16px]] [[PartDesign_Clone|PartDesign Clone]] creates a body with a single feature that can be use with Attachment.
</div>




Dans cette idée, un flux de travail pourrait ressembler à ce qui suit :
<div lang="en" dir="ltr" class="mw-content-ltr">
With that in mind, a workflow could look like this:
</div>


# Sélectionner le corps de la moitié mobile.
<div lang="en" dir="ltr" class="mw-content-ltr">
# Utilisez la commande [[File:PartDesign_Clone.svg|16px]] [[PartDesign_Clone/fr|Clone]].
# Select the body of the movable half.
# Dans le nouveau corps, sélectionnez l'objet Clone dans la vue en arborescence.
# Use the [[File:PartDesign_Clone.svg|16px]] [[PartDesign_Clone|Create a clone]] command.
# Utilisez la commande [[Image:Part_EditAttachment.svg|16px]] [[Part_EditAttachment/fr|Part Ancrage]] pour ajouter des propriétés d'ancrage à l'objet Clone.
# In the new body select the Clone object in the Tree view.
# La boîte de dialogue Ancrage s'ouvre.
# Use the [[Image:Part_EditAttachment.svg|16px]] [[Part_EditAttachment|Part Attachment]] tool to add attachment properties to the Clone object.
#* Sélectionnez un sommet pour l'origine.
# The Attachment dialog opens.
#* Sélectionnez une arête pour la première direction.
#* Select a vertex for the origin.
#* Select an edge for the first direction.
#* Sélectionnez une arête pour la deuxième direction.
#* Examinez les modes d'ancrage pour trouver celui qui convient le mieux.
#* Select an edge for the second direction.
#* Ajustez les valeurs de rotation et de coordonnées jusqu'à ce que la géométrie soit à nouveau en position de modélisation.
#* Probe the attachment modes to find the best fitting one.
# Appuyez sur OK pour fermer la boîte de dialogue.
#* Tweak rotation and coordinate values until until the geometry is in modelling position again.
# Avec le corps de la charnière toujours actif, sélectionnez l'[[Image:PartDesign_Boolean.svg|16px]] [[PartDesign_Boolean/fr|opération booléenne]].
# Press OK to close the dialog.
# Dans la boîte de dialogue, cliquez sur le bouton {{Button|Ajouter un corps}}.
# With the hinge body still active select the [[Image:PartDesign_Boolean.svg|16px]] [[PartDesign_Boolean|PartDesign Boolean]] tool.
# Sélectionnez le corps de la moitié mobile.
# In the dialog press the {{Button|Add body}} button.
# Appuyez sur OK pour terminer et fermer la boîte de dialogue.
# select the body of the movable half .
# Press OK to finish and close the dialog.
</div>


</div> <!-- Fin de l'élément pliable pour la section de contenu. Ne pas supprimer! -->
<div lang="en" dir="ltr" class="mw-content-ltr">
</div> <!-- End of collapsible element for content section. Do not remove! -->
</div> <!-- Fin de l'élément pliable pour la section de contenu. Ne pas supprimer! -->
</div> <!-- End of collapsible element for ... section. Do not remove! -->
</div>


[[Image:Sketcher_ExampleHinge-14.png|300px]]
[[Image:Sketcher_ExampleHinge-14.png|300px]]
{{Caption|La moitié mobile sera [[Image:Part_EditAttachment.svg|16px]] [[Part_EditAttachment/fr|ancrée]] à un coin du côté de la charnière mobile (Mode associé OXZ : sommet, arête, arête)}}
<div lang="en" dir="ltr" class="mw-content-ltr">
{{Caption|The movable half will be [[Image:Part_EditAttachment.svg|16px]] [[Part_EditAttachment|attached]] to a corner of the movable hinge side (Map Mode OXZ: vertex, edge, edge)}}
</div>


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 [[Topological_naming_problem|problème de dénomination topologique]].
<div lang="en" dir="ltr" class="mw-content-ltr">
In retrospect it would have been wiser to provide the attachment geometry with the IntermediateSketch to avoid another source of the [[Topological_naming_problem|Topological naming problem]].
</div>


[[Image:Sketcher_ExampleHinge-11.png|300px]] [[Image:Button_right.svg|16px|link=]]
[[Image:Sketcher_ExampleHinge-11.png|300px]] [[Image:Button_right.svg|16px|link=]]
[[Image:Sketcher_ExampleHinge-12.png|300px]]
[[Image:Sketcher_ExampleHinge-12.png|300px]]
{{Caption|Le clip jusqu'à présent et la moitié mobile en position de modélisation → clip terminé avec la moitié mobile [[Part_EditAttachment/fr|ancrée]] et [[PartDesign_Boolean/fr|unie]]}}
<div lang="en" dir="ltr" class="mw-content-ltr">
{{Caption|The clip so far and the movable half in modelling position → finished clip with [[Image:Part_EditAttachment.svg|16px]] [[Part_EditAttachment|attached]] and [[Image:PartDesign_Boolean.svg|16px]] [[PartDesign_Boolean|fused]] movable half}}
</div>


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).
<div lang="en" dir="ltr" class="mw-content-ltr">
Now the result should be a single solid clip, that can be closed and opened by changing the ArcAngle of the film hinge. Allowed angles: 0.1° to 180°, the film section must not get straight, and more than closed doesn't make sense. (At 180° the object may get fused at tangent or overlapping areas, but a little extra gap could help if that is not acceptable.)
</div>


[[Image:Sketcher_ExampleHinge-13.png|200px]] [[Image:Button_right.svg|16px|link=]]
[[Image:Sketcher_ExampleHinge-13.png|200px]] [[Image:Button_right.svg|16px|link=]]
[[Image:Sketcher_ExampleHinge-15.png|200px]] [[Image:Button_right.svg|16px|link=]]
[[Image:Sketcher_ExampleHinge-15.png|200px]] [[Image:Button_right.svg|16px|link=]]
[[Image:Sketcher_ExampleHinge-16.png|200px]]
[[Image:Sketcher_ExampleHinge-16.png|200px]]
{{Caption|Clip presque fermé → Clip à moitié fermé → Clip prêt à être moulé}}
<div lang="en" dir="ltr" class="mw-content-ltr">

{{Caption|Clip almost closed → Clip half closed → Clip in mould condition}}
{{PartDesign Tools navi{{#translation:}}}}
</div>
{{Sketcher Tools navi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}

Latest revision as of 09:49, 15 June 2023

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é