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. Salut En partant sur la base que la liste de calque est différente selon chaque dessin. Je définis les calques qui doivent être gélés entre EO et EP (enregistré dans le dessin). A taper au clavier juste la 1er fois, saut si on refais la liste de calques. Les caractères génériques peuvent être utilisés. (vlax-ldata-put "Ma_liste_de_Calque_Perso" "Patrick_35" '("Calque*" "Un_autre" "*Comprenant*")) Et le lisp suivant doit-être chargé à chaque ouverture de dessin (avec la commande _appload + malette) (defun patrick:modification_variable(rea var / cal lay lst tag) (cond ((eq (car var) "TILEMODE") (and (setq lst (vlr-data rea)) (progn (if (eq (getvar "tilemode") 0) (setq tag :vlax-false) (setq tag :vlax-true) ) (vlax-for lay (vla-get-layers (vla-get-activedocument (vlax-get-acad-object))) (foreach cal lst (and (wcmatch (vla-get-name lay) cal) (vla-put-freeze lay tag) ) ) ) ) ) ) ) ) (or reacteur_patrick_35_variable (setq reacteur_patrick_35_variable (vlr-sysvar-reactor (vlax-ldata-get "Ma_liste_de_Calque_Perso" "Patrick_35") (list (cons :vlr-sysvarchanged (function patrick:modification_variable)))))) @+
  2. C'était le cadeau pour ta 12em année de cadxp ;) @+
  3. Salut (defun c:champsorphelins (/ acdoc ss sel) (vl-load-com) (setq acdoc (vla-get-ActiveDocument (vlax-get-acad-object))) (setq ss (ssadd)) (and (ssget) (progn (vlax-for obj (setq sel (vla-get-activeselectionset acdoc)) (if (or (and (member (vla-get-ObjectName obj) '("AcDbMLeader" "AcDbMText" "AcDbText") ) (vl-string-search "###" (vla-get-TextString obj)) ) (and (= (vla-get-ObjectName obj) "AcDbBlockReference") (vl-some '(lambda (x) (vl-string-search "###" (vla-get-TextString x))) (vlax-invoke obj 'GetAttributes) ) ) ) (ssadd (vlax-vla-object->ename obj) ss) ) ) (vla-delete sel) ) ) (sssetfirst nil ss) (princ) ) @+
  4. Patrick_35

    zoom étendu

    Je pense comme didier Avec ctrl+A et les grips, tu devrais voir quelque chose @+
  5. Patrick_35

    zoom étendu

    Salut Pour trouver ce qui cloche, je fais ctrl+a dans le dessin et ensuite un shift+capture pour enlever ce que je veux conserver. Maintenant, je peux voir ce qui pose problème. @+
  6. Bonjour et merci (gile) Tu as raison de faire ce rappel. Perso, je n'y pense jamais. Les habitudes sont dures à changer ;) @+
  7. Non, je vois très bien ce que tu fais. Quand on lit un lisp, on voit rapidement le niveau de la personne. Ce n'est pas le but de l'opération. L'idée est d'écrire en lisp une valeur sur un attribut quelconque et de voir le résultat. En fonction du résultat, tu peux deviner ce qui ne va pas dans le lisp et corriger. C'est jouer avec dimzin, d'écrire directement une valeur numérique, un string, etc... Avec les flèches du clavier, tu peux rappeler une instruction lisp, la modifier et voir. Je pense que tu n'as pas compris ma démarche. Ce n'est pas une question de niveau. Juste une manière de débuguer. @+
  8. Je te propose juste d'écrire une valeur dans un attribut en lisp, de voir le résultat pour essayer de comprendre d'où peut provenir le problème ? @+
  9. Et en faisant cela ? Sélection de l'attribut (setq att (vlax-ename->vla-object (car (nentsel)))) Ecrire la valeur (vla-put-textstring att "0.5") Et pour jouer avec la variable dimzin (vla-put-textstring att (rtos 0.5)) @+
  10. Salut Regarde la variable DIMZIN @+
  11. Une amélioration possible Pour personnaliser la liste de calques en fonction de chaque dessin (vlax-ldata-put "Ma_liste_de_Calque_Perso" "Patrick_35" '("Calque*" "Un_autre" "*Comprenant*")) Et avoir le réacteur qui réagit en conséquence (setq reacteur_patrick_35_variable (vlr-sysvar-reactor (vlax-ldata-get "Ma_liste_de_Calque_Perso" "Patrick_35") (list (cons :vlr-sysvarchanged (function patrick:modification_variable))))) @+
  12. Bonjour Comme la demande semble interesser plusieurs personnes, j'ai fait un petit lisp sur la base des réacteurs. Lisp à charger en automatique pour chaque dessin. Le réacteur (defun patrick:modification_variable(rea var / cal lay lst tag) (cond ((eq (car var) "TILEMODE") (and (setq lst (vlr-data rea)) (progn (if (eq (getvar "tilemode") 0) (setq tag :vlax-false) (setq tag :vlax-true) ) (vlax-for lay (vla-get-layers (vla-get-activedocument (vlax-get-acad-object))) (foreach cal lst (and (wcmatch (vla-get-name lay) cal) (vla-put-freeze lay tag) ) ) ) ) ) ) ) ) La liste de calques pouvant contenir des caractères génériques (setq liste_de_calques_eo_ep '("Calque*" "Un_autre" "*Comprenant*")) Pour activer le réacteur (setq reacteur_patrick_35_variable (vlr-sysvar-reactor liste_de_calques_eo_ep (list (cons :vlr-sysvarchanged (function patrick:modification_variable))))) Pour supprimer le réacteur (and reacteur_patrick_35_variable (vlr-remove reacteur_patrick_35_variable)) ps : il est possible de personaliser la liste de calque pour chaque dessin. A voir @+
  13. Salut J'ai une solution, mais il faut passer par la prog et les réacteurs. Si tu pouvais indiquer quels calques geler, je ferai un truc. @+
  14. @rebcao C'est bien ce que je disais, on choisit le style de tracé en fonction du calque et non de la couleur. Après, cela reste un choix. @DenisH Il faut utiliser la commande CONVERTPSTYLES pour cela @+ ps : j'utilise visretain pour retrouver les couleurs au besoin et sans flinguer mes présentations pps : je sens que cela devient stérile comme discution
  15. Salut Regarde la commande rtext des express tools @+
  16. Oui, comme tu peux choisir les ctb ??? @+
  17. Salut Je trouve qu'il y a du parti pris. On peut très bien jouer avec la variable visretain pour retrouver les couleurs d'origine du xref. Le seul avantage, selon mon point de vue, est de pouvoir affecter une couleur/épaisseur selon le calque et non plus selon la couleur. Quant au résultat de la démonstration, tout dépend comment a été réalisé le dessin. Si on force le style de tracé dans un bloc, cela revient au même que forcer la couleur sauf qu'il est plus parlant de forcer une couleur qu'un style de tracé. Paramétrer un tracé selon les couleurs ou selon les calques ? A chacun sa méthode, selon le niveau de ses collègues ou à qui on transmet le dessin (client, bet, etc...) ps : Dans le vote, tu aurais pu proposer : Je force la couleur du xref dans le dessin sans toucher aux couleurs d'origine du xref. Je ne décompose pas le xref, ni les blocs, mais j'uniformise la couleur en ducalque. @+
  18. Salut Dans le champ, tu choisis VariableSystème --> CTAB @+
  19. Patrick_35

    (texte_clipboard)

    Why not, it's a solution :D Remains how to exploite the list @Didier It's not false I must say ElpanovEvgeniy is the best World's lisp's @+
  20. Patrick_35

    (texte_clipboard)

    Thank you very much Alphanov Evgeniy This is a smart way to do that I had never thought. But because there is always a but, it does not work with copy from excel on a range of cells with values that contain spaces. With the example given in excel but processed in monetary figures, str = "1,00 €\t2,00 €\t3,00 €\t4,00 €\r\n5,00 €\t6,00 €\t6,00 €\t7,00 €\r\n9,00 €\t0,00 €\t0,00 €\t1,00 €\r\n" and read's function transforms the separate elements of a list areas. The result should be (("1,00 €" "2,00 €" "3,00 €" "4,00 €") ("5,00 €" "6,00 €" "6,00 €" "7,00 €") ("9,00 €" "0,00 €" "0,00 €" "1,00 €")) instead of ((1,00 € 2,00 € 3,00 € 4,00 €) (5,00 € 6,00 € 6,00 € 7,00 €) (9,00 € 0,00 € 0,00 € 1,00 €) nil) You're welcome. @+
  21. Patrick_35

    (texte_clipboard)

    Salut et merci Didier J'ai un collègue qui fait un export d'un logiciel de calcul vers Excel. Ensuite, il fait un copier depuis Excel vers des dessins Autocad qui renseignent automatiquement les bons attributs. J'en ai profité alors pour généraliser la fonction. @+
  22. Bonjour Voici une routine qui récupère les valeurs d'un copier (ctrl+c) depuis Excel, Word, Bloc-note, etc... sous la forme d'une liste. Danc cette liste, il peut y avoir plusieurs sous-listes et chaque sous-liste correspond à une ligne. Par exemple, un ctrl+c depuis le bloc-note sur (texte_clipboard) --> '(("Une ligne") ("Une deuxieme") ("Encore une") ("Histoire de ;)")) Depuis Excel (chaque chiffre est dans une cellule différente) (texte_clipboard) --> '(("1" "2" "3" "4") ("5" "6" "6" "7") ("9" "0" "0" "1")) ps : Si on fait un copier depuis l'explorateur, le résultat sera nil. @+ texte_clipboard.lsp
  23. Bonjour Pour faire suite à une demande, j'ai modifié le lisp GRF afin de regrouper différents fichiers dans le même dessin avec une mise en page automatique pour chaque dessin (folio) @+ Grf.lsp
  24. Patrick_35

    Texte sans STYLE ?

    Bonjour à tous A mon avis Didier, tu t'es fait marabouté :D @+
  25. Ah Alors (cons 6 "Bylayer") @+
×
×
  • 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é