lecrabe Posté(e) le 2 avril 2012 Posté(e) le 2 avril 2012 Hello Je desire obtenir un "gros" fichier Script de trace (de N fenetres) dans l'onglet Objet en changeant les coordonnees XY de la fenetre d'impression et le nom du PDF (ou DWF) genere (nom avec incrementation automatique) J'ai deja tout prepare en faisant un 1er trace Test a la main, donc en fait je change TRES PEU de choses pour chaque trace (dans l'onglet Objet) ... >>FILEDIA 0-TRACEURO F2130,26452220,2715 D:\CIVIL_Patrice_001 REDESS>> En fait j'ai besoin de 5 questions : Nombre de fenetres ? NCoordonnees coin bas gauche 1ere fenetre ? X1,Y1 Coordonnees coin haut droite 1ere fenetre ? X2,Y2 Deplacement horizontal entre chaque fenetre ? DELTAXDeplacement vertical entre chaque fenetre ? DELTAY D'ailleurs j'aurais toujours soit DELTAX=0 soit DELTAY=0 Ainsi le programme genererait des coordonnees XY qui se deplacent horizontalent ou verticalement ...suivant que toutes les fenetres a tracer sont horizontales ou verticales et le nombre de fenetres serait en plus utilise pour changer le nom du fichier .PDF (ou .DWF) genere automatiquement : D:\CIVIL_Trace_001, D:\CIVIL_Trace_002, D:\CIVIL_Trace_003, etc Je crois avoir deja vu sur Cadxp un programme ou utilitaire qui resolvait ce genre de choses !?mais je ne suis pas sur ...et je n'ai pas trop envie de m'embarquer dans un truc sous Excel sauf si j'y suis oblige !! A votre bon coeur, Merci d'avance, lecrabe Autodesk Expert Elite Team
lili2006 Posté(e) le 3 avril 2012 Posté(e) le 3 avril 2012 Bonjour à toutes et tous, Je crois avoir deja vu sur Cadxp un programme ou utilitaire qui resolvait ce genre de choses !? En effet, le très fameux Patrick_35 à déjà planché plusieurs fois sur le pb,... Mais, je ne sais pas retrouver le moindre post sur ce forum,...:blink: Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
Tramber Posté(e) le 3 avril 2012 Posté(e) le 3 avril 2012 Cher LeCrabe, je crois qu'un lisp de premier niveau (autolisp) te serait très utile.Pas compliqué, un pas vers l'automation.Je me penche sur une base si j'ai 2 minutes. Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
Tramber Posté(e) le 3 avril 2012 Posté(e) le 3 avril 2012 (defun c:PrCr () (setq nombase "Nom_presentation_") (initget 2 "X Y") (setq typeres(getkword (strcat"\nType de réseau X/Y <"(if typreshab "Y" "X")"> : "))) (setq typeres(or(= typeres "Y")(and(null typeres)typreshab))) (setq typreshab typeres); typreshab est un type habituel ! C'est un peu compliqué, non ? (cond(typeres; Y (initget (if deltay 0 1) ) (setq result(getdist (strcat"\nDistance de deltaX :"(cond(deltay (strcat"<"(rtos deltay 2 3)">"))(""))))) (cond((not result)deltay)((setq deltay result))) (setq deltax 0.0) ) (T; X (initget (if deltax 0 1) ) (setq result(getdist (strcat"\nDistance de deltaX :"(cond(deltax (strcat"<"(rtos deltax 2 3)">"))(""))))) (cond((not result)deltax)((setq deltax result))) (setq deltay 0.0) )) (initget 1) (setq pointbase(getpoint"\nPoint de base : ")) (initget 33) (setq point2(getcorner pointbase"\nCoin de fenêtre : ") compteur 1) (initget 7) (repeat(getint"\nNombre de fenêtres : ") ;| ICI ton COMMAND d'impression avec toutes les options nécessaires. genre (command "TRACEUR" "O" "" "" "" "" ..... "F" pointbase point2 ....) on peut aussi glisser un nom incrémenté directement en lisp dans le COMMAND = (strcat nombase (itoa compteur)) genre (command "TRACEUR" "O" "" (strcat nombase (itoa compteur)) "" "" ..... "F" pointbase point2 ....) |; ;;; maintenant on prépare les points suivants et le compteur pour le tour suivant dans la boucle REPEAT. (setq pointbase(list(+(car pointbase)deltax) (+(cadr pointbase)deltay) 0 ) point2(list(+(car point2)deltax) (+(cadr point2)deltay) 0 ) compteur(1+ compteur)) ) ) Pas beaucoup de temps mais un lisp écrit basique. Se lance par PRCR. Je n'ai pas regardé autour pour voir ce qu'il y avait mais je pense que, maitrisant le script, tu sauras renseigner le (command........).Ca pourrait marcher :P Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
lecrabe Posté(e) le 5 avril 2012 Auteur Posté(e) le 5 avril 2012 Hello Tramber (EastMan) Merci beaucoup de ton aide ! Je suis un peu "OUT" en ce moment et je vais essayer de tester ce WE de Paques ... Et bien sur je reviens vers toi des que possible (en tout bien tout honneur) ! decapodesquement votre serviteur, lecrabe Autodesk Expert Elite Team
Tramber Posté(e) le 5 avril 2012 Posté(e) le 5 avril 2012 Je veux pas te forcer la main mais il me semble que faire un petit peu de vieil Autolisp te permettrait éventuellement d'appréhender toi-même la résolution.Je serai là ce WE. Je prépare mon déménagement dans une commune voisine. Dans une semaine par contre, je risque fort d'être deconnecté pour qqes jours. Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
lecrabe Posté(e) le 5 avril 2012 Auteur Posté(e) le 5 avril 2012 Hello Bon j'ai teste et GRAND MERCI cela fonctionne ! Voici la ligne de code que j'ai mis au milieu de ta boucle : (command "TRACEUR" "O" "" "" "" "" "" "" "F" pointbase point2 "" "" "" "" "" "" (strcat nombase (itoa compteur)) "" "" ) (command "_REDRAW") Bon OK, un REDRAW est inutile mais j'aime bien ... Que la nuit te soit profitable, scriptement votre devoue decapode, lecrabe PS: cela fait 15 ans que j'ai arrete de developper - Oui je sais ce n'est pas bien ! Autodesk Expert Elite Team
Tramber Posté(e) le 5 avril 2012 Posté(e) le 5 avril 2012 PS: cela fait 15 ans que j'ai arrete de developper - Oui je sais ce n'est pas bien ! C'est justement le sujet ! Avec un Autolisp basique on peut aussi se satisfaire.C'est toi qui le mets au point avec ton bon vieux script, euhhh .... ton bon vieux (command ......) Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
Tramber Posté(e) le 9 avril 2012 Posté(e) le 9 avril 2012 (modifié) (defun c:PrCr () (setq nombase "Nom_presentation_") (initget "X Y") (if (setq typreshab (getkword (strcat "\nType de réseau [X/Y] <"(cond (typeres) ("X"))"> :"))) (setq typeres typreshab)) (cond((= typeres "Y"); ouf ! (initget (if deltay 0 1) ) (setq result(getdist (strcat"\nDistance de deltaX :"(cond(deltay (strcat"<"(rtos deltay 2 3)">"))(""))))) (cond((not result)deltay)((setq deltay result))) (setq deltax 0.0) ) (T; X (initget (if deltax 0 1) ) (setq result(getdist (strcat"\nDistance de deltaX :"(cond(deltax (strcat"<"(rtos deltax 2 3)">"))(""))))) (cond((not result)deltax)((setq deltax result))) (setq deltay 0.0) )) (initget 1) (setq pointbase(getpoint"\nPoint de base : ")) (initget 33) (setq point2(getcorner pointbase"\nCoin de fenêtre : ") compteur 1) (initget 7) (repeat(getint"\nNombre de fenêtres : ") (command "TRACEUR" "O" "" "" "" "" "" "" "F" pointbase point2 "" "" "" "" "" "" (strcat nombase (itoa compteur)) "" "" ) (command "_REDRAW") (setq pointbase(list(+(car pointbase)deltax) (+(cadr pointbase)deltay) 0 ) point2(list(+(car point2)deltax) (+(cadr point2)deltay) 0 ) compteur(1+ compteur)) ) ) Un certain qqe-chose-Bruno m'a suggéré une amélio dans la question introductive. Pour être honnête, j'ai écrit un peu n'importe quoi dans le premier paragraphe. Car on est aussi là pour s'amuser :P Modifié le 10 avril 2012 par Tramber typeres a changé de type ! Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
VDH-Bruno Posté(e) le 9 avril 2012 Posté(e) le 9 avril 2012 Bonsoir,(cond(= typeres "Y"); Y au lieu de (cond(typeres; Y Pour la dernière version ;) Amicalement, Apprendre => Prendre => Rendre
Tramber Posté(e) le 10 avril 2012 Posté(e) le 10 avril 2012 Et je dirais même plus : (cond((= typeres "Y") :P Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
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