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. Patrick_35

    Ecran qui "freeze"

    C'est fort probable, car j'ai un autre collègue qui a la même config et pas de problème pour lui. Les mystères de Windows... @+
  2. Patrick_35

    Ecran qui "freeze"

    Salut Oui, les PCs sont tous sous Windows 10. @+
  3. Comme c'est un format personnalisé par présentation, tu n'as pas le choix, sauf si d'autres présentations utilisent le même format personnalisé. Il faut bien dire à un moment dans Autocad le format que tu utilises s'il n'est pas prédéfini. @+
  4. Désolé, pas de lisp sur une LT. Je n'avais fait attention dans quel forum la question était posée. @+
  5. Ca fonctionne. Quand tu vas sur ta présentation et que tu fais la mise en page, Autocad te propose d'utiliser le format de papier personnalisé déjà défini. @+
  6. Salut Non, pas de variables, mais c'est possible en vlisp. Tu trouveras ton bonheur ici (vla-get-display (vla-get-preferences (vlax-get-acad-object))) @+
  7. Salut Oui, tu peux récupérer la valeur d'un attribut dans un autre via les champs. Insérer un champ --> Objet --> Sélection du bloc --> Choix de l'attribut --> Ok @+
  8. Patrick_35

    Ecran qui "freeze"

    Non, juste le SP1. J'ai installé l'update 17.1.2 (Hotfix des drivers HP) et c'est la même chose. C'est bien la variable, car dès que je la repasse à 1, rebelote. Je ne pensais pas à un bug Autocad, mais tu as raison, Google est ton ami. @+
  9. Patrick_35

    Ecran qui "freeze"

    Oui, mais je ne vois pas trop l'intérêt de cette variable. Pour désactiver les AccrochObj, la touche F3 se suffit à elle-même. Comme pour le mode ortho. En tout cas, je suis d'accord. Il fallait la trouver celle-là. @+
  10. Salut L'idée de MPL est de recopier une mise en page vers d'autres présentations. Pour MIM, c'est quand tu veux changer de traceur sans toucher à la mise en page. Si chaque présentation est différente, tu n'as pas 50 solutions. @+
  11. Patrick_35

    Ecran qui "freeze"

    Salut Après le changement de la variable et plusieurs essais, on dirait que tout est revenue à la normal. Merci mon Crabinou :D @+
  12. Patrick_35

    Ecran qui "freeze"

    Merci pour ta réponse, mais le pc est neuf (1 mois) et j'ai un collègue qui a le même problème. @+
  13. Bonjour J'ai parfois l'écran qui freeze quand j'appuis sur la touche F8. Le seul moyen de revenir est de cliquer sur l'icône d'Autocad dans la barre des tâches. J'ai mis à jour le pilote graphique et ça n'a rien changé. Le plus surprenant, c'est que tout fonctionne correctement quand je clic sur l'icône horto, mais pas avec la touche F8. Quid ? @+
  14. Patrick_35

    Presentation

    Salut et bienvenue sur le forum. Toutes les bonnes volontés sont bonnes à prendre. Je vois que l'on fait le même métier et que tu programmes. Autocad LT risque vite de devenir trop étroit. @+
  15. Patrick_35

    Script renommer bloc

    Salut Tu ne peux pas faire de lisp (version LT), ni de tests pour savoir si un bloc est déjà dans le dessin. On peut ruser de cette manière. J'insère le bloc dans le dessin, par exemple en 0,0. Je le renomme. J'efface le dernier objet (en l'occurrence, le bloc inséré) Je purge le bloc. @+
  16. Salut Denis Je vois que tu commences à bien maitriser le vlisp. Bravo :D @+
  17. Salut https://www.astuces-aide-informatique.info/1527/basculer-clavier-qwerty-azerty @+
  18. Tu n'as pas acNative dans l'exemple. Et as-tu les droits d'écriture sur la racine ? @+
  19. Salut J'ai trouvé cet exemple. @+
  20. Patrick_35

    Lisps de Patrick_35

    Salut Je n'ai que la version 3.21. Le lisp a été modifié. Essaye la version de base et si tu as le même problème, donne moi un exemple. @+
  21. Salut Tu peux aller voir ici. Tu as aussi le site de Didier. Il commence sur le vlisp. reste à savoir si il lui reste des cheveux :(rires forts): @+
  22. Salut Par exemple (setq mbl (vlax-ename->vla-object (car (entsel)))) ; Sélection d'un bloc avec attributs Cette ligne renvoie la liste des attributs (vlax-safearray->list (vlax-variant-value (vla-getattributes mbl))) Ce qui la même chose que celle-ci. C'est un raccourci. (vlax-invoke mbl 'getattributes) Après une rapide lecture de ton code, il me semble que tu recherches tous les blocs nommés "Cartouche". Un exemple pout les sélectionner tous. (ssget "x" (list (cons 2 "Cartouche"))) Pour parcourir la sélection (vlax-for ent (setq sel (vla-get-activeselectionset (vla-get-activedocument (vlax-get-acad-object)))) ... ) (vla-delete sel) ; Efface la sélection ou pour tester en ligne de commande (setq sel (vla-get-activeselectionset (vla-get-activedocument (vlax-get-acad-object)))) (setq ent (vla-item sel 0)) Et trouver son onglet (vla-get-layout (vla-objectidtoobject (vla-get-database ent)(vla-get-ownerid ent))) @+
  23. Salut Il te manque la fonction PointToVariant qui est appelée dans cette ligne (setq vlaPoint3D (PointToVariant Point2D)) Normalement, ce devrait être quelque chose comme ceci (defun PointToVariant(pts) (vlax-3d-point pts) Ou tout simplement, en remplacant (setq vlaPoint3D (PointToVariant Point2D)) par (setq vlaPoint3D (vlax-3d-point Point2D)) @+
  24. Le première chose était d'éliminer ce qui est faisable avec les champs. Pour répondre à tes questions et comme tu maitrise vb, je répondrais donc en vlisp Connaitre le nombre total d'onglets en diesel n'est pas possible. Pour cela, tu as (1- (vla-get-count (vla-get-layouts (vla-get-activedocument (vlax-get-acad-object))))) ; Le -1 pour enlever l'espace objet Connaitre la position d'un onglet dans la liste des onglets (vla-get-taborder (vla-item (vla-get-layouts (vla-get-activedocument (vlax-get-acad-object))) "Mon_Onglet")) Pour créer une liste avec leurs positions (vlax-for lay (vla-get-layouts (vla-get-activedocument (vlax-get-acad-object))) (setq lst (cons (cons (vla-get-name lay) (vla-get-taborder lay)) lst)) ) Et pour interroger la liste (cdr (assoc "Mon_Onglet" lst)) (cdr (assoc "Model" lst)) --> 0 Pour récuperer la valeur d'un champ et l'affecter à un autre attribut, un exemple ; Faire des champs dynamiques entre une définition de départ et une autre (defun c:cor(/ at1 at2 bl1 bl2 bou) (and (setq bl1 (entsel "\nBloc origine : ")) (setq bl1 (vlax-ename->vla-object (car bl1))) (eq (vla-get-objectname bl1) "AcDbBlockReference") (setq bl2 (entsel "\nBloc destination ")) (setq bl2 (vlax-ename->vla-object (car bl2))) (eq (vla-get-objectname bl2) "AcDbBlockReference") (progn (setq at1 (vlax-invoke bl1 'getattributes) at2 (vlax-invoke bl2 'getattributes) bou 0 ) (while (nth bou at1) (and (> bou 2) (< bou 8) (vla-put-textstring (nth bou at2) (strcat "%<\\AcObjProp Object(%<\\_ObjId " (itoa (vla-get-objectid (nth bou at1))) " >%).TextString>%" ) ) ) (setq bou (1+ bou)) ) ) ) (princ) ) @+
  25. Salut Regarde plutôt du coté des champs avec les expressions diesel que de vouloir faire du lisp. C'est beaucoup plus simple. Tu peux utiliser le nom du fichier (numéro de plan), la variable ctab (nom de l'onglet) et avec les expressions diesel. @+
×
×
  • 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é