pelloux Posté(e) le 13 janvier 2012 Posté(e) le 13 janvier 2012 Bonsoir Si le passage d'un système de coordonnées Lambert 1 nord vers le Lambert 93 ne pose aucun problème, les fenêtres de présentation elles ne suivent pas. On peut importer le gabarit de la présentation du fichier de base sans problème mais une fois importé, il n'y a rien dans le viewport. Ce qui est normal puisque les données ont changé d'emplacement. Y a t'il un moyen autre que manuel, pour bouger le contenu des données à la fois dans l'onglet objet et dans la fenêtre de présentation ? Par avance merci. PH PELLOUX
lili2006 Posté(e) le 14 janvier 2012 Posté(e) le 14 janvier 2012 Bonjour à toutes et tous, OUI ! Avec les ATLAS de Map,...(Et/ou ensuite les jeux de feuilles de AutoCAD) Civil 3D 2025 - COVADIS_18.3c https://www.linkedin...3%ABt-95313341/
pelloux Posté(e) le 16 janvier 2012 Auteur Posté(e) le 16 janvier 2012 Salut Lili Merci pour ta réponse. J'en ai entendu parlé mais sans jamais avoir regardé comment ça marche et encore moins en testant cet ensemble de commandes. Je regarde ça. @+ PH PELLOUX
lecrabe Posté(e) le 16 janvier 2012 Posté(e) le 16 janvier 2012 Hello En fait il faut avoir un vecteur de deplacement car a l'interieur d'une fenetre dans les presentations/mises en page, je pense que tu n'es pas a 1/2 metre(s) pres !? C'est facile de dessiner une ligne qui represente le vecteur Centre du projet L1N vers le meme centre du projet en L93 CC49 par exemple Cette ligne (ou fichier Script avec le vecteur de deplacement) represente en fait le PAN que tu dois realiser dans chaque fenetre pour re-centrer la fenetre en L93 CC49 Je crois avoir vu passer un Lisp/VLisp qui faisait automatiquement ce fameux PAN dans toutes les fenetres de toutes les presentations !? A chercher ... Le Decapode (lecrabe) Autodesk Expert Elite Team
pelloux Posté(e) le 16 janvier 2012 Auteur Posté(e) le 16 janvier 2012 Bonjour Attention il ne s'agit pas d'un simple déplacement. Il faut que le vecteur concernant le PAN, dont tu parles se voient appliqués le même algorythme de transformation de systèmes de coordonnées que les objets. Es-tu d'accord ? PHP
lecrabe Posté(e) le 16 janvier 2012 Posté(e) le 16 janvier 2012 Hello NON pour moi un simple PAN avec le bon vecteur de deplacement est suffisant ! Je manipule tous les jours des dessins de SIG / Cartographie / Cadastre / VRD / etc et je ne suis pas a 1/2/3 metre(s) pres a l'interieur des fenetres dans les presentations !? Mais bon, ton besoin est peut etre different ? Le Decapode (lecrabe) SVP tu essayes l'excellent programme AUTOPAN suivant de notre irremplacable Gilles >>> ;;; AUTOPAN par GC - 2009/06;;; Effectue le panoramique spécfié par deux points ou un déplacement;;; dans toutes les fenêtres des présentations sélectionnées (defun c:autopan (/ *error* p1 p2 acdoc layouts ctab vplst vp lock) (vl-load-com) (defun *error* (msg) (or (= msg "Fonction annulée") (princ (strcat "\nErreur: " msg)) ) (and ctab (vla-put-ActiveLayout acdoc ctab)) (princ) ) (setq acdoc (vla-get-ActiveDocument (vlax-get-acad-object))) (while (null (setq p1 (getpoint "\nSpécifiez le point de base ou dépalcement: " ) ) ) (princ "\nNécessite deux points ou un déplacement suivi de ENTREE." ) ) (if (null (setq p2 (getpoint "\nSpécifiez le deuxième point: " ) ) ) (setq p2 p1) (setq p2 (mapcar '- p2 p1)) ) (setq layouts (vla-get-Layouts acdoc) ctab (vla-get-ActiveLayout acdoc) ) (foreach l (getlayouts "Présentations à traiter" T) (setq vplst nil) (vlax-for obj (vla-get-Block (vla-item layouts l)) (if (= (vla-get-ObjectName obj) "AcDbViewport") (setq vplst (cons obj vplst)) ) ) (while (cdr vplst) (setq vp (car vplst) vplst (cdr vplst) lock nil ) (if (= (vla-get-DisplayLocked vp) :vlax-true) (progn (vla-put-DisplayLocked vp :vlax-false) (setq lock T) ) ) (vla-put-ActiveLayout acdoc (vla-item layouts l)) (vla-put-MSpace acdoc :vlax-true) (vla-put-ActivePViewport acdoc vp) (vla-put-Target vp (vlax-3d-point (mapcar '- (vlax-safearray->list (vlax-variant-value (vla-get-Target vp)) ) p2 ) ) ) (vla-put-MSpace acdoc :vlax-false) (if lock (vla-put-DisplayLocked vp :vlax-true) ) ) ) (vla-put-ActiveLayout acdoc ctab) (princ)) ;; GETLAYOUTS par GC - 03/12/07;; Retourne la liste des présentations choisies dans la boite de dialogue;;;; arguments;; titre : titre de la boite de dialogue ou nil, défauts = Choisir la (ou les) présentation(s);; mult : T ou nil (pour choix multiple ou unique) (defun GetLayouts (titre mult / lay tmp file ret) (setq lay (vl-sort (layoutlist) (function (lambda (x1 x2) ( (TabOrder x2) ) ) ) ) tmp (vl-filename-mktemp "tmp.dcl") file (open tmp "w") ) (write-line (strcat "GetLayouts:dialog{label=" (if titre (vl-prin1-to-string titre) (if mult "\"Choisir les présentations\"" "\"Choisir une présentation\"" ) ) ";:list_box{key=\"lst\";multiple_select=" (if mult "true;}:row{:retirement_button{label=\"Toutes\";key=\"all\";} ok_button;cancel_button;}}" "false;}ok_cancel;}" ) ) file ) (close file) (setq dcl_id (load_dialog tmp)) (if (not (new_dialog "GetLayouts" dcl_id)) (exit) ) (start_list "lst") (mapcar 'add_list lay) (end_list) (action_tile "all" "(setq ret (reverse lay)) (done_dialog)") (action_tile "accept" "(or (= (get_tile \"lst\") \"\") (foreach n (str2lst (get_tile \"lst\") \" \") (setq ret (cons (nth (atoi n) lay) ret)))) (done_dialog)" ) (start_dialog) (unload_dialog dcl_id) (vl-file-delete tmp) (reverse ret)) Autodesk Expert Elite Team
pelloux Posté(e) le 16 janvier 2012 Auteur Posté(e) le 16 janvier 2012 Merci le crabe J'essaye et tiens la communauté au courant. J'avoue que la transformation par lot de fichiers dwg d'un système de coordonnées à un autre n'est pas forcément des plus faciles. Ce que je veux avant tout c'est que ce soit le plus transparent possible pour l'utilisateur final (dessinateur/projeteur) et que me concernant, toutes ces opérations soient le plus automatisées possibles. @+ PH PELLOUX
pelloux Posté(e) le 16 janvier 2012 Auteur Posté(e) le 16 janvier 2012 A l'application d'Autopan j'ai ce message : Commande: AUTOPANSpécifiez le point de base ou dépalcement:Spécifiez le deuxième point:Erreur: no function definition: STR2LSTCommande: Pour info : Je suis dans ma fenêtre de présentation sur l'onglet fenêtre de présentation et je clique successivement à chaque extremité de ma zone d'intérêt. Une idée ? PHP
fabcad Posté(e) le 17 janvier 2012 Posté(e) le 17 janvier 2012 Bonjour, La fonction AUTOPAN fait appel à une sous-fonction de manipulation de liste/string STR2LS, il faudrait rajouter après la dernière parenthèse ou à la première ligne comme ci-dessous : ;; STR2LST ;; Transforme un chaine avec séparateur en liste de chaines ;; ;; Arguments ;; str : la chaine à transformer en liste ;; sep : le séparateur ;; ;; Exemples ;; (str2lst "a b c" " ") -> ("a" "b" "c") ;; (str2lst "1,2,3" ",") -> ("1" "2" "3") ;; (mapcar 'read (str2lst "1,2,3" ",")) -> (1 2 3) (defun str2lst (str sep / pos) (if (setq pos (vl-string-search sep str)) (cons (substr str 1 pos) (str2lst (substr str (+ (strlen sep) pos 1)) sep) ) (list str) ) ) ;;; AUTOPAN par GC - 2009/06 ;;; Effectue le panoramique spécfié par deux points ou un déplacement ;;; dans toutes les fenêtres des présentations sélectionnées (defun c:autopan (/ *error* p1 p2 acdoc layouts ctab vplst vp lock) (vl-load-com) (defun *error* (msg) (or (= msg "Fonction annulée") (princ (strcat "\nErreur: " msg)) ) (and ctab (vla-put-ActiveLayout acdoc ctab)) (princ) ) (setq acdoc (vla-get-ActiveDocument (vlax-get-acad-object))) (while (null (setq p1 (getpoint "\nSpécifiez le point de base ou dépalcement: " ) ) ) (princ "\nNécessite deux points ou un déplacement suivi de ENTREE." ) ) (if (null (setq p2 (getpoint "\nSpécifiez le deuxième point: " ) ) ) (setq p2 p1) (setq p2 (mapcar '- p2 p1)) ) (setq layouts (vla-get-Layouts acdoc) ctab (vla-get-ActiveLayout acdoc) ) (foreach l (getlayouts "Présentations à traiter" T) (setq vplst nil) (vlax-for obj (vla-get-Block (vla-item layouts l)) (if (= (vla-get-ObjectName obj) "AcDbViewport") (setq vplst (cons obj vplst)) ) ) (while (cdr vplst) (setq vp (car vplst) vplst (cdr vplst) lock nil ) (if (= (vla-get-DisplayLocked vp) :vlax-true) (progn (vla-put-DisplayLocked vp :vlax-false) (setq lock T) ) ) (vla-put-ActiveLayout acdoc (vla-item layouts l)) (vla-put-MSpace acdoc :vlax-true) (vla-put-ActivePViewport acdoc vp) (vla-put-Target vp (vlax-3d-point (mapcar '- (vlax-safearray->list (vlax-variant-value (vla-get-Target vp)) ) p2 ) ) ) (vla-put-MSpace acdoc :vlax-false) (if lock (vla-put-DisplayLocked vp :vlax-true) ) ) ) (vla-put-ActiveLayout acdoc ctab) (princ) ) ;; GETLAYOUTS par GC - 03/12/07 ;; Retourne la liste des présentations choisies dans la boite de dialogue ;; ;; arguments ;; titre : titre de la boite de dialogue ou nil, défauts = Choisir la (ou les) présentation(s) ;; mult : T ou nil (pour choix multiple ou unique) (defun GetLayouts (titre mult / lay tmp file ret) (setq lay (vl-sort (layoutlist) (function (lambda (x1 x2) (< (TabOrder x1) (TabOrder x2) ) ) ) ) tmp (vl-filename-mktemp "tmp.dcl") file (open tmp "w") ) (write-line (strcat "GetLayouts:dialog{label=" (if titre (vl-prin1-to-string titre) (if mult "\"Choisir les présentations\"" "\"Choisir une présentation\"" ) ) ";:list_box{key=\"lst\";multiple_select=" (if mult "true;}:row{:retirement_button{label=\"Toutes\";key=\"all\";} ok_button;cancel_button;}}" "false;}ok_cancel;}" ) ) file ) (close file) (setq dcl_id (load_dialog tmp)) (if (not (new_dialog "GetLayouts" dcl_id)) (exit) ) (start_list "lst") (mapcar 'add_list lay) (end_list) (action_tile "all" "(setq ret (reverse lay)) (done_dialog)") (action_tile "accept" "(or (= (get_tile \"lst\") \"\") (foreach n (str2lst (get_tile \"lst\") \" \") (setq ret (cons (nth (atoi n) lay) ret)))) (done_dialog)" ) (start_dialog) (unload_dialog dcl_id) (vl-file-delete tmp) (reverse ret) )
pelloux Posté(e) le 17 janvier 2012 Auteur Posté(e) le 17 janvier 2012 Salut Lili Merci pour ta réponse. J'en ai entendu parlé mais sans jamais avoir regardé comment ça marche et encore moins en testant cet ensemble de commandes. Je regarde ça. -> J'ai testé les Atlas pour la première fois hier (avec les conseils avisés de fabcad que je remercie) mais cela comporte trop de paramétrage pour être automatisé facilement. Il faudrait vraiment qu'Autodesk puisse nous fournir un jeu de commandes gérant ce genre de problème. @+ PHP
lili2006 Posté(e) le 17 janvier 2012 Posté(e) le 17 janvier 2012 Bonjour à toutes et tous, mais cela comporte trop de paramétrage pour être automatisé facilement. ben non, pourquoi ? Comme pour tout, un bon gabarit et puis roule par la suite,... 5 secondes pour mettre les cadres sur l'EO et la présentation est ok ! Avec un carroyage dynamique qui plus est, royal!! (voire mieux que covadis,..). Civil 3D 2025 - COVADIS_18.3c https://www.linkedin...3%ABt-95313341/
fabcad Posté(e) le 17 janvier 2012 Posté(e) le 17 janvier 2012 Apres un test avec autocad map 2007, il manquerais la sous-fonction TabOrder. Voici le code avec TabOrder de Gile ;; TabOrder (gile) ;; Retourne le numéro d'ordre de la présentation ;; ;; Argument : le nom de la présentation (chaîne) ;; ;; Retour : le numéro d'ordre de la présentation (entier) (defun TabOrder (name / dict lay) (setq dict (dictsearch (namedobjdict) "ACAD_LAYOUT")) (if (setq lay (cdr (assoc 350 (member (cons 3 name) dict)))) (cdr (assoc 71 (entget lay))) ) ) ;; STR2LST ;; Transforme un chaine avec séparateur en liste de chaines ;; ;; Arguments ;; str : la chaine à transformer en liste ;; sep : le séparateur ;; ;; Exemples ;; (str2lst "a b c" " ") -> ("a" "b" "c") ;; (str2lst "1,2,3" ",") -> ("1" "2" "3") ;; (mapcar 'read (str2lst "1,2,3" ",")) -> (1 2 3) (defun str2lst (str sep / pos) (if (setq pos (vl-string-search sep str)) (cons (substr str 1 pos) (str2lst (substr str (+ (strlen sep) pos 1)) sep) ) (list str) ) ) ;;; AUTOPAN par GC - 2009/06 ;;; Effectue le panoramique spécfié par deux points ou un déplacement ;;; dans toutes les fenêtres des présentations sélectionnées (defun c:autopan (/ *error* p1 p2 acdoc layouts ctab vplst vp lock) (vl-load-com) (defun *error* (msg) (or (= msg "Fonction annulée") (princ (strcat "\nErreur: " msg)) ) (and ctab (vla-put-ActiveLayout acdoc ctab)) (princ) ) (setq acdoc (vla-get-ActiveDocument (vlax-get-acad-object))) (while (null (setq p1 (getpoint "\nSpécifiez le point de base ou dépalcement: " ) ) ) (princ "\nNécessite deux points ou un déplacement suivi de ENTREE." ) ) (if (null (setq p2 (getpoint "\nSpécifiez le deuxième point: " ) ) ) (setq p2 p1) (setq p2 (mapcar '- p2 p1)) ) (setq layouts (vla-get-Layouts acdoc) ctab (vla-get-ActiveLayout acdoc) ) (foreach l (getlayouts "Présentations à traiter" T) (setq vplst nil) (vlax-for obj (vla-get-Block (vla-item layouts l)) (if (= (vla-get-ObjectName obj) "AcDbViewport") (setq vplst (cons obj vplst)) ) ) (while (cdr vplst) (setq vp (car vplst) vplst (cdr vplst) lock nil ) (if (= (vla-get-DisplayLocked vp) :vlax-true) (progn (vla-put-DisplayLocked vp :vlax-false) (setq lock T) ) ) (vla-put-ActiveLayout acdoc (vla-item layouts l)) (vla-put-MSpace acdoc :vlax-true) (vla-put-ActivePViewport acdoc vp) (vla-put-Target vp (vlax-3d-point (mapcar '- (vlax-safearray->list (vlax-variant-value (vla-get-Target vp)) ) p2 ) ) ) (vla-put-MSpace acdoc :vlax-false) (if lock (vla-put-DisplayLocked vp :vlax-true) ) ) ) (vla-put-ActiveLayout acdoc ctab) (princ) ) ;; GETLAYOUTS par GC - 03/12/07 ;; Retourne la liste des présentations choisies dans la boite de dialogue ;; ;; arguments ;; titre : titre de la boite de dialogue ou nil, défauts = Choisir la (ou les) présentation(s) ;; mult : T ou nil (pour choix multiple ou unique) (defun GetLayouts (titre mult / lay tmp file ret) (setq lay (vl-sort (layoutlist) (function (lambda (x1 x2) (< (TabOrder x1) (TabOrder x2) ) ) ) ) tmp (vl-filename-mktemp "tmp.dcl") file (open tmp "w") ) (write-line (strcat "GetLayouts:dialog{label=" (if titre (vl-prin1-to-string titre) (if mult "\"Choisir les présentations\"" "\"Choisir une présentation\"" ) ) ";:list_box{key=\"lst\";multiple_select=" (if mult "true;}:row{:retirement_button{label=\"Toutes\";key=\"all\";} ok_button;cancel_button;}}" "false;}ok_cancel;}" ) ) file ) (close file) (setq dcl_id (load_dialog tmp)) (if (not (new_dialog "GetLayouts" dcl_id)) (exit) ) (start_list "lst") (mapcar 'add_list lay) (end_list) (action_tile "all" "(setq ret (reverse lay)) (done_dialog)") (action_tile "accept" "(or (= (get_tile \"lst\") \"\") (foreach n (str2lst (get_tile \"lst\") \" \") (setq ret (cons (nth (atoi n) lay) ret)))) (done_dialog)" ) (start_dialog) (unload_dialog dcl_id) (vl-file-delete tmp) (reverse ret) )
pelloux Posté(e) le 19 janvier 2012 Auteur Posté(e) le 19 janvier 2012 Bonsoir J'ai fait le point avec fabcad en off et nous pensons qu'il n'y a pas de solutions simples autre qu'en passant par le lisp. J'ouvre donc un nouveau sujet de discussion sur le forum LISP concernant le même sujet. Merci encore pour vos contributions. PHP
lili2006 Posté(e) le 19 janvier 2012 Posté(e) le 19 janvier 2012 Bonsoir à toutes et tous, Dommage pourtant de ne pas se servir de la fonction native "MAP" faite pour,... Et en plus tu ne bénéficie plus du carroyage dynamique,..Très pratique (pour ne pas dire indispensable !) quant tu déplaces une vue dans une fenêtre,... Civil 3D 2025 - COVADIS_18.3c https://www.linkedin...3%ABt-95313341/
lili2006 Posté(e) le 25 janvier 2012 Posté(e) le 25 janvier 2012 Bonjour à toutes et tous, Sur le gabarit des Atlas, est-il possible de définir une vue autre que dans le SCG de l'espace objet ? On dirait bien que non,... Merci d'avance, Civil 3D 2025 - COVADIS_18.3c https://www.linkedin...3%ABt-95313341/
fabcad Posté(e) le 25 janvier 2012 Posté(e) le 25 janvier 2012 Bonjour à toutes et tous, Sur le gabarit des Atlas, j'ai essayé aussi mais sans résultat même en jouant sur un scu dans le gabarit.AutoDESK joue un peu la sourde oreille sur cet outil, il y aussi l'impossibilité d'utiliser des fenêtres polygonales. A bientôt,
lili2006 Posté(e) le 25 janvier 2012 Posté(e) le 25 janvier 2012 Re, Merci FabCAD, Mêmes remarques pour moi ! Impossible même en faisant joujou avec les SCU,...:angry: Je continu de chercher,... Civil 3D 2025 - COVADIS_18.3c https://www.linkedin...3%ABt-95313341/
lili2006 Posté(e) le 25 janvier 2012 Posté(e) le 25 janvier 2012 Re, Pas mieux que changer de format ! Bof,:huh: Civil 3D 2025 - COVADIS_18.3c https://www.linkedin...3%ABt-95313341/
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