FreeCAD Logo FreeCAD 1.0
  • Anglais Afrikaans Arabe Biélorusse Catalan Tchèque Allemand Grec Espagnol Espagnol Basque Finnois Philippin Français Galicien Croate Hongrois Indonésien Italien Japonais Kabyle Coréen Lituanien Néerlandais Norvégien classique Polonais Portugais Portugais Roumain Russe Slovaque Slovène Serbe Suédois Turc Ukrainien Valencien Vietnamien Chinois Chinois
  • Fonctions
  • Télécharger
  • Blog
  • Documentation
    Index de la documentation Premiers pas Documentation pour les utilisateurs Manuel de FreeCAD Documentation des ateliers Documentation sur le codage en Python Documentation pour les développeurs Tutoriels Foire aux questions Politique de confidentialité À propos de FreeCAD
  • Contribuer
    Comment aider Sponsor Signaler un bogue Faire une demande de modification (PR) Emplois et financements Guide pour les contributions Manuel pour les développeurs Traductions
  • Communauté
    Code de conduite Forum The FPA GitHub GitLab Codeberg Mastodon Matrix IRC IRC via Webchat Gitter Discord Reddit Twitter Facebook LinkedIn Calendrier
  • ♥ Donate

Donate

$
Informations SEPA
Veuillez configurer votre virement bancaire SEPA pour:
Beneficiary: The FreeCAD project association
IBAN: BE04 0019 2896 4531
BIC/SWIFT: GEBABEBBXXX
Agence bancaire: BNP Paribas Fortis
Adresse: Rue de la Station 64, 1360 Perwez, Belgium

While Stripe doesn't support monthly donations, you can still become a sponsor! Simply make a one-time donation equivalent to 12 months of support, and you'll gain access to the corresponding sponsoring tier. It's an easy and flexible way to contribute.

If you are not sure or not able to commit to a regular donation, but still want to help the project, you can do a one-time donation, of any amount.

Choose freely the amount you wish to donate one time only.

You can support FreeCAD by sponsoring it as an individual or organization through various platforms. Sponsorship provides a steady income for developers, allowing the FPA to plan ahead and enabling greater investment in FreeCAD. To encourage sponsorship, we offer different tiers, and unless you choose to remain anonymous, your name or company logo will be featured on our website accordingly.

from 1 USD / 1 EUR per month. You will not have your name displayed here, but you will have helped the project a lot anyway. Together, normal sponsors maintain the project on its feet as much as the bigger sponsors.

from 25 USD / 25 EUR per month. Your name or company name is displayed on this page.

from 100 USD / 100 EUR per month. Your name or company name is displayed on this page, with a link to your website, and a one-line description text.

from 200 USD / 200 EUR per month. Your name or company name and logo displayed on this page, with a link to your website and a custom description text. Companies that have helped FreeCAD early on also appear under Gold sponsors.

Instead of donating each month, you might find it more comfortable to make a one-time donation that, when divided by twelve, would give you right to enter a sponsoring tier. Don't hesitate to do so!

Choose freely the amount you wish to donate each month.

Please inform your forum name or twitter handle as a notein your transfer, or reach to us, so we can give you proper credits!

Macro Cut Object for Magnets

Description
Découpe un objet suivant un plan et ajoute des trous alignés pour aimants avec détection de collision de surface. Crée deux pièces avec des trous parfaitement alignés pour y insérer des aimants qui permettent aux pièces de s'emboîter.

Version macro : 0.6.2
Date dernière modification : 2026-01-18
Version FreeCAD : 0.21+
Téléchargement : Icône de la barre d'outils
Auteur: Spkane
Auteur
Spkane
Téléchargement
Icône de la barre d'outils
Liens
Page des macros
Comment installer une macro
Comment créer une barre d'outils
Version Macro
0.6.2
Dernière modification
2026-01-18
Version(s) FreeCAD
0.21+
Raccourci clavier
None
Voir aussi
Part Séparer en composés, PartDesign Perçage

Description

Cette macro découpe un objet 3D selon un plan spécifié et ajoute automatiquement des trous magnétiques alignés aux deux pièces obtenues. Les trous sont positionnés à l'aide d'une détection de collision intelligente afin de garantir qu'ils ne traversent pas les parois extérieures de l'objet.

Cela est particulièrement utile pour :

  • Créer des impressions en plusieurs parties qui s'assemblent à l'aide d'aimants intégrés.
  • Diviser des objets volumineux pour les adapter à des plateaux d'imprimantes 3D plus petits tout en conservant leur alignement.
  • Ajouter des mécanismes de fermeture magnétiques à des boîtiers et des étuis.

Principales fonctions :

  • Découpe suivant des plans prédéfinis (XY, XZ, YZ) ou des plans de référence du modèle.
  • Placement automatique des trous avec une répartition uniforme le long du bord de coupe.
  • La détection des collisions de surface empêche les trous de traverser les parois.
  • Diamètre, profondeur et nombre de trous configurables.
  • Paramètres de dégagement préféré et minimum des bords.
  • Repositionnement intelligent des trous lorsque le placement initial ne satisfait pas aux contrôles de sécurité.
  • Crée des objets PartDesign::Body avec des fonctions de trou paramétriques.
  • Prend en charge la recoupe d'objets déjà coupés (conserve les trous existants).
  • Sépare automatiquement les deux parties pour faciliter la visualisation.

