Comment gérer l’historique des solides 3D dans AutoCAD pour optimiser les performances, résoudre les problèmes d’affichage des composants historiques et faciliter les modifications ultérieures, notamment après des opérations booléennes ou d’extrusion ?
L’historique des solides 3D dans AutoCAD est une fonctionnalité puissante mais qui peut s’avérer complexe à gérer en termes de performances et de fiabilité. Voici une démarche experte pour comprendre et maîtriser cette fonctionnalité :
-
Comprendre le rôle de l’historique des solides (SOLIDHIST)
- Principe : Lorsque la variable système
SOLIDHISTest définie sur1(par défaut), AutoCAD enregistre les objets sources utilisés pour créer un solide composite (par exemple, lors d’opérations booléennes comme l’union, la soustraction ou l’intersection). Cela permet de revenir sur ces opérations et de modifier les objets sources. - Accès : Pour accéder aux composants historiques, utilisez le filtre de sélection des sous-objets (clic droit sur le solide > Filtre de sélection des sous-objets > Historique des solides) ou maintenez
Ctrlenfoncé et cliquez sur le solide pour sélectionner les sous-objets (comme les primitives ayant servi à la soustraction). - Impact : Conserver l’historique augmente la taille du fichier DWG et peut dégrader les performances, surtout sur des modèles 3D complexes.
- Principe : Lorsque la variable système
-
Diagnostiquer et résoudre le comportement aléatoire
- Cause principale : Le comportement « aléatoire » où les composants historiques apparaissent et disparaissent rapidement est souvent lié à la complexité du modèle, aux ressources système (carte graphique, RAM) et à la précision de la sélection. AutoCAD a du mal à afficher et maintenir la sélection des sous-objets dans un environnement surchargé.
- Optimisation : Réduisez la complexité visuelle (désactivez les ombres, passez en mode filaire 2D ou conceptuel simple) pour améliorer la réactivité.
-
Gestion de l’historique via les variables système
-
SOLIDHIST:1(Activé) : L’historique des solides est enregistré. Permet de modifier les composants sources.0(Désactivé) : L’historique n’est pas enregistré. Le solide est « allégé », ce qui réduit la taille du fichier et améliore les performances. Les filtres de sélection des sous-objets restent accessibles pour les faces, arêtes et sommets, mais pas pour les objets sources des opérations booléennes.
-
DELOBJ:0: Les objets sources des opérations booléennes sont conservés dans le dessin (souvent sur un calque caché ou gelé). Cela permet une réversibilité manuelle, même sans historique de solide, mais augmente la taille du fichier.1(Par défaut) : Les objets sources sont supprimés après l’opération booléenne siSOLIDHISTest à0. SiSOLIDHISTest à1, les objets sources sont conservés dans l’historique du solide.
-
Recommandation : Pour des modèles très complexes ou si la réactivité est primordiale, il est souvent préférable de définir
SOLIDHISTà0etDELOBJà1pour éviter l’encombrement. Si la réversibilité est cruciale, utilisezSOLIDHISTà1ouDELOBJà0en gérant manuellement les objets sources (voir point 4.2).
-
-
Stratégies de travail et bonnes pratiques
- Modification des composants historiques : Si l’historique est actif, vous pouvez utiliser
Ctrl+clicpour sélectionner un composant source (par exemple, le cylindre ayant servi à percer un trou) et le déplacer ou le redimensionner directement. Cela mettra à jour le solide composite. - Conservation des objets sources (alternative à l’historique) : Pour une meilleure maîtrise et des performances stables, une bonne pratique consiste à copier les objets 3D sources (cylindres, boîtes, etc.) sur place avant d’effectuer une opération booléenne. Ces copies peuvent être déplacées sur un calque dédié (
_SOURCES_3D) qui sera ensuite gelé ou désactivé. En cas de modification, il suffit de dégeler le calque, de modifier l’objet source, puis de refaire l’opération booléenne. - Sauvegarde incrémentale : Pour garantir une réversibilité à chaque étape majeure de la modélisation, adoptez une routine de sauvegarde incrémentale. Le LISP suivant, par exemple, permet de sauvegarder le fichier en incrémentant un numéro à la fin du nom (ex:
mon_plan_01.dwg→mon_plan_02.dwg) :
Chargez ce LISP et tapez(defun filename-1+ (/ fullname basename root index newindex) (setq fullname (getvar "dwgname")) (setq basename (substr fullname 1 (- (strlen fullname) 4))) (setq root (vl-string-right-trim "0123456789" basename)) (setq index (substr basename (1+ (strlen root)))) (setq newindex (1+ (atoi index))) (setq newindex (if (< newindex 10) (strcat "0" (itoa newindex)) (itoa newindex) ) ) (strcat (getvar "dwgprefix") root newindex ".dwg") ) (defun c:+1 () (command "_saveas" "" (filename-1+)) (princ) )+1dans la ligne de commande pour l’exécuter. N’oubliez pas de sauvegarder votre travail (Ctrl+S) avant d’utiliser+1pour ne pas perdre les dernières modifications. - Limitations : Certaines opérations, comme l’extrusion directe d’une face d’un solide composite, peuvent casser l’historique du solide, le transformant en un solide « simple » sans possibilité de revenir sur les opérations booléennes précédentes. Soyez vigilant avec ces manipulations.
- Modification des composants historiques : Si l’historique est actif, vous pouvez utiliser
En résumé, l’historique des solides est utile pour des modifications mineures et rapides sur des modèles peu complexes. Pour des projets d’envergure ou nécessitant une grande flexibilité, privilégiez des méthodes de travail robustes comme la conservation des objets sources et la sauvegarde incrémentale.