# Comment créer un fichier Excel avec la liste des centres de gravité d'une sélection de solides

**URL:** https://dessein-tech.com/t/comment-creer-un-fichier-excel-avec-la-liste-des-centres-de-gravite-dune-selection-de-solides/10092
**Category:** AutoLISP
**Tags:** lisp, programmation, ia
**Created:** 2026-03-13T20:01:53Z
**Posts:** 1

## Post 1 by @Patrick — 2026-03-13T20:01:54Z

Bonjour, récemment a été posée [une question sur les forums AutoCAD Autodesk](https://forums.autodesk.com/t5/autocad-tous-produits-forum/automatisation-lisp-de-la-commande-propmeca/td-p/14053428) de génération d’une petite routine Lisp extrêmement simple qui consiste à sélectionner des 3DSOLID puis à exporter leur centre de gravité dans un fichier Excel.

 ![autocad-autolisp-ai-ia-3dsolid](https://dessein-tech.com/uploads/default/original/2X/2/295c7ce9c2fdbcdb7eeb98ca1f3dab73b2fa1dd5.jpeg)

C’est typiquement la chose qui prend environ une minute à générer avec [l’assistant AutoCAD expert IA de Dessein-Tech](https://dessein-tech.com/t/lassistant-expert-autocad-ia-pro-est-disponible/9335).

```
(defun c:EXPORTSOLID (/ ss i ename vla-obj centroid file path)
  (vl-load-com)
  (princ "\nSélectionnez les solides 3D à exporter...")
  
  ;; 1. Sélection filtrée sur les objets 3DSOLID
  (if (setq ss (ssget '((0 . "3DSOLID"))))
    (progn
      ;; 2. Demande de l'emplacement du fichier
      (setq path (getfiled "Enregistrer l'export Excel" "Export_Centres_Gravite.csv" "csv" 1))
      (if path
        (progn
          (setq file (open path "w"))
          ;; En-tête du fichier CSV (Séparateur ;)
          (write-line "Nom;Centre X;Centre Y;Centre Z" file)
          
          (setq i 0)
          (repeat (sslength ss)
            (setq ename (ssname ss i))
            (setq vla-obj (vlax-ename->vla-object ename))
            
            ;; 3. Extraction du centre de gravité (Centroid)
            (setq centroid (vlax-safearray->list (vlax-variant-value (vla-get-centroid vla-obj))))
            
            ;; 4. Écriture de la ligne avec conversion du point en virgule pour Excel FR
            (write-line 
              (strcat 
                "Solide_" (itoa (1+ i)) ";"
                (vl-string-translate "." "," (rtos (car centroid) 2 4)) ";"
                (vl-string-translate "." "," (rtos (cadr centroid) 2 4)) ";"
                (vl-string-translate "." "," (rtos (caddr centroid) 2 4))
              )
              file
            )
            (setq i (1+ i))
          )
          (close file)
          (princ (strcat "\nSuccès : " (itoa i) " solides exportés vers " path))
        )
        (princ "\nOpération annulée : aucun fichier créé.")
      )
    )
    (princ "\nErreur : Aucun objet 3DSOLID n'a été sélectionné.")
  )
  (princ)
)
```

[EXPORTSOLID.lsp](/uploads/short-url/8OpVigYMNRb54BHCXZ9FaZXqxoH.lsp) (1,7 Ko)
