Macro SketchUnmap/fr

Contexte
Cette macro a été écrite principalement pour contourner le problème de dénomination topologique susceptible de casser un modèle lorsqu'une esquisse a été directement ou indirectement attachée à une face ou à tout autre élément topologique. Pour éviter les ruptures, une macro doit être appliquée lorsque le modèle est toujours correct. Il ne peut pas "réparer" un modèle cassé. Si vous venez de casser votre modèle, annulez les dernières modifications dans une bonne situation, appliquez la macro aux esquisses instables, puis recommencez l'opération précédente.

Utilisation
Sur le plan fonctionnel, la macro supprimera le mappage actuel de l'esquisse sur laquelle elle est appliquée, puis lui appliquera un placement absolu afin de l'immuniser contre les modifications de support de mappage.

Pour ce faire, la macro proposera essentiellement 3 options (si votre esquisse n'est pas dans un corps PartDesign, seule la première option est disponible et sera appliquée automatiquement):
 * Mode "Raw" => le placement de l'esquisse est rendu absolu dans le référentiel de corps, rien de plus
 * "Mode DP@Face" => un plan de référence est créé à l'emplacement de la face de mappage, puis l'esquisse y est attachée en respectant son décalage d'attache
 * Mode "DP@Sketch" => un lieu de référence est créé à l'emplacement de l'esquisse (y compris le décalage de la pièce jointe), puis l'esquisse est attachée à son origine

Pour utiliser la macro, sélectionnez simplement l'esquisse cible (par exemple, dans l'arborescence), puis exécutez la macro. C'est tout !

Installation
Pour le moment, la macro n'est pas disponible dans le gestionnaire des addons → PR envoyé: https://github.com/FreeCAD/FreeCAD-macros/pull/48. Vous devez donc copier le code ci-dessous et le coller dans l’éditeur de macros FreeCAD.

Pour des explications plus détaillées, voir la page Comment installer des macros.

Détails
Pour une meilleure compréhension, voici un exemple: Supposons un simple cube dont la face supérieure (jaune) a été dessinée. Un cylindre est créé avec un cercle matelassé dont l'esquisse a été mappée (face plate) à la face préparée et décalée pour répondre aux besoins (offset de pièce jointe):



Maintenant, pour une raison quelconque, vous devez inverser la direction de tirage du tirage (bien sûr, sans que le cylindre se déplace). Voici ce qui se passe fondamentalement:



L'arborescence indique une erreur, la vue 3D n'est pas mise à jour et l'esquisse du cercle flotte au milieu de nulle part ...

Vient maintenant le travail de la macro (que vous devez exécuter avant de changer la face de référence, lorsque l'esquisse est toujours à la bonne place). Sélectionnez l'esquisse et exécutez-le. Si votre esquisse est dans un corps, une boîte de message vous demandera de choisir parmi les 3 options différentes (si votre esquisse sort d’un corps, elle appliquera automatiquement la première):


 * "Raw" mode
 * "DP@Face mode"
 * "DP@Sketch" mode

Ce qui en terme d'image donne ce qui suit:



Script
ToolBar Icon

Macro_SketchUnmap.FCMacro

Limitations

 * Ne traitez qu'un croquis à la fois
 * Travaillez uniquement sur des objets d'esquisse

Discussion sur le forum
Pour tout commentaire (bug, demande de fonctionnalité, commentaires, ...), veuillez utiliser ce fil de discussion : (FR) macro to remap sketch to different reference