Aller au contenu

Begood

Membres
  • Compteur de contenus

    44
  • Inscription

  • Dernière visite

Begood's Achievements

Newbie

Newbie (1/14)

  • First Post Rare
  • Collaborator Rare
  • Week One Done Rare
  • One Month Later Rare
  • One Year In Rare

Recent Badges

0

Réputation sur la communauté

  1. Begood

    I had a dream this mornig...

    Bonjour, Je déterre ce sujet car après toutes ces années de bons et loyaux services ce lisp créé par Patrick_35 ne fonctionne plus depuis quelques temps. Je soupçonne une mise à jour de Windows 10 puisque je suis toujours sous Autocad 2023 et que le problème se pose peu importe la version de PDFCreator. Lorsque j’exécute la routine j'ai un message d'erreur : erreur: Erreur Automation Entrée incorrecte. Si je n'utilise pas la routine je peux imprimer manuellement avec PDFCreator mais si j'exécute la routine alors PDFCreator se plante et ne fonctionne plus manuellement jusqu'à ce que je ferme autocad. Si je réouvre PDFCreator il se relance et l'impression manuelle arrive. Est-ce que quelqu'un comprend ce qui se passe ? Merci. impression_auto_espace_objet.lsp impression_auto_espace_objet_options.lsp impression_auto_espace_objet_fusion.lsp Bloc dynamique impression.dwg
  2. Bonjour, C'est bon, ça fonctionne impec. Merci beaucoup.
  3. Bonjour, Merci bcp Gilles, ça fonctionne impec. J'ai essayé de modifier la fonction pour permettre la sélection des 2 types de blocs : '(2 . "Bulle,Bulle Alu,`*U*") (if (= (vla-get-Effectivename (vlax-ename->vla-object ent)) "Bulle,Bulle Alu") mais ça ne fonctionne pas. Est-ce que c'est possible ?
  4. Re, Voilà un fichier avec un bloc "Bulle" à gauche et un bloc "Bulle Alu" à droite : Fichier Mot de passe : gilles Si tu cherche "xxx" la fonction ne devrait sélectionner que le bloc de gauche. Et si tu cherche "b002" c'est pareil. Merci.
  5. Bonjour, Je viens d'essayer et ça ne fonctionne pas, la sélection ne tient pas compte du nom des blocs ni de la valeur d'attribut recherchée.
  6. Oui, ça c'est fait et j'obtiens cette erreur : ; erreur: type d'argument incorrect: lentityp nil Et concernant ta réponse "Probablement ent qui est nil", je ne sais pas l'interpréter, je ne sais pas ce qu'il faut modifier.
  7. Désolé mais je n'ai pas de son sur mon PC au boulot et je ne m'y connais pas assez pour interpréter ta réponse (je n'y connais rien en fait :unsure: )
  8. J'obtiens cette erreur : ; erreur: type d'argument incorrect: lentityp nil
  9. Bonjour à tous, Merci Gilles pour le coup de main. J'ai ajouté cette portion de code et j'obtiens l'erreur suivante : ; erreur: type d'argument incorrect: VLA-OBJECT <Nom d'entité: 187dc3c1f50> Voici le lisp complet au cas où j'aurais fait une erreur : ;; Select Blocks by Attribute Value - Lee Mac ;; Selects all attributed blocks in the current layout which contain a specified attribute value. (defun c:selblkbyattval ( / att atx ent idx sel str ) (vl-load-com) (if (/= "" (setq str (strcase (getstring t "\nEntrez la ou les valeurs de l'attribut (Séparez les valeurs par une virgule) : ")))) (if (and (setq sel (ssget "_X" (list '(0 . "INSERT") '(2 . "Bulle,`*U*") '(66 . 1) (cons 410 (getvar 'ctab)) ) ) ) (repeat (setq idx (sslength sel)) (setq ent (ssname sel (setq idx (1- idx)))) (if (= (vla-get-EffectiveName ent) "Bulle") (progn (repeat (setq idx (sslength sel)) (setq ent (ssname sel (setq idx (1- idx))) att (entnext ent) atx (entget att) ) (while (and (= "ATTRIB" (cdr (assoc 0 atx))) (not (wcmatch (strcase (cdr (assoc 1 atx))) str)) ) (setq att (entnext att) atx (entget att) ) ) (if (= "SEQEND" (cdr (assoc 0 atx))) (ssdel ent sel) ) ) (< 0 (sslength sel)) ) ) ) ) ;;; Modification by Patrick_35 (progn (zoomobject (mapcar '(lambda(x)(vlax-ename->vla-object (cadr x))) (ssnamex sel))) (sssetfirst nil sel) ) ;;; Fin de la modification by Patrick_35 (princ (strcat "\nAucun bloc trouvé avec la valeur d'attribut \"" str "\".")) ) ) (princ) ) ;; ZoomObject Effectue un zoom sur les objets contenus dans la liste ;; ;; Argument ;; objlst : une liste de vla-object ;; ;; Variables ;; dir : normale du plan de la vue courante ;; ang : angle de la vue courante ;; 3x3 : matrice de transformation du SCG vers la vue courante (dimension 3) ;; 4x4 : matrice de transformation du SCG vers la vue courante (dimension 4) ;; ptlst : liste des points minimum et maximum des bounding-boxes des objets sélectionnés (SCG) (defun ZoomObject (objlst / dir ang 3x3 4x4 ptlst) (vl-load-com) (setq dir (mapcar '- (trans (getvar "viewdir") 1 0) (trans '(0 0 0) 1 0) ) ang (- (getvar "viewtwist")) 3x3 (mxm (mapcar '(lambda (x) (trans x 0 dir)) '((1 0 0) (0 1 0) (0 0 1)) ) (list (list (cos ang) (- (sin ang)) 0) (list (sin ang) (cos ang) 0) '(0 0 1) ) ) 4x4 (append (mapcar '(lambda (v o) (append v (list o)) ) 3x3 '(0 0 0) ) (list '(0 0 0 1)) ) ) (foreach obj objlst (vla-TransformBy obj (vlax-tmatrix (trp 4x4))) (vla-getBoundingBox obj 'minpt 'maxpt) (vla-TransformBy obj (vlax-tmatrix 4x4)) (setq ptlst (cons (vlax-safearray->list minpt) (cons (vlax-safearray->list maxpt) ptlst) ) ) ) (vla-ZoomWindow (vlax-get-acad-object) (vlax-3d-point (mxv 3x3 (apply 'mapcar (cons 'min ptlst)))) (vlax-3d-point (mxv 3x3 (apply 'mapcar (cons 'max ptlst)))) ) ) ;; transpose une matrice Doug Wilson (defun trp (m) (apply 'mapcar (cons 'list m)) ) ;; Apply a transformation matrix to a vector by Vladimir Nesterovsky (defun mxv (m v) (mapcar '(lambda (r) (apply '+ (mapcar '* r v))) m) ) ;; Multiply two matrices by Vladimir Nesterovsky (defun mxm (m q) (mapcar '(lambda (r) (mxv (trp q) r)) m) ) Merci
  10. Re, Pour l'attribut "30" c'était juste un exemple, je souhaite conserver l'invite de valeur d'attribut, c'est tout l'intérêt de ce lisp. Mais pour le nom de bloc j'ai bien rajouté '(2 . "Bulle") et ça ne fonctionne pas, j'ai la réponse : Aucun bloc trouvé avec la valeur d'attribut "XXX". Mes blocs sont bien nommés "Bulle", peut-être parce que ce sont des blocs dynamiques ?
  11. Bonjour à tous, Je souhaiterai pourvoir fixer le nom des blocs recherchés dans ce lisp afin que la fonction ne recherche par exemple que les blocs nommés "Bulle" avec l'attribut "30". J'ai fais quelques recherches et j'ai vu qu'il fallait rajouter (2 . "Bulle") après (0 . "INSERT") mais ça ne fonctionne pas. Est-ce que l'on peut définir plusieurs noms comme "Bulle" et "Bulle Alu" ? Merci.
  12. Begood

    I had a dream this mornig...

    Slt, J'ai fais la mise à jour, merci. Depuis la PDFCreator 2.4 l'impression semblait plus lente et depuis ta mise à jour c'est revenu à la normale. ++
  13. Begood

    I had a dream this mornig...

    up
  14. Begood

    I had a dream this mornig...

    Bonjour Patrick_35, Je rencontre un problème avec des fichiers de provenance différente de ceux que j'utilise habituellement. Le bloc cadre est pourtant placé où il faut mais la fonction imprime soit une page blanche soit une partie du contenu dans un coin, comme avec un décalage d'origine. Ci-joint un exemple de fichier qui pose problème, le bloc cadre est nommé "cadre_impression" et le pdf qui en ressort est en portrait et ne contient qu'un bout de la zone imprimée. Une idée sur la variable ou le paramètre qui pose problème ? Merci. exemple.zip
  15. Begood

    IMPRESSION WIPEOUT

    Merci pour le tuyau !!! ça fait un moment que je traînais cette casserole !
×
×
  • 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é