Comment transformer un ou plusieurs cercles AutoCAD en polylignes afin de pouvoir leur appliquer une épaisseur (largeur de ligne) ?
Les cercles AutoCAD sont des entités primitives qui ne supportent pas directement la propriété d’épaisseur (largeur globale) comme les polylignes. Pour appliquer une épaisseur à un cercle, il est nécessaire de le convertir en une polyligne fermée. Voici plusieurs méthodes, de la plus simple à la plus avancée :
1. Utilisation de la commande CONTOUR (BOUNDARY)
C’est la méthode la plus courante et efficace pour convertir des cercles existants en polylignes.
- Lancer la commande : Tapez
CONTOUR(ou son aliasCN) et appuyez sur Entrée. - Sélectionner un point interne : Dans la boîte de dialogue « Création de contour », assurez-vous que le type d’objet est « Polyligne ». Cliquez sur le bouton « Choisir des points » (Pick points).
- Cliquer à l’intérieur du cercle : Cliquez à l’intérieur de chaque cercle que vous souhaitez convertir. AutoCAD détectera le contour fermé et créera une nouvelle polyligne par-dessus le cercle existant. Cette polyligne sera composée de deux arcs.
- Confirmer et nettoyer : Appuyez sur Entrée pour valider. Supprimez ensuite les cercles originaux si nécessaire.
- Appliquer l’épaisseur : Sélectionnez la nouvelle polyligne et utilisez la commande
PEDIT(ou son aliasPE). Choisissez l’optionLargeur(Width) et entrez la valeur d’épaisseur souhaitée.
Astuce : Pour traiter plusieurs cercles simultanément, dessinez un rectangle ou une polyligne fermée autour de tous les cercles, puis utilisez la commande CONTOUR en cliquant à l’intérieur de cette zone. Cela créera des polylignes pour tous les cercles contenus.
2. Utilisation de la commande ANNEAU (DONUT)
Cette méthode permet de créer directement une polyligne circulaire fermée.
- Lancer la commande : Tapez
ANNEAU(ouDONUT) et appuyez sur Entrée. - Définir les diamètres : Lorsque le programme demande le « Diamètre intérieur de l’anneau », entrez la valeur
0(zéro). Pour le « Diamètre extérieur de l’anneau », entrez le diamètre souhaité pour votre cercle. - Placer l’anneau : Cliquez à l’emplacement du centre de votre cercle. Vous pouvez ensuite copier ou déplacer cet anneau.
- Appliquer l’épaisseur : L’anneau est déjà une polyligne. Vous pouvez ajuster son épaisseur via la commande
PEDIT(optionLargeur) ou directement dans la fenêtre des propriétés (Ctrl+1).
Note : Cette méthode crée un nouvel objet, elle ne convertit pas un cercle existant. Si vous avez déjà des cercles, vous devrez les supprimer après avoir créé les anneaux.
3. Construction manuelle avec POLYLIGNE
Pour un contrôle précis, vous pouvez dessiner une polyligne en utilisant les options d’arc.
- Lancer la commande : Tapez
POLYLIGNE(ouPL) et appuyez sur Entrée. - Premier point : Cliquez sur un point de départ (par exemple, le point le plus à gauche du cercle).
- Option Arc : Tapez
A(pour Arc) et Entrée. - Option Rayon : Tapez
R(pour Rayon) et Entrée. Entrez le rayon du cercle. - Option Angle : Tapez
A(pour Angle) et Entrée. Entrez180pour créer un demi-cercle. - Deuxième demi-cercle : Répétez les étapes 4 et 5 pour le deuxième demi-cercle, ou utilisez l’option
CL(Clore) si la polyligne est déjà un arc complet. - Appliquer l’épaisseur : Utilisez
PEDITet l’optionLargeur.
Cette méthode est plus fastidieuse et moins recommandée pour des conversions en masse.
4. Utilisation de routine LISP CH_EPL
Pour automatiser la conversion de plusieurs cercles et modifier leur épaisseur en une seule manipulation, la routine LISP CH_EPL.lsp de Didier Lourdelle est particulièrement efficace.
CH_EPL.lsp : Cette routine robuste (testée sur AutoCAD 2002-2005) permet de modifier l’épaisseur de lignes, arcs, polylignes, cercles et anneaux en une seule manipulation, en convertissant automatiquement les cercles en polylignes au passage.
Code source complet :
;
; CH_EPL.LSP - gratuiciel
; Version 1.4 pour Autocad 2002 ou superieur
; Revision du $Date: 28/01/04 7:31 $
; Ecrit par Didier Lourdelle
;
; Mise à jour en 1.2 le 18/08/1998 par Didier LOURDELLE tient compte des LWPOLYLINE
; Mise à jour en 1.3 le 30/09/1998 par Pierre-Marie BOITEL tient compte des cercles en les transforment en polyligne
; Mise à jour en 1.4 le 28/01/2004 par Didier LOURDELLE modification de l'epaisseur avec la commande polyligne et l'option multiple pour un traitement plus rapide.
;
; $Workfile: ch_epl1-4.lsp $
; $Date: 28/01/04 7:31 $
; $Revision: 5 $
;
; Test le 2004/01/28
;
; AutoCAD 2005 us ok
; AutoCAD 2004 fr ok
; AutoCAD 2002 fr ok
;
;http://www.didier-lourdelle.fr/
;
;E-mail :dlourdelle@didier-lourdelle.fr
;
;Vous êtes libres de diffuser ce gratuiciel
;
; **************************
; ***c'est même conseillé***
; **************************
;
;Vous êtes libres de diffuser ce gratuiciel
;
;
; Modification d'epaisseur de line, polyligne, cercle anneaux en une seule manipulation
;
(defun dl_ini_mem_ch_epl ()
(setq cmde (getvar "cmdecho"))
(setvar "cmdecho" 0)
(setq osmode (getvar "osmode"))
(setvar "osmode" 0)
(command "_undo" "_m")
);defun dl_ini_mem_break
(defun dl_ini_rest_ch_epl ( / )
(setvar "cmdecho" cmde)
(setvar "osmode" osmode)
(setq cmde nil osmode nil)
);defun dl_ini_rest_break
;;
;;
;;
(defun dl_select1_ch_epl ( / js i lent ent typent rayon centre calque flagLigneArc)
(prompt "\nEntrez la nouvelle epaisseur ") (princ (getvar "PLINEWID")) (prompt " :")
(setq ep (getreal ))
(if ep
(setvar "PLINEWID" ep)
(setq ep (getvar "PLINEWID"))
)
(prompt "\nChoisissez vos polylignes,arc,anneaux,ellispses,lignes,cercle :")
(setq js (ssget))
(setq i 0)
(prompt "\nConvertion des cercles en ARC")
(repeat (sslength js)
(setq ent (ssname js i))
(setq lent (entget ent))
(setq typent (cdr (assoc 0 lent)))
(if (null
(or
(= typent "ARC")
(= typent "LINE")
(= typent "POLYLINE")
(= typent "LWPOLYLINE")
(= typent "CIRCLE")
);or
);null
(setq i (1+ i))
(cond
((= typent "ARC")
(progn
(setq flagLigneArc T)
(setq i (1+ i))
)
)
((= typent "LINE")
(progn
(setq flagLigneArc T)
(setq i (1+ i))
)
)
((= typent "CIRCLE")
(progn
(setq rayon (cdr (assoc '40 lent)))
(setq centre (cdr (assoc '10 lent)))
(setq calque (cdr (assoc '8 lent)))
(entdel ent)
(command "_pline"
(list
(- (car centre) rayon)
(cadr centre)
(caddr centre)
)
"_a" "_r" rayon "_a" "180" "0"
"_cl"
)
(command "_change" (entlast) "" "_pr" "_la" calque "")
(setq i (1+ i))
)
)
);cond
);if
);repeat
(if (= flagLigneArc T)
(command "_pedit" "_m" js "" "_y" "_w" ep "")
(command "_pedit" "_m" js "" "_w" ep "")
)
)
;;
;;
;;
(Defun c:CH_EPL ( / )
;;Dans un SCU particulier le cercle s'efface,
;;Se place provisoirement dans le SCG -
(command "cmdecho" 0)
(command ".scu" "NOM" "SU" "CH_EPL");efface le SCU particulier CH_EPL si il existe déja dans le dessin
(command ".scu" "NOM" "SA" "CH_EPL" );sauve le SCU particulier en CH_EPL
(command ".scu" "G")
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(dl_ini_mem_ch_epl)
(dl_select1_ch_epl)
(dl_ini_rest_ch_epl)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;Revient dans le SCU précédent
(command ".scu" "NOM" "R" "CH_EPL" )
(command "cmdecho" 1)
(princ)
)
Pour utiliser cette routine LISP :
- Charger le LISP : Tapez
APPLOADet Entrée. Naviguez jusqu’au fichier.lspet chargez-le. - Exécuter la commande : Tapez
CH_EPLet suivez les instructions :
- Le programme vous demande d’entrer la nouvelle épaisseur
- Sélectionnez les objets à traiter (lignes, arcs, polylignes, cercles, anneaux)
- La routine convertit automatiquement les cercles en polylignes et applique l’épaisseur à tous les objets sélectionnés
5. Fonctionnalités des applications verticales (Map 3D, Civil 3D, Covadis)
Si vous utilisez des versions spécialisées d’AutoCAD ou des modules complémentaires :
- AutoCAD Map 3D / Civil 3D : La commande
MAPCLEANoffre des options de conversion d’objets, y compris la transformation de cercles en polylignes. - Covadis : Ce module dispose de ses propres outils pour la conversion d’entités, souvent plus intuitifs pour les utilisateurs habitués.
En résumé, la commande CONTOUR est la méthode native la plus directe et recommandée pour convertir des cercles existants en polylignes afin de leur appliquer une épaisseur. Pour des besoins d’automatisation ou de traitement en masse, la routine LISP CH_EPL est un outil précieux qui combine conversion et application d’épaisseur en une seule manipulation.