Aller au contenu

xRef relatif<->absolu


Messages recommandés

Posté(e)

J'ai entre 4 et 50 chemin a modifier par ficher en moyenne a modifier, Sur certain ficher sa peut monter à 1000 chemin

c'est pour sa que je cherche un lisp.

Rémi

Bien cordialement

 

Rem3131

Posté(e)

Je veut transformer les chemin enregistré des Xref en absolu avec un Lisp sans à avoir a les sélectionner.

juste avec une commande car des orto-images comme ce fichier j'en est une dizaine au minimum pour un petit chantier.

1566803563-presse-papiers-1.jpg

Bien cordialement

 

Rem3131

Posté(e)

Je m'initie dans cette conversation sans être sur de ce que je vais dire.

MAIS, Didier, si je regarde bien la capture d'écran fournie par rem3131, il n'y a pas de fichier DWG en référence externe, mais des images.

En tout cas, elle ne montre que des images. Donc si pas de DWG, cela ne fonctionne pas.

 

Et la solution de Lilian ne semble pas fonctionner également.

 

Pour moi, avec ma version 2018, il faut sélectionner toutes les images dans la palette, puis bouton droit, et "Changer de type de chemin d’accès".

www.cad-is.fr
Autocad Map 2021 - Covadis/Autopiste V18.0c
Pisser sous la douche ne suffira pas
Posté(e)

j'ai essayé.

 

Commande:

-XREF

Entrez une option [?/Lier/déTacher/Chemin/TYpechemin/Décharger/Recharger/Superposer/Attacher] <Attacher>: ty

Entrez le(s) nom(s) de Xréf pour modifier le type de chemin d'accès: r

Pas de nom de Xréf correspondant trouvé.

Commande:

-XREF

Entrez une option [?/Lier/déTacher/Chemin/TYpechemin/Décharger/Recharger/Superposer/Attacher] <Attacher>: ty

Entrez le(s) nom(s) de Xréf pour modifier le type de chemin d'accès: *r

Pas de nom de Xréf correspondant trouvé.

Commande:

-XREF

Entrez une option [?/Lier/déTacher/Chemin/TYpechemin/Décharger/Recharger/Superposer/Attacher] <Attacher>: *Annuler*

Commande: *Annuler*

Commande:

-XREF

Entrez une option [?/Lier/déTacher/Chemin/TYpechemin/Décharger/Recharger/Superposer/Attacher] <Attacher>: ty

Entrez le(s) nom(s) de Xréf pour modifier le type de chemin d'accès: *

Pas de nom de Xréf correspondant trouvé.

Bien cordialement

 

Rem3131

Posté(e)

Coucou

 

Merci La Lozère d'avoir apporté ton grain de sel pour agrémenter la recette

Il manquait ce renseignement dans la question, certes on le voit dans les images mais on n'est que bénévoles, faut pas nous poser des pièges, quand j'ai lu XREF j'ai compris XREF, s'il avait été question explicitement d'IMAGE je pense que j'aurais compris IMAGES.

 

Pour répondre, malheureusement je n'ai pas trouvé de raccourci clavier en ligne de commande par contre c'est pas trop de boulot d'utiliser les options de chemin...

Bien sûr il faut sélectionner toutes les images avant de cliquer sur l'option...

 

Images :

 

mw78.png

 

6uk0.png

 

Amicalement

 

Posté(e)

Je m'initie dans cette conversation sans être sur de ce que je vais dire.

MAIS, Didier, si je regarde bien la capture d'écran fournie par rem3131, il n'y a pas de fichier DWG en référence externe, mais des images.

En tout cas, elle ne montre que des images. Donc si pas de DWG, cela ne fonctionne pas.

 

Et la solution de Lilian ne semble pas fonctionner également.

 

Pour moi, avec ma version 2018, il faut sélectionner toutes les images dans la palette, puis bouton droit, et "Changer de type de chemin d’accès".

 

C'est bien cela La Lozère

 

je cherche un lisp pour automatiser cette méthode.

Bien cordialement

 

Rem3131

Posté(e)

Coucou

comment ça : pas adapté ?

Oui car j’aimerai ne plus passer par des sélections pour gagner en temps et que cela soit moins rébarbatif.

en plus j'aimerai facilitée le processus pour mes autres collègues.

 

En gros je cherche à faire un truc très simple, une simple commande à lancer.

Bien cordialement

 

Rem3131

Posté(e)

Coucou

 

Je vois... trois clics c'est trop ?

Je te taquine car je conçois ce que tu demandes.

 

Amicalement

Ben quand ta 30 fichiers comme celui la à faire par chantier, tu cherche à être efficace.

Bien cordialement

 

Rem3131

Posté(e)

Bonjour,

 

pas de Lisp, mais du code .Net pour le faire : ICI

 

Olivier

 

Désolé mais je début dans le Lisp et la programmation je ne comprend pas le code.

Bien cordialement

 

Rem3131

  • 8 mois après...
Posté(e)

Salut,

 

voici un lisp avec une routine de Lee Mac pour remettre les chemins relatifs en absolu:

(defun c:fullxref ( / etat)
 
 (defun *error* (msg)
   (if (or (= msg "Fonction annulée")
    (= msg "quitter / sortir abandon")
    )
     (princ)
     (princ (strcat "\nErreur: " msg))
     )
   ) 
 (vl-load-com)  
 (vlax-for b (vla-get-blocks (vla-get-ActiveDocument (vlax-get-acad-object)))
   (if (and (= (vla-get-isxref B) :vlax-true) ;; bloc = xref
     (wcmatch (vla-get-path B) ".*") ;; chemin commence par . 
     )
     (progn
(setq etat (logand 32 (cdr (assoc 70 (tblsearch "block" (vla-get-name B)))))) ;;enregistre l'état de chargement
(if (findfile (LM:XRef:Relative->Full (vl-filename-directory (getvar 'dwgprefix)) (vla-get-path B))) ;;si chemin existe
  (progn
    (vla-put-path  b (LM:XRef:Relative->Full (vl-filename-directory (getvar 'dwgprefix)) (vla-get-path B)));; modifie le chemin de l'xref
    (vla-reload B) ;;recharge l'xref
    (if (/= etat 32) ;;si état différent de 32 (chargé)
      (vla-unload B) ;;décharger l'xref
      ) ;;fin de if
    ) ;;fin de progn
  ) ;;if findfile
) ;;progn
     ) ;;fin de if
   ) ;;fin de vlax
 
 (princ)
 )

;;-------------=={ Relative Path to Full Path }==-------------;;
;;                                                            ;;
;;  Converts a Relative XRef path to a Full Path.             ;;
;;------------------------------------------------------------;;
;;  Author: Lee Mac, Copyright © 2011 - www.lee-mac.com       ;;
;;------------------------------------------------------------;;
;;  Arguments:                                                ;;
;;  dir  - Directory of the Drawing in which the Xref resides ;;
;;  path - Relative Xref Path                                 ;;
;;------------------------------------------------------------;;
;;  Returns:  Full XRef Path                                  ;;
;;------------------------------------------------------------;;

(defun LM:XRef:Relative->Full ( dir path )
   (setq dir (vl-string-right-trim "\\" dir))
   (cond
       (   (eq ".." (substr path 1 2))
           (LM:XRef:Relative->Full
               (substr dir 1 (vl-string-position 92 dir nil t))
               (substr path 4)
           )
       )
       (   (eq "." (substr path 1 1))
           (strcat dir (substr path 2))
       )
       (   (strcat dir "\\" path))
   )
)

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité