Hello
Here are two small programs in AutoLISP :
AP3D_ExportGuid_3D to export GUID codes of 3D objects
AP3D_ExportGuid_P&ID to export GUID codes of P&ID objects
These two commands are grouped together in the "AP3D_ExportPnpGuid.LSP" file.
Note: no error handling has been added to the program.
A screencast shows you the process
https://autode.sk/3yykbfe
== French ==
Voici deux petits programmes en AutoLISP
AP3D_ExportGuid_3D pour exporter les codes GUID des objets 3D
AP3D_ExportGuid_P&ID pour exporter les codes GUID des objets P&ID
Ces deux commandes sont regroupées dans le fichier "AP3D_ExportGuid.LSP"
Note : il n'a pas été ajouté dans le programme une gestion d'erreur.
Un screencast vous montre le processus
https://autode.sk/3yykbfe
Source
;;; ============================================
;;; AP3D_ExportPnPGuid
;;; Dominique VAQUAND 12.03.2023
;;; www.dovaq.fr
;;; ============================================
; =======================
; Export PnpGuid pour la partie 3D
; ============================
(defun c:AP3D_ExportGUID_3D ( / SelectionObjet index Objet NomFichier Fichier)
(vl-load-com)
; sélection avec filtres sur les objets 3D Plant, exclus les annotations iso
; les objets XREF ne sont pas sélectionnés
(setq SelectionObjet (ssget (list (cons 0 "ACPPPIPE,ACPPPIPEINLINEASSET,ACPPSUPPORT,ACPPEQUIPMENT"))))
(if SelectionObjet
(progn
; Nom du fichier au format CSV Excel
(setq NomFichier (getfiled "Fichier export" "" "csv" 1))
(setq Fichier (open NomFichier "w"))
(setq index 0)
(repeat (sslength SelectionObjet)
(setq Objet (vlax-ename->vla-object (ssname SelectionObjet index)))
; affichage des données sur l'écran texte
(princ (strcat "\nObjet => GUID_3D : " (vlax-get-property Objet "PnPClassName") " | PnpGuid : " (vlax-get-property Objet "PnPGuid")))
; écriture des données dans le fichier CSV
(princ (strcat (vlax-get-property Objet "PnPClassName") ";" (vlax-get-property Objet "PnPGuid") "\n") Fichier)
(setq index (1+ index))
); repeat
(close fichier)
) ;progn
); if
(princ)
)
;===============================
; Export PnpGuid pour la partie P&ID
; ==============================
(defun c:AP3D_ExportGUID_P&ID ( / SelectionObjet index Objet NomFichier Fichier)
(vl-load-com)
; Sélection des objets avec filtres sr les objets P&ID Plant
(setq SelectionObjet (ssget (list (cons 0 "SLINE,ACPPASSET"))))
(if SelectionObjet
(progn
; Nom du fichier d'export
(setq NomFichier (getfiled "Fichier export" "" "csv" 1))
(setq Fichier (open NomFichier "w"))
(setq index 0)
(repeat (sslength SelectionObjet)
(setq Objet (vlax-ename->vla-object (ssname SelectionObjet index)))
; Affichage des données dans l'écran texte
(princ (strcat "\nObjet => GUID_P&ID : " (vlax-get-property Objet "Description") " | PnpGuid : " (vlax-get-property Objet "PnPGuid")))
; écriture des données dans le fichier au format CSV Excel
(princ (strcat (vlax-get-property Objet "Description") ";" (vlax-get-property Objet "PnPGuid") "\n") Fichier)
(setq index (1+ index))
); repeat
(close fichier)
) ;progn
); if
Cordialement
Dominique VAQUAND
www.dovaq.fr
Cette publication vous a-t-elle été utile ? N’hésitez pas à attribuer la mention J’aime à cette publication.
Avez-vous obtenu la réponse à votre question ? Cliquez ensuite sur le bouton ACCEPTER LA SOLUTION.
