-
Compteur de contenus
6 374 -
Inscription
-
Dernière visite
-
Jours gagnés
30
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par Patrick_35
-
Probl avec PUBLIER en PDF (multi-feuilles)
Patrick_35 a répondu à un(e) sujet de lecrabe dans AutoCAD 2013
Merci (gile) Mais comment génères-tu le fichier DSD avec Autocad ? @+ -
Probl avec PUBLIER en PDF (multi-feuilles)
Patrick_35 a répondu à un(e) sujet de lecrabe dans AutoCAD 2013
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 ;) @+ -
Probl avec PUBLIER en PDF (multi-feuilles)
Patrick_35 a répondu à un(e) sujet de lecrabe dans AutoCAD 2013
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. @+ -
Probl avec PUBLIER en PDF (multi-feuilles)
Patrick_35 a répondu à un(e) sujet de lecrabe dans AutoCAD 2013
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. @+ -
Creation boite de dialogue avec plusieur lisp
Patrick_35 a répondu à un(e) sujet de thomaswer997 dans Routines LISP
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 @+ -
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. @+
-
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) @+
-
Salut Essaye dans (vla-item (vla-get-dictionaries (vla-get-activedocument (vlax-get-acad-object))) "ACAD_MLEADERSTYLE") @+
-
[challenge] vl-filename-base
Patrick_35 a répondu à un(e) sujet de (gile) dans Pour aller plus loin en LISP
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) ) @+ -
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) @+
-
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. @+
-
Salut (vl-filename-base (getvar "dwgname")) @+
-
Changer tous les liens Xrefs d'absolu à relatif
Patrick_35 a répondu à un(e) sujet de FormaBois dans AutoCAD 2012
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. @+ -
Changer tous les liens Xrefs d'absolu à relatif
Patrick_35 a répondu à un(e) sujet de FormaBois dans AutoCAD 2012
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. @+ -
Salut Le plus simple est de donner un exemple ainsi que le lisp @+
-
Salut Regarde le lisp Def @+
-
Détacher les xref de image, dwg, PDF et entre autres fichiers d'externe
Patrick_35 a répondu à un(e) sujet de ToNiSOu dans Débuter en LISP
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. @+ -
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)) ) @+
-
Salut Regarde les fonctions strcat, itoa ou rtos si ton nombre est un entier ou réel. @+
-
pagination automatique
Patrick_35 a répondu à un(e) sujet de zebulon_ dans Pour aller plus loin en LISP
Tout à fait, sauf que je n'utilise pas la fonction alert afin de faire un copier/coller de la commande (mode fainéant) ;) @+ -
autocad 2014 et LXL (lisp de patrick)
Patrick_35 a répondu à un(e) sujet de vynmarius dans AutoCAD 2014
Merci de l'info vynmarius. Donc, cela viendrait d'Excel. Merci de nous tenir au courant si tout fonctionne correctement. @+ -
pagination automatique
Patrick_35 a répondu à un(e) sujet de zebulon_ dans Pour aller plus loin en LISP
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) @+ -
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 @+
-
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. @+
-
autocad 2014 et LXL (lisp de patrick)
Patrick_35 a répondu à un(e) sujet de vynmarius dans AutoCAD 2014
Hummm. Je l'ai fait à la fainéant. Bon, je vais revoir le lisp. @+
