lecrabe Posté(e) le 6 décembre 2016 Partager Posté(e) le 6 décembre 2016 Hello SORRY mais je suis "très" demandeur ce soir !Je pensais avoir mais à priori je n'ai pas ?! Soit N images insérées dans un DWG... Svp je désire dessiner les N rectangles des N emprises de chaque image insérée PLUS au centre le nom complet de l'image (ou fichier) concernée... D'abord, est ce possible ? En fait ce que l'on voit quand AutoCAD ne peut pas "atteindre" les Images ! Le Top: poser une question... Que voulez vous traiter: Images, DWG, DGN, PDF, DWF, TOUS !!! Mais je ne sais pas si peut récupérer la Bounding Box d'une XREF manquante (dwg, image, pdf, etc) ?! Le Top du Top: question "que le nom+extension" ou chemin COMPLET + Nom + Extension ... Merci, Bye, lecrabe Autodesk Expert Elite Team Lien vers le commentaire Partager sur d’autres sites More sharing options...
lecrabe Posté(e) le 14 décembre 2016 Auteur Partager Posté(e) le 14 décembre 2016 Hello Un petit UP ?! Merci, Bye, lecrabe Autodesk Expert Elite Team Lien vers le commentaire Partager sur d’autres sites More sharing options...
fabcad Posté(e) le 14 décembre 2016 Partager Posté(e) le 14 décembre 2016 Bonsoir Patrick, Voici une routine pour noter le nom des images. (defun c:ecrire_nom_d_images (/ js_images space mtxt nbr i acad_image_en_cours) (vl-load-com) (setq viewsize (getvar "VIEWSIZE")) (or *acad* (setq *acad* (vlax-get-acad-object))) (or *acdoc* (setq *acdoc* (vla-get-ActiveDocument *acad*))) (setq recnum 0) (setq js_images (ssget '((0 . "IMAGE")))) (if js_images (progn (setq space (if (= 1 (getvar 'cvport)) (vla-get-PaperSpace *acdoc*) (vla-get-ModelSpace *acdoc*) ) ) (setq nbr (sslength js_images)) (setq i 0) (while (<= i (- nbr 1)) (setq acad_image_en_cours (ssname js_images i)) (setq vla_image_en_cours (vlax-ename->vla-object acad_image_en_cours)) (setq calque_image (vla-get-Layer vla_image_en_cours)) (setq pt_origine (cdr (assoc 10 (entget acad_image_en_cours)))) (setq hauteur_image (vla-get-ImageHeight vla_image_en_cours)) (setq largeur_image (vla-get-ImageWidth vla_image_en_cours)) (setq new_x (+ (nth 0 pt_origine) (/ largeur_image 2))) (setq new_y (+ (nth 1 pt_origine) (/ hauteur_image 2))) (setq new_z 0.0) (setq pt_centroide (list new_x new_y new_z ) ) (setq nom_fichier_image (vla-get-Name vla_image_en_cours)) ;(setq nom_fichier_image_complet (vla-get-ImageFile vla_image_en_cours)) ;(setq nom_fichier_image (vl-filename-base nom_fichier_image_complet)) ;(command "point" pt_centroide) (setq obj_mtxt (vla-addMText space (vlax-3d-point pt_centroide) 0. nom_fichier_image );fin vla-addMText );fin setq obj_mtxt (vla-put-AttachmentPoint obj_mtxt acAttachmentPointMiddleCenter) (vla-put-InsertionPoint obj_mtxt (vlax-3d-point pt_centroide)) (vla-put-Height obj_mtxt (/ hauteur_image 10.0)) (vla-put-Layer obj_mtxt calque_image) (setq i (+ i 1)) ); fin while );fin 1er progn ); fin if (princ) );fin defun ecrire_nom_d_images Bonne soirée, Fabcad Le Rennais Métropolitain Lien vers le commentaire Partager sur d’autres sites More sharing options...
bonuscad Posté(e) le 15 décembre 2016 Partager Posté(e) le 15 décembre 2016 Bonjour, Je ne vais pas répondre directement à ton besoin, mais te proposer une autre solution que j'utilise.Avec les routines suivantes je peut attacher des images géo-référencées sans me soucier de trouver le nom exact.Il suffit que je survole la zone (dans le système géo-référencé) et il m'affiche le nom de l'image concernée, je n'ai plus qu'a cliquer pour attacher l'image correspondante.Je l'ai fait pour le SCAN25 et la BD-ORTHO.Bien sur il faudra adapter les chemins réseau et les préfixes des images (celle fournies de fonctionnent que pour mon département) Si tu as besoin de plus éclaircissement...? (defun trunc_scan (xr / ia) (setq ia (itoa (fix (/ xr 10000.0)))) (strcat (cond ((< (strlen ia) 3) "0") ((< (strlen ia) 2) "00") (T "") ) (strcat ia "0") ) ) (defun c:SCAN25 ( / ent_text dxf_ent key img_name folder) ; (setvar "LIMCHECK" 0) ; (setvar "LIMMIN" '(760000.0 6345000.0)) ; (setvar "LIMMAX" '(855000.0 6485000.0)) (setq ent_text (entmakex (list (cons 0 "MTEXT") (cons 100 "AcDbEntity") (cons 100 "AcDbMText") (cons 1 "") (cons 10 (trans (getvar "VIEWCTR") 0 1)) (cons 40 (/ (getvar "VIEWSIZE") 75.0)); (cons 50 (- 0 (getvar "VIEWTWIST"))) (cons 62 250) (cons 71 7) (cons 72 5) (cons 90 1) (cons 63 255) (cons 45 1.5) ) ) dxf_ent (entget ent_text) ) (while (and (setq key (grread T 4 0)) (/= (car key) 3)) (cond ((eq (car key) 5) (setq img_name (strcat "SC25_TOUR_" (trunc_scan (caadr key)) "_" (itoa (+ (atoi (trunc_scan (cadadr key))) 10)) "_L93.tif") dxf_ent (subst (cons 10 (trans (cadr key) 1 0)) (assoc 10 dxf_ent) dxf_ent) dxf_ent (subst (cons 1 (strcat "{\\fArial;" img_name "}" )) (assoc 1 dxf_ent) dxf_ent) dxf_ent (subst (cons 40 (/ (getvar "VIEWSIZE") 75.0)) (assoc 40 dxf_ent) dxf_ent) ) (entmod dxf_ent) ) ) ) (cond ((eq (car key) 3) (entdel ent_text) (setq folder "K:\\4-SCAN\\1-SCAN25\\SC25_TOUR_TIF_LAMB93_DEP07\\") (if (findfile (strcat folder img_name)) (progn (princ (strcat "\nCharge l'image: " (strcat folder img_name))) (setvar "FILEDIA" 0) (setvar "CMDECHO" 0) (command "_MAPIINSERT" (strcat folder img_name) "_no") (sssetfirst nil (ssget "_L")) (ai_draworder "_back") (setvar "FILEDIA" 1) (setvar "CMDECHO" 1) ) (princ (strcat "\nL'image " img_name " est introuvable!")) ) ) ) (prin1) ) (defun trunc_ortho (xr / ia) (setq ia (itoa (fix (/ xr 10000.0)))) (strcat (cond ((< (strlen ia) 3) "0") ((< (strlen ia) 2) "00") (T "") ) (if (> (- (fix (/ xr 1000)) (* 10 (fix (/ xr 10000)))) 4) (strcat ia "5") (strcat ia "0") ) ) ) (defun c:BD_ORTHO ( / );(ent_text dxf_ent key img_name folder) ; (setvar "LIMCHECK" 0) ; (setvar "LIMMIN" '(760000.0 6345000.0)) ; (setvar "LIMMAX" '(855000.0 6485000.0)) (setq ent_text (entmakex (list (cons 0 "MTEXT") (cons 100 "AcDbEntity") (cons 100 "AcDbMText") (cons 1 "") (cons 10 (trans (getvar "VIEWCTR") 0 1)) (cons 40 (/ (getvar "VIEWSIZE") 75.0)); (cons 50 (- 0 (getvar "VIEWTWIST"))) (cons 62 250) (cons 71 7) (cons 72 5) (cons 90 1) (cons 63 255) (cons 45 1.5) ) ) dxf_ent (entget ent_text) ) (while (and (setq key (grread T 4 0)) (/= (car key) 3)) (cond ((eq (car key) 5) (setq img_name (strcat "07-2014-" (trunc_ortho (caadr key)) "-" (itoa (+ (atoi (trunc_ortho (cadadr key))) 5)) "-LA93-0M50.ecw") dxf_ent (subst (cons 10 (trans (cadr key) 1 0)) (assoc 10 dxf_ent) dxf_ent) dxf_ent (subst (cons 1 (strcat "{\\fArial;" img_name "}" )) (assoc 1 dxf_ent) dxf_ent) dxf_ent (subst (cons 40 (/ (getvar "VIEWSIZE") 75.0)) (assoc 40 dxf_ent) dxf_ent) ) (entmod dxf_ent) ) ) ) (cond ((eq (car key) 3) (entdel ent_text) (setq folder "K:\\1-BDORTHO\\ORTHO-2014\\BDO_RVB_0M50_ECW_LAMB93_D07-2014\\") (if (findfile (strcat folder img_name)) (progn (princ (strcat "\nCharge l'image: " (strcat folder img_name))) (setvar "FILEDIA" 0) (setvar "CMDECHO" 0) (command "_MAPIINSERT" (strcat folder img_name) "_no") (sssetfirst nil (ssget "_L")) (ai_draworder "_back") (setvar "FILEDIA" 1) (setvar "CMDECHO" 1) ) (princ (strcat "\nL'image " img_name " est introuvable!")) ) ) ) (prin1) ) Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius Lien vers le commentaire Partager sur d’autres sites More sharing options...
lecrabe Posté(e) le 16 décembre 2016 Auteur Partager Posté(e) le 16 décembre 2016 Hello Fabrice + Bruno Fabrice: IMPEC ta routine, j'ai fait une Micro-Modifet en ajoutant une routine Bounding_Box de Gilles, j'ai tout ce que je desirais ! Bruno: Interessant aussi tes routines mais differents ! MERCI (Fabrice + Bruno + Gilles), Bonnes Fetes et surtout LA SANTE, bye, lecrabe Autodesk Expert Elite Team Lien vers le commentaire Partager sur d’autres sites More sharing options...
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