Ouvrir un fichier DWG avec espaces dans le chemin via LISP (AutoCAD)

J’essaie d’écrire une routine LISP pour ouvrir un fichier DWG dont le chemin d’accès contient des espaces, mais ma méthode actuelle ouvre une nouvelle instance d’AutoCAD. Comment puis-je ouvrir ce fichier dans l’instance AutoCAD en cours ?

Pour ouvrir un fichier DWG avec des espaces dans son chemin d’accès directement dans l’instance AutoCAD courante, il faut utiliser les fonctions Visual LISP (VLA) qui interagissent avec l’API ActiveX d’AutoCAD.

Voici la procédure détaillée :

  1. Charger les fonctions VLA: Assurez-vous que les composants ActiveX sont disponibles en exécutant (vla-load-com). Cette étape est cruciale pour manipuler les objets COM d’AutoCAD.
  2. Obtenir l’objet application AutoCAD: Récupérez l’objet principal de l’application AutoCAD en cours avec (vlax-get-acad-object).
  3. Accéder au gestionnaire de documents: Obtenez la collection de documents gérés par l’instance AutoCAD via (vla-get-documents <objet_application_acad>). Stockez ce gestionnaire dans une variable, par exemple doc_manager.
  4. Ouvrir le fichier DWG: Utilisez la méthode (vla-open doc_manager "Chemin complet du fichier.dwg") pour ouvrir le fichier. Les fonctions VLA gèrent nativement les espaces dans les chemins de fichiers, éliminant le besoin de guillemets supplémentaires ou d’échappement.

Exemple de code LISP (par Olivier Eckmann) :

(vla-load-com)
(setq doc_manager (vla-get-documents (vlax-get-acad-object)))
(vla-open doc_manager "C:\\Mon Dossier Avec Espaces\\Mon Fichier Projet.dwg")

Cette approche garantit que le fichier s’ouvre dans la session AutoCAD active, sans lancer une nouvelle instance du logiciel.