Aller au contenu

Olivier_CEA_Grenoble

Membres
  • Compteur de contenus

    46
  • Inscription

  • Dernière visite

Tout ce qui a été posté par Olivier_CEA_Grenoble

  1. Du coup ça donne ça: (setq ListeOutLay (layoutlist)) (while (/= ListeOutLay nil) (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") ) ) (setq ListeOutLay (cdr ListeOutLay)) (command "zoom" "ET") ) Merci a tous et bonne continuation
  2. 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.
  3. 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
  4. 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
  5. @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.
  6. @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
  7. 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
  8. Il me semble que ces deux variables ne sont valides que pour ce qui est en espace papier?
  9. 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
  10. 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
  11. 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
  12. Bonjour Gégé, Effectivement l'alliance Profil environnement est bien mon Pb. Du coup j'ai recréer complétement ce profil et tout refonctionne normalement. Merci a tous
  13. Bonjour, Je me penche de nouveaux sur le Pb des opérateurs ayant besoins de plus de visibilité de leurs actions, j'aimerais pouvoir le rassuré. Aurriez vous des pistes? Olivier
  14. Bonjour LeCrabe, Tous les chemins sont Ok suivant Autodesk et les deux variable d'environnement sont a 1 Je penche sur le fait que les Profils AutoCAD et je vais tenté de les reprendre a zéro. Merci pour ta réponse
  15. Bonjour a tous, De retour sur ce forum avec une demande d'aide. Sous Autocad MAP 2018, après avoir défini un profil utilisateur particulier (/P c:/....) nous n'avons plus les boites de dialogues MAP pour la définitions des requêtes. Surement un chemin chemins manquant, mais impossible de trouvé lequel chez AutoDesk. Bonne journée Olivier
  16. Je m'approche et je m’accroche ;) Bien, Le PB est plus complexe qu'un simple trans. Si je veux la légende en HD, il me faut que x soit systématiquement positif et que le x 'extmax soit supérieur a x 'extmin du coup, je récupère le x de 'extmin (setq maxi (trans (getvar 'extmax)0 1) mini (trans (getvar 'extmin)0 1) ) (if (/= (minusp (car maxi)) T) (setq PTinsLegende maxi) (setq PTinsLegende (subst (car mini) (car maxi) maxi)) ) (if (> (car mini)(car maxi) nil ) (setq PTinsLegende (subst (car mini) (car maxi) maxi)) ) et que l'insertion ce face dans le scu nommé. Reste je pense un PB sur les scu nommés qui on un angle supérieur a 180°, ça doit inversé le processus! Merci bien a vous deux, J'avance, Ølivier Ca marche! Merci a vous, je vais pouvoir lancer la publication de quelques ~5800 fichiers sans manipulations fastidieuses. Merci Merci et Merci Ølivier
  17. J'ais mis le trans en application mais rien n'y fait! :-(livier
  18. Bonjour gile, Effectivement, le trans me parait de bonne aloi, bien que cela ne résolve pas mon pb de droite gauche. A près le trans, je vais tenter de mettre le x en valeur positive de façons systématique via minusp.. Je test! a de suite Ølivier Je patalle complètement grave :wacko: Le passage en positif ne donne bien sur rien du tout.
  19. Bonjour gil, Effectivement, le trans me parait de bonne aloi, bien que cela ne résolve pas mon pb de droite gauche. A près le trans, je vais tenter de mettre le x en valeur positive de façons systématique via minusp.. Je test! a de suite Ølivier
  20. Merci, je viens de tester et bien que les commandes VLA me paraisse puissante je suis loin du compte! :unsure: Je supose que LST_MAX est en fonction du SCG et non pas du SCU nommé. A+ Ølivier
  21. Bonjour a tous, Je séche :angry: D'habitude je trouve des solutions a mes problèmes,grâce a ce forum, mais là? Rien. :blink: Je suis en cour d'écriture d'une fonction qui me permette d'ajouter une légende automatique sur le point haut droit d'un fichier suivant le scu courant. Malheureusement, mes fichiers étant géographier autour du 0,0 , EXTMAX ce trouve du coup très différents suivant le fichier. (getvar "extmax") Cas1 = (215.44 -34290.8 0.0) Cas2 = (-42665.7 -4973.1 0.0) Cas3 = (117551.0 38521.3 0.0) et j'en passe Du coup j'ai écrit ce qui suit mais la legende ce balade en permanence entre en haut a gauche ou a droite, du coup ça ménerve!!! :angry: :angry: ;;--------------------------------------------- ;;-- Legende par bloc / description ;;-- TYP_EQU ;;--------------------------------------------- (defun c:LegBLK(/) (setvar "cmddia" 0) (setvar "attdia" 0) (setq Htext "60";Hauteur texte légende SqlLstBlk (strcat "select distinct BLKNAME, v.L_TYP_EQU_COU_FAI FROM EQUIP_REPART e left join EQU_COU_FAI_V v on V.N_TYP_EQU_COU_FAI = E.N_TYP_EQU_COU_FAI where v.L_CATEG = \'" TYP_EQU "\'and e.N_BATIM = \'" N_BATIM "\' AND e.N_NIVEA = \'" N_NIVEA "\'") LstBlk (ggSelRows "EQUIPEMENT_REPARTITEUR" SqlLstBlk);liste des objets / fonction interne a l'application (GEOMAP) PTIns '(0 0 0) InterLigne '(0 110 0) TabTextes '(55 0 0) ) (command "calque" "n" "Legende" "CH" "Legende" "" "scu" "G" ) (while (/= LstBlk nil) (command "inserer" (caar LstBlk) PTIns "1" "1" "" "") (command "texte" (plus PTIns TabTextes) Htext "0" (cadar LstBlk)) (setq LstBlk (cdr LstBlk) PTIns (moins PTIns InterLigne) ) ; (print PTIns) ; (print (caar LstBlk)) ; (print (cadar LstBlk)) ) (setq ssleg(ssget "x"'((8 . "Legende"))) EchIns 1 PTInsBLK '(415 28 0) ) (command "scu" "G" "zoom" "et" "regen" "bloc" "Legende" '(0 0 0) ssleg "" "zoom" "et" "regen" "INSERER" "Legende" (plus (getvar "extmax") '(150 150 0)) EchIns "" "" "calque" "CH" "0" "" ) (c:r_obj_lab (ssget "_L"));fonction qui assure la rotation suivant le scu nommé ) Une idée, un conseil? :( Bonne journée Ølivier
  22. Bonjour, J'ai couramment ce PB et j'utilise cet routine suivant un scu particulier: ;;--------------------------------------------- ;;--rotation de bloc suivant SCU TRAV ;;--------------------------------------------- (defun c:R_OBJ_LAB (ss1 / ss2 ss1_type ANG_SCU_TRAV SCU_Begin) (setq ss1_type (cdr(assoc 0 (entget(ssname ss1 0)))) SCU_Begin (getvar "ucsname") ) (if (= (cdr(assoc 50(entget (ssname ss1 0)))) 0.0 ) (if (/= SCU_Begin "TRAV") (progn (command "scu" "nom" "r" "TRAV") (setq ANG_SCU_TRAV (angtos(angle '(0 0) (getvar "ucsxdir"))0 4) ) ) (setq ANG_SCU_TRAV (angtos(angle '(0 0) (getvar "ucsxdir"))0 4) ) ) ) (progn ; (alert ss1_type) (setq ss2(ssget "x" (list(cons 8 (cdr(assoc 8 (entget(ssname ss1 0)))))))) (while (/= (sslength ss2) 0) (command "scu" "ob" (ssname ss2 0)) (command ".rotation" (ssname ss2 0) "" "0,0" ANG_SCU_TRAV) (setq ss2 (ssdel (ssname ss2 0) ss2)) ) ) (command "scu" "nom" "r" "TRAV") ) Si pour une fois je peut rendre service sur ce forum, je serais super ravi. B)
  23. Effectivement, le loadfolder est spécifique de la surcouche GEOMAP. Je viens de contourner le problème, pas de façons très orthodoxe, mais ça marche. je créé le script depuis SAS et le modifie par la suite en ajoutant les variables nécessaires (load "x:\\...\\acad"), qui lance le loadfolder et ainsi de suite; puis je le lance depuis l’environnement déjà en place _expert 2 _open O "x:/...../DOSSIERS/00001_119235/C_0001_119235_A.DWG" O filedia 0 (load "acad") (load "aru_mfiles") A2M _open "x:/...../DOSSIERS/00002_119734/C_0002_119734_D.DWG" O filedia 0 (load "acad") (load "aru_mfiles") A2M Remerciement a "bonuscad"
  24. Bonjour bonuscad, J'ai effectivement inclus le chargement du lisp dans le script (load "aru_mefiles")mais SAS ne charge pas l’environnement complet avant l'ouverture du fichiers. J'essais de forcer l’environnement avant la charge de aru_mfiles et je fais un retour ici. Merci Olivier :angry: Commande: (command "LoadFolder" "SFM-Réseau&Réseau interne") LoadFolder Commande inconnue "LOADFOLDER". Appuyez sur F1 pour obtenir de l'aide. Commande: SFM-Réseau&Réseau interne Commande inconnue "SFM-RESEAU&RESEAU INTERNE". Appuyez sur F1 pour obtenir de l'aide.
×
×
  • 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é