hiridimah Posté(e) le 26 janvier 2021 Posté(e) le 26 janvier 2021 Comment détacher une image dans plusieurs fichiers DWG automatiquement à l'aide d'un script ou LISP???
Curlygoth Posté(e) le 27 janvier 2021 Posté(e) le 27 janvier 2021 vba possible ? 1 Mon site Web (en cours de construction) : Site DA-CODE de @didier
lecrabe Posté(e) le 27 janvier 2021 Posté(e) le 27 janvier 2021 Hello A priori le Script est tres simple ! Commande: -XREFEntrez une option [?/Lier/déTacher/Chemin/TYpechemin/Décharger/Recharger/Superposer/Attacher] : TEntrez le(s) nom(s) de Xref à détacher: ENTCADRE Puis re-enregistrer puis ouvrir le DWG suivant ... LA SANTE, Bye, lecrabe 1 Autodesk Expert Elite Team
hiridimah Posté(e) le 27 janvier 2021 Auteur Posté(e) le 27 janvier 2021 je veux détacher une image dans plusieurs fichiers DWG automatiquement sans ouvrir les fichiers un par un
Aleck_Ultimate Posté(e) le 28 janvier 2021 Posté(e) le 28 janvier 2021 Nous l'avons bien compris. Ici Lecrabe parle autant de la procédure à suivre manuellement que de l'algorythme à suivre pour le coder. Le fait est que, sauf exception mais ce n'est pas le cas ici, si c'est faisable manuellement en ligne de commande c'est bien plus facile à coder. Non pas que ce soit dans mes compétence pour autant. Je suis dysorthographique alors lâchez-moi les basques avec ça, je fait déjà de mon mieux. Membre d'Extinction Rebellion, car pour sauver le monde il n'est jamais trop tard, amour et rage ! Pour écrire un vraie point médian (e·x·e·m·p·l·e) [Alt + 0183] ou ajout d'un raccourci clavier personnalisé (ex. [AltGr + ;]) Utilisateur d'AutoCAD 2021 sous Windows 10
Olivier Eckmann Posté(e) le 28 janvier 2021 Posté(e) le 28 janvier 2021 Bonjour, Avec un script du genre _-IMAGE _D NOM_DE_L_IMAGE_A_DETACHER Puis Superautoscript pour traiter tout un ensemble de fichier DWG Olivier 1
hiridimah Posté(e) le 28 janvier 2021 Auteur Posté(e) le 28 janvier 2021 merci mais j'ai pas arrive de télécharger Superautoscript vs pouvez m'aider merci.
hiridimah Posté(e) le 28 janvier 2021 Auteur Posté(e) le 28 janvier 2021 merci Olivier Eckmann si bon
Fraid Posté(e) le 29 janvier 2021 Posté(e) le 29 janvier 2021 Bonjour, Effectivement, en Lisp ce n'est pas facilesi on ne veut pas ouvrir les dessins, ObjetDBX et VLA oblige.Donc pour détacher les images des dessins contenus dans un dossier (vl-load-com) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defun c:dtimg (/ axdoc lf dir) (if (setq dir (getdir) lf (vl-directory-files dir "*.dwg" 1)) (foreach f lf (vlax-for obj (vla-get-modelspace (setq axdoc (getaxdbdoc (strcat dir f)))) (if (= (vla-get-objectname obj) "AcDbRasterImage") (vla-delete (vla-item (vla-item (vla-get-dictionaries axdoc ) "ACAD_IMAGE_DICT") (vla-get-name obj) ) ) ) ) (vla-saveas axdoc (strcat dir f)) (vlax-release-object axdoc) ) ) (princ) ) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defun getdir( / shell rep) (setq shell (vlax-create-object "Shell.Application") rep (vlax-invoke shell 'browseforfolder 0 "Sélectionnez le dossier" 512 "") ) (vlax-release-object shell) (strcat (vlax-get-property (vlax-get-property rep 'self) 'path) "\\") ) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defun getaxdbdoc (filename / axdbdoc release) (setq axdbdoc (vlax-create-object (if (< (setq release (atoi (getvar "ACADVER"))) 16) "ObjectDBX.AxDbDocument" (strcat "ObjectDBX.AxDbDocument." (itoa release)) ) ) ) (if (vl-catch-all-apply 'vla-open (list axdbdoc filename)) (not (vlax-release-object axdbdoc)) axdbdoc ) ) Étrangement, la méthode vla-detach ne concerne pas les imageset je n'ai pas réussi à utiliser vla-remove pourtant prévue pour effacer les entrées dans un dictionnaire. Cela détache les images dans l'espace objet.ATTENTION, pas de retour en arrière possible. https://github.com/Fraiddd
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant