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. Bonjour La solution tant recherchée enfin trouvé :D C'est ici Merci à chlh_jd qui a donné la bonne solution sur ce message ps : 7 ans 1/2 après quand même ^^ @+
  2. Salut StripMtext @+
  3. Bryce : Tu as raison, utiliser deux variables est plus simple pour la compréhension. Maintenant, il faut aussi voir les différents niveaux d'imbrication de cette ligne (vlax-for e (vla-item blocks e) La première évaluation se situe dans (vla-item blocks e) et donne la définition du bloc. Une fois cette définition trouvée, je n'ai plus besoin de cette variable et je peux donc l'utiliser à nouveau dans une boucle qui parcoure cette définition. J'ai juste gagné une variable. Fraid : La fonction AND à la particularité de faire l'évaluation du 1er argument et s'il est non-nil, de passer au suivant et ainsi de suite; de s'arrêter à ma fonction (dernier argument) ou un argument retournant nil Donc, si j'écris (and var_1 var_2 var_3 ma_fonction) ma fonction sera lancée si var_1+var_2+var_3 sont non-nil Cela revient à écrire de manière plus traditionnelle (if (and var_1 var_2 var_3) ma_fonction) Le gain, une fonction if qui n'est pas réellement nécessaire, sauf si on désire utiliser le else/ou/autrement (qui est implicite dans la fonction if) La logique est la même avec le OR Quand j'écris (or (member (vla-get-effectivename b) listBlocs) ...) cela revient à écrire (if (not (member (vla-get-effectivename b) listBlocs) ...) ou encore (and (not (member (vla-get-effectivename b) listBlocs) ...) @+
  4. Salut Juste pour être pédagogique (defun c:dsh (/ AcDoc listBlocs vlalistbloc blocks) (vl-load-com) (setq AcDoc (vla-get-ActiveDocument (vlax-get-acad-object)) blocks (vla-get-blocks AcDoc) ) (vla-StartUndoMark AcDoc) (and (ssget (list (cons 0 "INSERT"))) (progn (vlax-for b (setq vlalistbloc (vla-get-activeselectionset AcDoc)) (or (member (vla-get-effectivename b) listBlocs) (setq listBlocs (cons (vla-get-effectivename b) listBlocs)) ) ) (vla-delete vlalistbloc) (mapcar '(lambda(e) (vlax-for e (vla-item blocks e) (and (= "AcDbHatch" (vla-get-ObjectName e)) (= "SOLID" (vla-get-PatternName e)) (vla-delete e) ) ) ) listBlocs ) (vla-regen AcDoc acActiveViewport) ) ) (vla-EndUndoMark AcDoc) (princ) ) ps : non testé
  5. Salut Pour éviter de retaper les valeurs lors de la demande du getstring, avec les flèches haut/bas puis gauche/droite si nécessaire (après au moins une première saisie). @+
  6. C'est déjà une première approche :D Maintenant, ce qu'il me manque, c'est de pouvoir lister tous les blocs multivues. Ils sont peut-être dans une table ou dans un dictionnaire. Seul un dwg peut me l'indiquer, à moins que tu saches me le montrer, comme pour les codes dxf. J'ai regardé ton dxf et je n'ai que des blocs standard donc je peux pas encore répondre à ta requête @+
  7. Salut (vl-list->string '(112 97 116 114 105 99 107 51 53 64 97 108 105 99 101 97 100 115 108 46 102 114)) @+
  8. Salut L'idée est de parcourir la table des blocs, d'y regarder s'il y a des blocs imbriqués et d'effacer ces références le cas échéant. La condition d'arrêt --> Pas d'insertion de bloc @+
  9. Merci, mais c'est pas exactement ma demande Si je t'ai demandé un exemple, c'est pour regarder les codes dxf d'un bloc multivue, même bidon. @+
  10. Patrick_35

    Comment gérer ses blocs

    Salut Un vieux lisp fonctionnant depuis la V12 ? Bibles @+
  11. Patrick_35

    pt insertion bloc

    Salut En bas de ma signature Tu peux donner un exemple ? @+
  12. Salut Et quelque chose dans ce style ? (defun effbl(bl / ent) (vlax-for ent bl (and (eq (vla-get-objectname "AcDbBlockReference") (effbl ent)) ) (vla-delete bl) ) (vlax-for bl (vla-get-blocks (vla-get-activedocument (vlax-get-acad-object))) (and (wcmatch (strcase (vla-get-name bl)) "TEMP_*") (effbl bl)) ) ps : non testé @+
  13. Salut N'ayant pas AutoCAD Architecture, si tu pouvais donner un exemple afin que je comprenne à quoi correspond ces blocs à vue multiple. @+
  14. Patrick_35

    Lisps de Patrick_35

    La mise à jour de Rbloc (v2.21) est maintenant disponible. @+
  15. Patrick_35

    Lisps de Patrick_35

    C'est surprenant, mais comme je n'utilise pas ces blocs dynamiques ;) Tu peux m'envoyer quelques blocs pour test. Merci @+
  16. Patrick_35

    pt insertion bloc

    Ah oui, j'étais en train de corriger un bug et je n'avais pas fini Normalement, c'est fait (v3.11) @+
  17. Salut Je pense que tu peux intégrer tes liens dans ta signature ;) @+
  18. Patrick_35

    pt insertion bloc

    Salut Rins @+
  19. Patrick_35

    Lisps de Patrick_35

    Salut J'avais remarqué ce problème et déjà essayé de forcer la sauvegarde sur la version indiqué par défaut mais cela ne fonctionne pas. C'est comme avec la commande wbloc, les dwg sont écrit selon la dernière version du logiciel, pas sur celle indiqué dans les options(que l'on retouve dans (vla-get-saveastype (vla-get-opensave (vla-get-preferences (vlax-get-acad-object)))) ) Il n'y a pas de raison. Le lisp ne change que le texte, pas la justification. Il faut que tu changes XY par le nom du bloc, X par le nom de l'étiquette correpondant aux cordonnées X, Y et Z idem à X C'est dans cette ligne du lisp (setq Nom_bloc "XY" Eti_X "X" Eti_Y "Y" Eti_Z "Z") Ici @+
  20. Salut Tu as pensé aux réacteurs comme avec vlr-dwg-reactor et l'évènement :vlr-beginClose ? @+
  21. Patrick_35

    Remplacement de blocs

    Salut Une piste de recherche pour commencer Une liste contenant les blocs d'origine avec leurs calques Une liste contenant les blocs à remplacer avec leurs calques Une boucle qui sélectionne tous les blocs et qui remplace les blocs de la 1ere liste avec ceux de la seconde sur les calques de la 1ere liste avec les calques de la seconde A vos claviers @+
  22. Patrick_35

    Calcul Chute de Tension BT

    Salut Si c'est pour EDF, tout est dans la C14100, sinon dans la c15100, mais c'est un peu plus compliqué. @+
  23. Salut Il faut que le lisp soit déjà chargé ou en chargement automatique (autoload). (setq ma_variable "(c:beton)") (eval (read ma_variable)) @+
  24. Salut Je tenterai bien un _audit, histoire de voir @+
×
×
  • 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é