Aller au contenu

Patrick_35

Membres
  • Compteur de contenus

    6 374
  • Inscription

  • Dernière visite

  • Jours gagnés

    30

Tout ce qui a été posté par Patrick_35

  1. Merci (gile) Mais comment génères-tu le fichier DSD avec Autocad ? @+
  2. Merci (gile) pour ta mise à jour. En utilisant plotpdf, j'ai bien le message d'alerte pour le fichier existant. Juste une chose, Tu as une faute de frappe dans ton message. En utilisant qpublish, je n'ai pas le message d'alerte du fichier existant (fichier à plusieurs feuilles). J'aurai quelques suggestions si tu le permets. Après la publication, revenir sur la présentation de départ. En utilisant qpublish, conserver "en mémoire" l'état de la dernière publication (publier vers et type de fichier). Impression du pdf/dwf selon la taille de la présentation (étendu) et non en fonction de la taille du papier (présentation). En effet, comme on a des traceurs qui enlèvent ces zones blanches, du coup on n'utilise qu'une config de traceur et la plus grande possible. En tout cas, merci pour cet outil qui va devenir un indispensable. Pour ce qui est des erreurs, Autocad recèle des mystères. J'ai des lisps qui fonctionne sans aucun problèmes et un matin, va savoir pourquoi, un lisp va planter et rien à faire. Je relance Autocad, reprend le même dessin et le lisp fonctionne correctement. Va comprendre. Autodesk a du planquer un Gremlin ;) @+
  3. Salut (gile) Je viens de mettre à jour suivant ton dernier lien. C'était en utilisant plotdpf ou publishtofile (devenu maintenant qpublish) J'ai lancé plotpdf et ça fonctionne. Cependant, un petit bémol car si le pdf existe déjà, il est écrasé sans aucun message d'avertissement. Après plusieurs essais, j'ai eu de nouveau ce message d'erreur mais je n'arrive pas à le reproduire. Si une option pouvait exister pour créer un fichier .log afin d'essayer de trouver l'erreur. @+
  4. Salut (gile) Je viens de tester ta dll (v19) et j'ai ceci comme message d'erreur Donc pas de pdf. Mes onglets sont configuré avec pdf creator. Je suis sur A2014 en 32 bits. @+
  5. Salut Le principe pour afficher plusieurs colonnes sur une ligne {row // Début de ligne {column // Début 1er colonne // Mes boutons, textes, etc... } // Fin 1er colonne {column // Début 2em colonne // Mes boutons, textes, etc... } // Fin 2em colonne {column // Début 3em colonne // Mes boutons, textes, etc... } // Fin 3em colonne {column // Début 4em colonne // Mes boutons, textes, etc... } // Fin 4em colonne } // Fin de la ligne @+
  6. Patrick_35

    Import

    C'est surprenant. Pour tester, j'ai renommé le dwg en dwt et le lisp fonctionne. Mais pour aller au bout, j'ai fait un nouveau dessin en se servant du dwt (ex dwg) comme gabarit et ça marche aussi. @+
  7. Patrick_35

    Import

    Par exemple (defun opendbx(dwg / dbx) ; par Patrick_35 (if (< (atoi (substr (getvar "ACADVER") 1 2)) 16) (setq dbx (vlax-create-object "ObjectDBX.AxDbDocument")) (setq dbx (vlax-create-object (strcat "ObjectDBX.AxDbDocument." (substr (getvar "ACADVER") 1 2)))) ) (if (vl-catch-all-error-p (vl-catch-all-apply 'vla-open (list dbx dwg))) nil dbx ) ) (defun c:test(/ cotlist) (vl-load-com) (if (setq f (opendbx "c:/divers/dessin1.dwg")) (progn (vlax-for l (vla-item (vla-get-dictionaries f) "ACAD_MLEADERSTYLE") (or (wcmatch (vla-get-Name l) "*|*") (setq cotlist (cons l cotlist)) ) ) (vlax-invoke f 'CopyObjects cotlist (vla-item (vla-get-dictionaries (vla-get-ActiveDocument (vlax-get-acad-object))) "ACAD_MLEADERSTYLE")) (vlax-release-object f) ) ) (princ) ) ps : il existe une version améliorée pour ObjectDbx (à cause d'autocad 2014) @+
  8. Patrick_35

    Import

    Salut Essaye dans (vla-item (vla-get-dictionaries (vla-get-activedocument (vlax-get-acad-object))) "ACAD_MLEADERSTYLE") @+
  9. Salut Elle est très bien ta version alala. Simple et concise. Une autre version histoire de jouer avec une liste. (defun p35:vl-filename-base(str / lst) (setq lst (vl-string->list str)) (and (member 46 lst) (setq lst (reverse (cdr (member 46 (reverse lst))))) ) (while (member 92 lst) (setq lst (cdr (member 92 lst))) ) (vl-list->string lst) ) @+
  10. Patrick_35

    dwgname

    Salut Pas seulement. Si tu ouvres un dxf, ta formule ne fonctionne plus. Et il faut aussi songer que l'on peut avoir des extensions qui ont plus de 3 caractères (exemple avec les dwl2 d'autocad) @+
  11. Patrick_35

    Problème Lisp Som

    Salut C'est à toi de voir. Il est toujours intéressant de regarder un lisp. Le plus simple est de tester ligne par ligne, de regarder les résultats et d'essayer de comprendre comment il fonctionne. Si tu fais ton propre lisp et si ton client un jour change quelque chose, tu sauras adapter ton lisp sans problème. Je te laisse méditer un peu là-dessus avant de regarder ce que tu as fait. @+
  12. Patrick_35

    dwgname

    Salut (vl-filename-base (getvar "dwgname")) @+
  13. Salut En script, tu peux faire par exemple (load"c:/rep1/rep2/rxref.lst) rxref n Le principe est valable pour n'importe quel lisp du moment que cela reste en ligne de commande. @+ Encore une idée que m'aurais piqué Autodesk ;) ps : je sais, j'ai les chevilles qui gonflent. @+
  14. Salut Je remets en ligne les lisps sur ce blog C'est le temps qui me manque et dès que j'ai un peu de répit, j'en profite pour continuer. Pour répondre à ta question, tu peux utiliser un script. @+
  15. Patrick_35

    Problème Lisp Som

    Salut Le plus simple est de donner un exemple ainsi que le lisp @+
  16. Salut Regarde le lisp Def @+
  17. Salut Deux solutions 1) Tu écris un lisp de ce style que tu sauves par exemple en test.lsp (load"c:/rep1/rep2/Detachall.lsp") (c:Detachall) et comme commande dans SAS, tu écris (load"c:/rep1/rep2/test.lsp) 2) Sans utiliser de lisp intermédiaire, tu écris en commande dans SAS (load"c:/rep1/rep2/Detachall.lsp") (c:Detachall) ps : S'il n'y a pas de boites de dialogues, une ligne lisp peut très bien servir de commande en script. Il faut juste que le lisp soit chargé auparavant. @+
  18. Salut Ou encore (setq lst nil) (defun Imbriquebloc ( bloc / tab Inbloc) (vlax-for Imbloc (vla-item (vla-get-blocks ADoc)(vla-get-name bloc)) (if (eq (vla-get-objectname Imbloc) "AcDbBlockReference") (setq tab (cons (Imbriquebloc Imbloc) tab)) ) ) (setq lst (cons (vla-get-name bloc) tab)) ) @+
  19. Patrick_35

    attribut

    Salut Regarde les fonctions strcat, itoa ou rtos si ton nombre est un entier ou réel. @+
  20. Tout à fait, sauf que je n'utilise pas la fonction alert afin de faire un copier/coller de la commande (mode fainéant) ;) @+
  21. Merci de l'info vynmarius. Donc, cela viendrait d'Excel. Merci de nous tenir au courant si tout fonctionne correctement. @+
  22. Salut Bruno Cela me parait bien compliqué. J'ai donc regardé de plus près les réacteurs. (defun pagine (rea cde) (and (eq (car cde) "LAYOUT_CONTROL") (alert "Changement/Sélection d'onglet(s)") ) ) (setq p35 (vlr-command-reactor nil '((:vlr-commandWillStart . pagine)))) Pour supprimer le réacteur (vlr-remove p35) @+
  23. Patrick_35

    attribut

    Salut Version Autolisp ; Insertion du bloc (setq blo (entlast)) ; Je récupere le dernier bloc inséré (setq att (entget (entnext blo))) ; Je récupere le 1er attribut de mon bloc (setq att (subst (cons 1 "Mon_texte") (assoc 1 att) att)) ; Je change le texte de l'attribut (entmod att) ; Je met à jour l'attribut Version Vlisp ; Insertion du bloc (setq blo (vlax-ename->vla-object (entlast))) ; Je récupere le dernier bloc inséré (setq att (vlax-invoke blo 'getattributes)) ; Je récupere les attributs de mon bloc (vla-put-textstring (nth 0 att) "Encore_un_texte") ; Je change le texte du 1er attribut @+
  24. Salut Avec un réacteur (vlr-mouse-reactor), mais je ne comprends pas le besoin ? ps : le clic droit sert aussi à sortir d'une commande en validant. @+
  25. Hummm. Je l'ai fait à la fainéant. Bon, je vais revoir le lisp. @+
×
×
  • 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é