Aller au contenu

grosseel

Membres
  • Compteur de contenus

    44
  • Inscription

  • Dernière visite

Profile Information

  • Gender
    Not Telling

grosseel's Achievements

Newbie

Newbie (1/14)

0

Réputation sur la communauté

  1. Salut, Sinon tu peut essayer Dwg TueView qui intégre Dwg TrueConvert qui te permet de changer la version d'enregistrement d'un fichier dwg. A télécharger sur http:// http://usa.autodesk.com/adsk/servlet/pc/index?id=6703438%26siteID=123112 Désolé, j'avais pas vu la réponse de Pieroka, mais je le rejoint dans sa réponse. [Edité le 19/4/2010 par grosseel]
  2. grosseel

    Transformer plan

    Essaye DWG TrueConvert, un produit AutoDesk qui devrait répndre à tes besoins. Bonne Aprés-Midi
  3. Je l'ai trés souvent utlisé sur une période de 4 mois chez un client en début d'année. Depuis plus rien. (C'est le client qui m'as formé sur le logiciel)
  4. Pour imprimer, configurer et gérer les onglets d'un plan autoCAD, je te conseille d'aller voir du coté des routines de Patrick_35. Il te faudra les lisp suivants : - Mim - Mpl - Ong - Oog Bon Week-End
  5. Salut baot44, Je te conseil d'effectuer une recherche sur le forum et tu devrait trouver une réponse. Sinon je te conseil d'utiliser le trés bon SuperAutoScript (Fais une recherche sur Google) et voici un exemple de script avec PDFCreator : -traceur Oui Objet PDFCreator A4 Millimètres pAysage Non Etendu Plein Format Centre Oui monochrome Oui Au Non Non Oui Pour l'utiliser tu ouvre NotePad, Créer un nouveau fichier, puis copier-coller de ce qu'il y a juste au dessus. Tu enregistre et tu change l'extension en *.scr. Tu n'as plus qu'a l'ouvrir avec SupeAutoScript et ajouter les fichiers ou le répertoire à traitrer. Bonne journée. Grosseel
  6. Bonjour à tous, je pense avoir trouver un début de solution grace à un lisp créer par bred qui permet de créer un onglet présentation par bloc sélectionner. J'ai repris son code pour l'adapter à mes besion en automatisant le procédé (Je selectionne le bloc type et il me génére l'ensembles des présentations avec le même type de bloc et avec le nom d'onglets qui va bien. Je pense que l'on peut reprendre ce programme en l'adaptant pour qu'il créer nom plus un présentation mais un nouveau fichier à la place. Ci-joint le code modifié et un autre code permetant de créer un nouveau fichier. Ma question c'est comment regrouper les deux pour convenir a mon besoin. (defun C:CEPX (/ ACDOC B C FEN I LAYS N-P NOM-P ONG-BASE ONG_DEST SEL XMIN YMAX A-P HAUT LARG P1 P2 NOM ECH LAY LOCK UNIT) (vl-load-com) ; 4 Millimètres 5 Centimètres 6 Mètres (setq UNIT (cdr (assoc (getvar "INSUNITS") '((4 . 1) (5 . 10) (6 . 1000))))) (while (not SEL) (setq SEL (car (entsel "\n Choix du cadre (Bloc) :"))) (setq BLK (cdr (assoc 2 (entget SEL)))) (if SEL (if (not (equal (vla-get-objectname (setq B (vlax-ename->vla-object SEL))) "AcDbBlockReference")) (setq SEL NIL))) ) (setq SEL (ssget "X" (list (cons 2 BLK))) ACDOC (vla-get-activedocument (vlax-get-acad-object)) LAYS (layoutlist) ) (setq BLK NIL) (if (> (length LAYS) 1) (progn (princ "\n Copie configuration traceur d'onglet Existant. \n Plusieurs Présentations détectées.") (while (not ONG-BASE) (princ "\n") (repeat (setq I (length LAYS)) (princ (strcat (nth (- (length LAYS) I) LAYS) " * ")) (setq I (1- I)) ) (setq ONG-BASE (getstring t "\n Présentation d'où la configuration du traceur sera récupérée :")) (if (not (member ONG-BASE LAYS)) (setq ONG-BASE NIL) ) ) ) (setq ONG-BASE (car LAYS)) ) (setq A-P (vla-item (vla-get-layouts ACDOC) ONG-BASE)) (vla-getcustomscale A-P 'N 'M) (vla-put-activelayout ACDOC A-P) (vlax-for E (vla-get-paperspace ACDOC) (if (equal (vla-get-objectname E) "AcDbViewport") (setq LAY (vla-get-layer E) LOCK (vla-get-displaylocked E) ) ) ) (setq I 0) (repeat (setq I (sslength SEL)) (if (vlax-property-available-p (vlax-ename->vla-object (ssname SEL (setq I(1- I)))) 'EFFECTIVENAME) (setq NOM vla-get-effectivename) (setq NOM vla-get-name) ) (if (equal (NOM (setq C (vlax-ename->vla-object (ssname SEL I)))) (NOM B)) (progn (vla-getboundingbox C 'XMIN 'YMAX) (setq LSTIMA (GETATT C) NBLSTIMA (length LSTIMA) IMA1 (cdr (nth 27 LSTIMA)) ;;; Numéro de folio du bloc ;;; IMA2 (cdr (nth 28 LSTIMA)) ;;; Nom de document ERAS ) (setq ONG_DEST IMA1) ;;; (if (/= IMA2 "") ;;; Concatenation de numéro de folio et du Nom du document ERAS ;;; (setq ONG_DEST (strcat ONG_DEST "_" IMA2)) ;;; ) (setq N-P (vla-add (vla-get-layouts ACDOC) ONG_DEST)) (setq ECH (vla-get-yscalefactor C)) (vla-copyfrom N-P A-P) (vla-put-activelayout ACDOC N-P) (setq FEN (vla-addpviewport (vla-get-paperspace ACDOC) (vlax-3d-point '(0 0 0)) (setq Larg (* Unit (/ (- (car (vlax-safearray->list ymax)) (car (vlax-safearray->list xmin))) ech))) (setq Haut (* Unit (/ (- (cadr (vlax-safearray->list ymax)) (cadr (vlax-safearray->list xmin))) ech))))) (vla-put-layer FEN LAY) (vla-put-displaylocked FEN LOCK) (vla-zoomextents (vlax-get-acad-object)) (vla-display FEN :vlax-true) (vla-put-mspace ACDOC :vlax-true) (vla-put-activepviewport ACDOC FEN) (vla-zoomwindow (vlax-get-acad-object) XMIN YMAX) (vla-put-mspace ACDOC :vlax-false) (if (> (- (car (vlax-safearray->list YMAX)) (car (vlax-safearray->list XMIN))) (- (cadr (vlax-safearray->list YMAX)) (cadr (vlax-safearray->list XMIN))) ) (vla-put-plotrotation (vla-get-activelayout ACDOC) ac90degrees) (vla-put-plotrotation (vla-get-activelayout ACDOC) ac0degrees) ) (setq P1 (vlax-make-safearray vlax-vbdouble (cons 0 1)) P2 (vlax-make-safearray vlax-vbdouble (cons 0 1)) ) (vlax-make-variant (vlax-safearray-fill P1 (list (- (/ LARG 2)) (- (/ HAUT 2))))) (vlax-make-variant (vlax-safearray-fill P2 (list (/ LARG 2) (/ HAUT 2)))) (vla-setwindowtoplot (vla-get-activelayout ACDOC) P1 P2) ) ) ) (setvar "TILEMODE" 1) (princ) ) (defun c: DEC (/ LstFol Folio) (setq OldCmd (getvar "cmdecho") LstFol (gest_fol)) (setvar "cmdecho" 0) (vl-mkdir (strcat (getvar "DWGPREFIX") (vl-filename-base (getvar "DWGNAME")))) (foreach Folio LstFol (AFFFOL Folio) (command "_WBLOCK" (strcat (getvar "DWGPREFIX") (vl-filename-base (getvar "DWGNAME")) "\\" Folio ".dwg") "" "0,0" "_ALL" "" "_OOPS")) (setvar "cmdecho" OldCmd) (princ)) Merci d'avance pur vos réponses
  7. grosseel

    Lisps de Patrick_35

    :) Merci, ca répond super bien à ma demande. A+
  8. grosseel

    Lisps de Patrick_35

    Salut, Ma demande ne concerne pas l'ordre d'affichage des onglets de Présentations dans la fenêtre DCL, mais d'automatiser le traitement fait manuelllement avec la fenêtre . a+
  9. Merci Bred, ca marche Nickel Au passage, vraiment génial ton programme
  10. grosseel

    Lisps de Patrick_35

    Bonjour Patrick_35, Je me permet de te demander un modification de ton lisp OOG afin de palier un manque d'un routine qu'avait créer Bred (CEP, création de présentation selon bloc dans espace Objet) et que j'ai mis à jour suivant mes besoins. La demande consiste à classer les onglets par ordre AlphaNumérique de facon automatique. Merci d'avance.
  11. grosseel

    Monter une routine

    ok merci, j'ai résolu mon probléme. Par contre, quelqu'un saurait comment inversé l'ordre de la liste créer avec ssget [Edité le 4/6/2009 par grosseel]
  12. Salut tous le monde, Tout comme PHILPHIL, je cherche à pousser plus loin la routine de Bred, mais je bloc sur le même point c.a.d sélectionner automatiquement l'ensemble des blocs étant identique au bloc référence. De plus je cherche à inverser la liste créer afin de ranger les présentations dans le bon ordre. Ci-joint ma version du programme De BRED avec les modifications de PhilPhil et les miennes. (defun C:CEPX (/ ACDOC B C FEN I LAYS N-P NOM-P ONG-BASE ONG_DEST SEL XMIN YMAX A-P HAUT LARG P1 P2 NOM ECH LAY LOCK UNIT) (vl-load-com) ; 4 Millimètres 5 Centimètres 6 Mètres (setq UNIT (cdr (assoc (getvar "INSUNITS") '((4 . 1) (5 . 10) (6 . 1000))))) (while (not SEL) (setq SEL (car (entsel "\n Choix du cadre (Bloc) :"))) (setq BLK (cdr (assoc 2 (entget SEL)))) (if SEL (if (not (equal (vla-get-objectname (setq B (vlax-ename->vla-object SEL))) "AcDbBlockReference")) (setq SEL NIL))) ) [surligneur] (setq SEL (ssget "X" (list (cons 2 BLK))) ACDOC (vla-get-activedocument (vlax-get-acad-object)) LAYS (layoutlist) ) (setq BLK NIL) [/surligneur] (if (> (length LAYS) 1) (progn (princ "\n Copie configuration traceur d'onglet Existant. \n Plusieurs Présentations détectées.") (while (not ONG-BASE) (princ "\n") (repeat (setq I (length LAYS)) (princ (strcat (nth (- (length LAYS) I) LAYS) " * ")) (setq I (1- I)) ) (setq ONG-BASE (getstring t "\n Présentation d'où la configuration du traceur sera récupérée :")) (if (not (member ONG-BASE LAYS)) (setq ONG-BASE NIL) ) ) ) (setq ONG-BASE (car LAYS)) ) (setq A-P (vla-item (vla-get-layouts ACDOC) ONG-BASE)) (vla-getcustomscale A-P 'N 'M) (vla-put-activelayout ACDOC A-P) (vlax-for E (vla-get-paperspace ACDOC) (if (equal (vla-get-objectname E) "AcDbViewport") (setq LAY (vla-get-layer E) LOCK (vla-get-displaylocked E) ) ) ) (setq I 0) (repeat (sslength SEL) (if (vlax-property-available-p (vlax-ename->vla-object (ssname SEL I)) 'EFFECTIVENAME) (setq NOM vla-get-effectivename) (setq NOM vla-get-name) ) (if (equal (NOM (setq C (vlax-ename->vla-object (ssname SEL I)))) (NOM B)) (progn (vla-getboundingbox C 'XMIN 'YMAX) (setq LSTIMA (GETATT C) NBLSTIMA (length LSTIMA) IMA1 (cdr (nth 27 LSTIMA)) ;;; Numéro de folio du bloc ;;; IMA2 (cdr (nth 28 LSTIMA)) ;;; Nom de document ERAS ) (setq ONG_DEST IMA1) ;;; (if (/= IMA2 "") ;;; Concatenation de numéro de folio et du Nom du document ERAS ;;; (setq ONG_DEST (strcat ONG_DEST "_" IMA2)) ;;; ) (setq N-P (vla-add (vla-get-layouts ACDOC) ONG_DEST)) (setq ECH (vla-get-yscalefactor C)) (vla-copyfrom N-P A-P) (vla-put-activelayout ACDOC N-P) (setq FEN (vla-addpviewport (vla-get-paperspace ACDOC) (vlax-3d-point '(0 0 0)) (setq Larg (* Unit (/ (- (car (vlax-safearray->list ymax)) (car (vlax-safearray->list xmin))) ech))) (setq Haut (* Unit (/ (- (cadr (vlax-safearray->list ymax)) (cadr (vlax-safearray->list xmin))) ech))))) (vla-put-layer FEN LAY) (vla-put-displaylocked FEN LOCK) (vla-zoomextents (vlax-get-acad-object)) (vla-display FEN :vlax-true) (vla-put-mspace ACDOC :vlax-true) (vla-put-activepviewport ACDOC FEN) (vla-zoomwindow (vlax-get-acad-object) XMIN YMAX) (vla-put-mspace ACDOC :vlax-false) (if (> (- (car (vlax-safearray->list YMAX)) (car (vlax-safearray->list XMIN))) (- (cadr (vlax-safearray->list YMAX)) (cadr (vlax-safearray->list XMIN))) ) (vla-put-plotrotation (vla-get-activelayout ACDOC) ac90degrees) (vla-put-plotrotation (vla-get-activelayout ACDOC) ac0degrees) ) (setq P1 (vlax-make-safearray vlax-vbdouble (cons 0 1)) P2 (vlax-make-safearray vlax-vbdouble (cons 0 1)) ) (vlax-make-variant (vlax-safearray-fill P1 (list (- (/ LARG 2)) (- (/ HAUT 2))))) (vlax-make-variant (vlax-safearray-fill P2 (list (/ LARG 2) (/ HAUT 2)))) ;;;GR (vla-put-plottype (vla-get-activelayout ACDOC) acwindow) (vla-setwindowtoplot (vla-get-activelayout ACDOC) P1 P2) (setq I (1+ I)) ) ) ) (setvar "TILEMODE" 1) (princ) ) En surligné jaune, ce que j'ai modifié. Apparemment c la deuxième partie qui pose probléme. :exclam: -------------------- Ok, j'ai résolu le 1er probléme (J'ai modifier le code du poste en conséquence) mais je ne sais toujours pas comment inverser l'ordre de la liste créer avec SSGET [Edité le 4/6/2009 par grosseel]
  13. grosseel

    Monter une routine

    Merci de ta réponse Gile, mais ca na pas résolu mon probléme, l'éditeur Visual Lisp me retourne l'erreur suivante : ; erreur: nombre d'arguments insuffisant dans SETQ: (SETQ SEL (SSGET "_X" (QUOTE ((0 . "INSERT") (CONS 2 BLK)))) ACDOC (vla-get-ActiveDocument (vlax-get-acad-object)) LAYS (LAYOUTLIST) (SETQ BLK nil)) Ci-joint le bout de code qui pose probléme : (while (not SEL) (setq SEL (car (entsel "\n Choix du cadre (Bloc) :"))) (setq BLK (cdr (assoc 2 (entget SEL)))) (if SEL (if (not (equal (vla-get-objectname (setq B (vlax-ename->vla-object SEL))) "AcDbBlockReference")) (setq SEL NIL))) ) (setq SEL (ssget "_X" '((0 . "INSERT") (cons 2 BLK)))) ACDOC (vla-get-activedocument (vlax-get-acad-object)) LAYS (layoutlist) (setq BLK NIL)) ) Merci de ta réactivité [Edité le 4/6/2009 par grosseel]
  14. grosseel

    Monter une routine

    Une autre petite question pour en probléme en relation avec le bout de programme de gile. Comment fait-on si le nom du bloc ("CartouchePC") est une variable. Merci d'avance pour vos réponses. Et encore bravo Gile.
  15. je ne sais plus comment contacté quelqu'un par MP sur CADxp, si tu peut m'aider (je n'arrive que à naviguer dans les forums) Si tu peut m'aiguiller. Merci encore de me préter attention
×
×
  • 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é