Aller au contenu

grosseel

Membres
  • Compteur de contenus

    44
  • Inscription

  • Dernière visite

Tout ce qui a été posté par grosseel

  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
  16. Bonjour à tous, j'aurais besoin de l'aide des Lispeurs afin de m'aider à transformer ce script en Lisp. L'idée, c'est de décomposer un fichier comportant plusieurs folios (Pdg, Nomenclature de folios, schémas, ...) en autant de fichiers qu'il y a de folios(chaque folio est défini par une zone de l'espace objet). j'ai essayé de le faire en script mais c'est trop contraignant surtout si dans le futur il y a plus de folios. Le plan est composé de plusieurs folios architecturé comme suit : - 5 colonnes et autant de ligne que nécessaire - Décalage entre colonne 500 - Décalage entre ligne 400 - Sens de lecture du bas à gauche vers le haut à droite Merci d'avance de m'apporter votre aide. Exemple du script: Exemple du script: _copybase 0,0 -1,-1 420,296 _new "chemin du gabarit" _pasteclip 0,0 _zoom _e _save "Chemin d'enregistrement du fichier" _close delai 5000 _copybase [Edité le 13/5/2009 par grosseel] :casstet: [Edité le 15/5/2009 par grosseel]
  17. sinon tu peut utilisé le lisp ONG de Patrick_35 que tu trouveras sur le site. Lisp, qui te permet en plus de gérer l'intégralité des mises en page de tes présentations. Salut, a+
  18. Bonjour à tous, ma problématique est la même que Balyoa sauf que mon plan est architecturé différement : - 5 colonnes et autant de ligne que nécessaire - Décalage entre colonnes 500 - Décalage entre lignes 400 - Sens de lecture du bas à gauche vers le haut à droite Donc ma demande est : Est-il possible de 'éclater mon fichier dwg en autant de fichiers que de folios présent dans le fichier de base. J'ai essayé avec un script mais le probléme est de l'étendre aux autres folios. Exemple du script: _copybase 0,0 -1,-1 420,296 _new "chemin du gabarit" _pasteclip 0,0 _zoom _e _save "Chemin d'enregistrement du fichier" _close delai 5000 _copybase
  19. Salut balyoa, Comment est architecturer ton dwg, Est ce qu'il s'agit dun plan électrique dont un calque est égal à un folio, si c'est le cas j'ai la réponse à ta question. Par contre, j'ai formulé une demande similaire ( ici http:// http://www.cadxp.com/sujetXForum-22846.htm ) mais pour des plans architecturer différement si quelqu'un à une réponse à me donner, je suis preneur Merci d'avance pour vos réponses. J'attend des précisions Balyoa
  20. Je précise ma demande : quand je dis décomposé un plan en plusieurs folios, il s'agit d'un fichier DAO comportant plusieurs Folios que je veut exploser en autant de fichiers qu'il y a de folios dans le fichier originale. Help !! Personne n'as d'idées pour résoudre mon probléme [Edité le 6/5/2009 par grosseel]
  21. Bonjour à tous, j'aurais besoin de l'aide des Lispeurs afin de m'aider à transformer ce script en Lisp. L'idée, c'est de décomposer un fichier comportant plusieurs folio (Cartouche, schémas, ...) en autant de fichier qu'il y a de folio. j'ai essayé de le faire en script mais c'est trop contraignant surtout si dans le futur il y a plus de folios. Le plan est composé de plusieurs folios architecturé comme suit : - 5 colonnes et autant de ligne que nécessaire - Décalage entre colonne 500 - Décalage entre ligne 400 - Sens de lecture du bas à gauche vers le haut à droite Merci d'avance de m'apporter votre aide. Exemple du script: _copybase 0,0 -1,-1 420,296 _new "chemin du gabarit" _pasteclip 0,0 _zoom _e _save "Chemin d'enregistrement du fichier" _close delai 5000 _copybase
  22. je crois que tu as mal regardé. Fait une rechercher sur DEL_BLK dans 'Rechercher dans les forums. Allez je suis gentil, voici le lien vers le post qui sera utile : http://www.cadxp.com/modules.php?op=modload&name=XForum&file=viewthread&tid=20855#pid88122
  23. grosseel

    chemin fichier

    il me semble qu'il faut modifier le fichier printer.plt en modifiant la ligne ; Remove this record if no border is desired. ; Refer to the documentation for available border qualifiers. border /time /filename /text_height=0.35 par ; Remove this record if no border is desired. ; Refer to the documentation for available border qualifiers. ; border /time /filename /text_height=0.35 c.a.d que tu rajoute un ; devant la derniere ligne
  24. grosseel

    MICROSTATION

    C'est quoi cette autre logiciel, ca pourrait aider pour faire la conversion vers MicroStation
  25. grosseel

    Hyperlien

    Est ce que quelqu'un pourrait m'aider pour la création d'un hyperlien dans un fichier mnu, cet hyperlien pointera vers un document word archiver sur le réseau. Merci d'avance pour votre 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é