Olivier_CEA_Grenoble Posté(e) le 10 novembre 2022 Posté(e) le 10 novembre 2022 Bonjour a tous, C'est avec plaisir que je revient sur ce forum, pour mes dernier jours de travail. ...Ma fin d'activité pro est fixé au 01/01/20223 🤪... 01/01/2022🤭 Ceci dit il me reste tout de même quelque points a solutionné avant de nouvelles aventures. Nous avons mis en place un outil de publications vers notre GED de fichiers issue d'AutoCAD qui fait le calcul a la volé de mise en page. Cela a été traiter par une entreprise externe et nous avons du mal a en faire modifié le code. Cela fonctionne très bien SAUF quand un fichier a un cadre de présentations avec des coordonnées négative et nous avons pléthore de fichiers historique dans ce cas Mon souhait et de pouvoir récupéré les coordonnées BG pour savoir si celles si sont en négatif. Au quel cas je ferais le déplacement de l'ensemble vers le point 0,0. Je joint un fichier exemple Si quelqu'un a des tuyaux sur cette récupération ou des bride de lisp... Bonne journée a tous Olivier Exemple.dwg
vincentp010 Posté(e) le 10 novembre 2022 Posté(e) le 10 novembre 2022 Salut, Bon courage pour tes 18201 années restantes 🤣 Ce post pourrait intéresser https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/get-min-max-coordinates-of-a-set-of-lines/m-p/4675461/highlight/true#M317507 Aide au téléchargement du cadastre dgfip-download-helper Insertion de photos géolocalisées exif https://www.dropbox.com/s/gkf6o9ac2hxen97/exifscr.zip?dl=0 Script correction BUG SPDC V2, propriétaire département 21 et 22 : https://greasyfork.org/scripts/442400-spdcv2/code/SPDCV2.user.js
Olivier_CEA_Grenoble Posté(e) le 10 novembre 2022 Auteur Posté(e) le 10 novembre 2022 il y a 45 minutes, vincentp010 a dit : Salut, Bon courage pour tes 18201 années restantes 🤣 Ce post pourrait intéresser https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/get-min-max-coordinates-of-a-set-of-lines/m-p/4675461/highlight/true#M317507 ça va être long 🤣
Olivier_CEA_Grenoble Posté(e) le 10 novembre 2022 Auteur Posté(e) le 10 novembre 2022 Merci Vincentp010, ceci dit ça ne répond pas trop a mon problème, je ressort des points bien plus distant qu'en réalité! Dans les fait ça ne ce préoccupe que de ce qui est en Objet
didier Posté(e) le 10 novembre 2022 Posté(e) le 10 novembre 2022 Bonjour @Olivier_CEA_Grenoble Si je comprends bien : Il faut passer en revue tous les onglets de présentation et sortir une liste de toutes les coordonnées minimales en X et en Y. C'est ça ? Amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
Olivier_CEA_Grenoble Posté(e) le 14 novembre 2022 Auteur Posté(e) le 14 novembre 2022 Bonjour didier , c'est exactement cela, pour ce qui est de passer en revue chaque présentation ce n'est pas un Pb (je fais ça couramment pour les publications) mais c'est surtout la récupération de ces points négatif. Olivier
vincentp010 Posté(e) le 14 novembre 2022 Posté(e) le 14 novembre 2022 Tu as les variables EXTMIN et EXTMAX qui marchent pour chaque présentations (getvar "extmin") (-285.681 -191.564 0.0) (getvar "extmax") (178.971 147.761 0.0) Aide au téléchargement du cadastre dgfip-download-helper Insertion de photos géolocalisées exif https://www.dropbox.com/s/gkf6o9ac2hxen97/exifscr.zip?dl=0 Script correction BUG SPDC V2, propriétaire département 21 et 22 : https://greasyfork.org/scripts/442400-spdcv2/code/SPDCV2.user.js
didier Posté(e) le 14 novembre 2022 Posté(e) le 14 novembre 2022 Bonjour @Olivier_CEA_Grenoble Les angles d'une VIEWPORT ne sont pas mémorisés dans un champ de liste de définition d'entité Je donne des pistes de recherches : Tester avec EXTMIN et EXTMAX Calculer le point bas gauche en soustrayant la moitié de la longueur et la moitié de la hauteur des coordonnées du centre de la VIEWPORT respectivement codes 40 pour longueur, 41 pour hauteur et 10 pour le centre Je ne sais pas si tu veux un truc tout fait ou une piste de recherche, tu dis savoir faire donc j'opte pour la piste de recherche. Amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
Olivier_CEA_Grenoble Posté(e) le 14 novembre 2022 Auteur Posté(e) le 14 novembre 2022 Il y a 1 heure, vincentp010 a dit : Tu as les variables EXTMIN et EXTMAX qui marchent pour chaque présentations (getvar "extmin") (-285.681 -191.564 0.0) (getvar "extmax") (178.971 147.761 0.0) Il me semble que ces deux variables ne sont valides que pour ce qui est en espace papier?
Olivier_CEA_Grenoble Posté(e) le 14 novembre 2022 Auteur Posté(e) le 14 novembre 2022 il y a une heure, didier a dit : Bonjour @Olivier_CEA_Grenoble Les angles d'une VIEWPORT ne sont pas mémorisés dans un champ de liste de définition d'entité Je donne des pistes de recherches : Tester avec EXTMIN et EXTMAX Calculer le point bas gauche en soustrayant la moitié de la longueur et la moitié de la hauteur des coordonnées du centre de la VIEWPORT respectivement codes 40 pour longueur, 41 pour hauteur et 10 pour le centre Je ne sais pas si tu veux un truc tout fait ou une piste de recherche, tu dis savoir faire donc j'opte pour la piste de recherche. Amicalement Didier, ce n'est pas un problème de fenêtre mais un problème d'emplacement des éléments dessiner dans les présentations. Je pense partir vers la variables LIMMIN des mise en page en les forçant sur un mode étendue. Cela positionne la mise en page automatiquement sur le point bas gauche de tous ce qui est dessiner en présentations (Cadre, cartouche, annotations...) J'en retire la plus petite coordonnées et si elle est négative je fait le déplacement de l'ensemble des éléments. Le code pour une valeur négative des coordonnées de limmin: (minusp (min (nth 0 (getvar "limmin"))(nth 1 (getvar "limmin"))))) Olivier
lecrabe Posté(e) le 14 novembre 2022 Posté(e) le 14 novembre 2022 Hello Oliver ?? Au fait as tu bien recu mon message dans TA messagerie Pro ?? Sinon voici une routine "F_Emprise" de Bruno / Bonuscad mais qui "deconne" un peu ! Elle tente de tracer un rectangle dans l 'Onglet OBJET correspondant a CHAQUE Fenetre FMULT de TOUTES les Presentations / Layouts : -- A CORRIGER / AMELIORER -- Bye, lecrabe ;; ;; Routine: F_Emprise par Bruno - 10/2016 ;; ;; A lancer DANS une Fenetre FMULT des Presentations/Layouts ;; ;; Cela cree dans l'Onglet Objet un Rectangle (Polyligne) ;; + MTexte (Nom de la Presentation) en bas a gauche ;; montrant l'Emprise de la Fenetre FMULT ... ;; ;; ----------------------------------------------- ;; Cela semble PLUS ou MOINS Bien fonctionner !? ;; ----------------------------------------------- ;; (defun c:F_Emprise ( / el js n ent dxf_ent pt_v l h lst_pt js_obj) (vl-load-com) (foreach el (layoutlist) (setvar "CTAB" el) (setq js (ssget "_X" (list '(0 . "VIEWPORT") '(67 . 1) (cons 410 el) '(-4 . "!=") '(69 . 1) ) ) ) (repeat (setq n (sslength js)) (setq js_obj nil pt_v (cdr (assoc 10 (setq dxf_ent (entget (setq ent (ssname js (setq n (1- n)))))))) l (cdr (assoc 40 dxf_ent)) h (cdr (assoc 41 dxf_ent)) lst_pt (list (list (- (car pt_v) (* 0.5 l)) (- (cadr pt_v) (* 0.5 h)) 0.0) (list (+ (car pt_v) (* 0.5 l)) (- (cadr pt_v) (* 0.5 h)) 0.0) (list (+ (car pt_v) (* 0.5 l)) (+ (cadr pt_v) (* 0.5 h)) 0.0) (list (- (car pt_v) (* 0.5 l)) (+ (cadr pt_v) (* 0.5 h)) 0.0) ) js_obj (ssadd) ) (entmakex (vl-list* (cons 0 "LWPOLYLINE") (cons 100 "AcDbEntity") (cons 67 1) (cons 100 "AcDbPolyline") (cons 90 (length lst_pt)) (cons 70 1) (mapcar '(lambda (p) (cons 10 p)) lst_pt) ) ) (ssadd (entlast) js_obj) (entmake (list '(0 . "MTEXT") '(100 . "AcDbEntity") '(67 . 1) (cons 410 el) (cons 8 (getvar "CLAYER")) '(100 . "AcDbMText") (cons 10 (car lst_pt)) '(40 . 3.5) '(41 . 0.0) '(46 . 0.0) '(71 . 7) '(72 . 5) (cons 1 (strcat "{\\fArial|b0|i0|c0|p34;" el)) '(7 . "Standard") '(210 0.0 0.0 1.0) '(11 1.0 0.0 0.0) '(50 . 0.0) '(73 . 1) '(44 . 1.0) ) ) (ssadd (entlast) js_obj) (command "_.CHSPACE" js_obj "" ) ) ) (prin1) ) Autodesk Expert Elite Team
lecrabe Posté(e) le 14 novembre 2022 Posté(e) le 14 novembre 2022 Hello Voir ci-avant la routine VLisp ... -- A CORRIGER / AMELIORER SVP -- Coucou @bonuscad @didier @(gile) etc Merci, Bye, lecrabe Autodesk Expert Elite Team
bonuscad Posté(e) le 14 novembre 2022 Posté(e) le 14 novembre 2022 Suite un autre développement, j'avais décelé un "couak" dans la ligne: (command "_.CHSPACE" js_obj "" ) il faudrait essayer de tester en changeant avec ceci: (command "_.CHSPACE" js_obj "" (if (> (cdr (assoc 69 dxf_ent)) 2) "")) Citation Bruno / Bonuscad mais qui "deconne" un peu ! J'ai failli croire que c'était moi! 😅 1 Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
didier Posté(e) le 14 novembre 2022 Posté(e) le 14 novembre 2022 @Olivier_CEA_Grenoble "Ce n'est pas un problème de fenêtre, mais un problème d'emplacement des éléments dessinés dans les présentations. " ??????? Éternel débutant... Mon site perso : Programmer dans AutoCAD
lecrabe Posté(e) le 14 novembre 2022 Posté(e) le 14 novembre 2022 Hello @bonuscad 1) MERCI ta Modif est OK ! 2) Sinon je plane comme @didier Bonne soiree, Bye, lecrabe Autodesk Expert Elite Team
Olivier_CEA_Grenoble Posté(e) le 15 novembre 2022 Auteur Posté(e) le 15 novembre 2022 @didier Effectivement je cherche l'encombrement minimum de tous éléments dessiner dans l'espace papier pour chaque présentations pour savoir si l'une des coordonnées est négatives. Si c'est le cas je ferais le déplacement de tout les objet présent dans la présentation vers le point 0,0 afin que les script de publication mis en place ne plante plus. Olivier
Olivier_CEA_Grenoble Posté(e) le 15 novembre 2022 Auteur Posté(e) le 15 novembre 2022 @lecrabe Je ne reçois pas les notifications sur ma boite pro, certainement un filtrage en amont 💥 Je ne comprend pas ce que je peut retiré de ton lisp? Je viens de le lancer a l'instant (avec les corrections de @bonuscad) ça fait effectivement ce qui est annoncé mais ce n'est pas ce que je cherche. Merci de vos retours.
didier Posté(e) le 15 novembre 2022 Posté(e) le 15 novembre 2022 Bonjour @Olivier_CEA_Grenoble Quel est le rapport entre les coordonnées des entités dans l'espace objet et les coordonnées de la viewport ? A priori aucun rapport, c'est pourquoi je suis curieux de savoir ce que ça signifie dans cette demande. Amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
Olivier_CEA_Grenoble Posté(e) le 16 novembre 2022 Auteur Posté(e) le 16 novembre 2022 Bonjour @didier Il n'en existe aucun, et ma recherche est sur les coordonnées mini des objets d'une présentations pas les coordonnées de la viewport. Je vais regarder du côté des définitions de zoom étendue si je peut récupérer des coordonnées. Merci Olivier
Olivier_CEA_Grenoble Posté(e) le 16 novembre 2022 Auteur Posté(e) le 16 novembre 2022 Bon, Je reviens sur ce que j'ai dits la variable extmin est directement exploitable dans ma problématique !!! Milles excuses a @vincentp010 et a @didier J'ai donc fait ceci: (if (/= (minusp (min (nth 0 (getvar "EXTMIN"))(nth 1 (getvar "EXTMIN")))) nil) (progn (command "_move" "tout" "" (strcat (rtos(nth 0 (getvar "EXTMIN"))) "," (rtos(nth 1 (getvar "EXTMIN")))) "0,0") ) ) Merci a tous et bonne continuation Pro
didier Posté(e) le 16 novembre 2022 Posté(e) le 16 novembre 2022 Coucou @Olivier_CEA_Grenoble Pourquoi déplacer les entités, ce qui est une hérésie au sens AutoCAD au lieu de déplacer le cadre de la fmult ? C'est l'antithèse de la notion espace papier/ espace objet ! Amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
vincentp010 Posté(e) le 16 novembre 2022 Posté(e) le 16 novembre 2022 @didier C'est les entités de l'espace papier qui sont déplacés pas celle de l'objet Aide au téléchargement du cadastre dgfip-download-helper Insertion de photos géolocalisées exif https://www.dropbox.com/s/gkf6o9ac2hxen97/exifscr.zip?dl=0 Script correction BUG SPDC V2, propriétaire département 21 et 22 : https://greasyfork.org/scripts/442400-spdcv2/code/SPDCV2.user.js
didier Posté(e) le 16 novembre 2022 Posté(e) le 16 novembre 2022 J'avais mal compris, pardon. On est d'accord qu'il ne faut pas déplacer les entités en Espace Objet. Amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
JMBZ38 Posté(e) le 21 novembre 2022 Posté(e) le 21 novembre 2022 Bonjour, pourquoi ne pas faire l'hypothèse, que les mises en page de tous vos fichiers sont en coordonnées négatives ? Si vous avez un cartouche en bloc avec un 0,0 en bas à gauche, déplacer l'ensemble des éléments du 0,0 du cartouche vers le 0,0 général. Dans le cas de coordonnées négatives le déplacement s'effectue réellement, sinon les objets restent à leur place. En espérant vous aider,
Olivier_CEA_Grenoble Posté(e) le 21 novembre 2022 Auteur Posté(e) le 21 novembre 2022 Bonjour @JMBZ38 Effectivement on peut considéré que l'ensemble des présentations on un EXTmin / max négatif mais ce n'est pas utile de les republier si les fichiers sont valide. Merci de ta réponse.
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