Utilisation

  1. Ouvrez un document contenant l'objet que vous souhaitez découper.
  2. Vous pouvez sélectionner l'objet et/ou un plan de référence avant d'exécuter la macro.
  3. Exécutez la macro à partir de Macro → Macros → CutObjectForMagnets → Lancer.
  4. Dans la boîte de dialogue :
    • Sélectionnez le corps à découper dans le menu déroulant.
    • Choisissez le type de plan de découpe (Préréglé ou Plan du modèle).
    • Pour les plans prédéfinis, définissez le décalage par rapport à l'origine.
    • Configurez les paramètres des trous pour aimants :
      • Diameter : diamètre du trou (doit correspondre à la taille de votre aimant).
      • Depth : profondeur du trou à partir de la surface de découpe.
      • Number of Holes : nombre total de trous à créer.
      • Edge Clearance (Preferred) : distance idéale entre l'arrête du trou et la surface de l'objet.
      • Edge Clearance (Minimum) : dégagement minimum acceptable.
  5. Cliquez sur « Execute Cut ».

Exemple

Cette image montre un vase dans sa forme originale, puis après avoir été découpé plusieurs fois à l'aide de la macro. Des aimants peuvent ensuite être insérés dans l'objet, qui peut alors être réassemblé. Cet exemple visait à créer un vase « cassable » pour une représentation théâtrale, mais il existe de nombreuses autres utilisations potentielles.

Fonctionnement

Processus de découpe :

  1. Crée une grande boîte demi-espace alignée avec le plan de découpe.
  2. Utilise des opérations booléennes pour diviser l'objet en deux parties.
  3. Crée des conteneurs PartDesign::Body pour chaque moitié.

Algorithme de placement des trous :

  1. Calcule les positions des trous répartis uniformément le long du périmètre de la face coupée.
  2. Pour chaque position, valide les DEUX pièces (et pas seulement une).
  3. Utilise d'abord le dégagement préféré, puis revient au minimum si nécessaire.
  4. Vérifie l'espacement entre les trous (minimum 2 fois le diamètre).
  5. Repositionne les trous qui ne satisfont pas aux contrôles de sécurité à l'aide de plusieurs stratégies :
    • Réduction du dégagement à la même position.
    • Augmentation de l'encastrement par rapport au bord.
    • Positions alternatives le long du périmètre.

Fonctions de sécurité :

  • Crée des cylindres de test pour vérifier si les trous risquent de traverser les murs.
  • Vérifie chaque trou par rapport aux parties supérieure et inférieure.
  • Ignore les trous qui ne peuvent pas être placés en toute sécurité.
  • Signale les trous repositionnés et ignorés dans la console.

Paramètres

Paramètre Description Valeur par défaut
Plane Type « Plan prédéfini » (XY/XZ/YZ) ou « Plan du modèle » (plan de référence) Plan prédéfini
Offset Distance par rapport à l'origine pour les plans prédéfinis 0 mm
Diameter Diamètre du trou pour l'aimant 3 mm
Depth Profondeur du trou par rapport à la surface de coupe 3 mm
Number of Holes Nombre total de trous à créer 6
Edge Clearance (Preferred) Distance idéale entre le bord du trou et la surface de l'objet 2 mm
Edge Clearance (Minimum) Dégagement minimum acceptable (utilisé lors du repositionnement) 0.5 mm

Conditions

  • FreeCAD 0.19 ou version ultérieure.
  • Un objet avec une forme solide (corps Part ou PartDesign).
  • Pour le mode modèle réduit d'avion : un plan de référence ou un objet avec des faces planes.

Installation

  • Installez via le gestionnaire d'extensions FreeCAD ou manuellement à partir du dépôt freecad-macro-cut-for-magnets sur GitHub.

Astuces

  • Magnet sizing : mesurez soigneusement vos aimants. Les dimensions courantes sont 3 mm, 5 mm et 6 mm de diamètre.
  • Add tolerance : pensez à ajouter 0,1 à 0,2 mm au diamètre pour faciliter l'insertion des aimants.
  • Depth planning : réglez la profondeur du trou légèrement plus profonde que la hauteur de l'aimant pour garantir un ajustement affleurant ou encastré.
  • Edge clearance : pour les objets à parois minces, réduisez le dégagement souhaité, mais conservez un dégagement minimum suffisamment important pour éviter de percer la paroi.
  • Re-cutting : la macro détecte les trous d'aimants existants et les préserve lors de la découpe de pièces déjà découpées.

Code source

Le code source complet est hébergé sur GitHub : freecad-macro-cut-for-magnets sur GitHub

Liens

  • Documentation complète : guides et tutoriels complets.
  • Dépôt sur GitHub : code source et suivi des problèmes.
  • Part Séparer en composés : outil de découpage intégré à FreeCAD.
  • PartDesign Perçage : documentation sur les fonctions paramétriques de perçage.
  • PartDesign Corps : documentation sur les conteneurs de corps.

Cette page est extraite de https://wiki.freecad.org/Macro_Cut_Object_For_Magnets

Contactez-nous !
Forum GitHub Mastodon Matrix IRC Gitter.im Discord Reddit Twitter Facebook LinkedIn

© L'équipe FreeCAD. Crédits des images de la page d'accueil (de haut en bas) : ppemawm, r-frank, epileftric, regis, rider_mortagnais, bejant.

Ce projet est soutenu par : , KiCad Services Corp. et autres parrains

GitHubAméliorer cette page sur GitHub