Aller au contenu

DenisHen

Membres
  • Compteur de contenus

    4 029
  • Inscription

  • Dernière visite

  • Jours gagnés

    21

Tout ce qui a été posté par DenisHen

  1. J'ai commencé à écrire ça : ;;;**************************************************************** ;;;Changement du style de texte des textes et MTextes en ARIAL***** (if (setq Select (ssget "_X" (list (cons 0 "TEXT,MTEXT"))) ) ;_ Fin de setq (while Select (entmod (subst (cons 7 "ARIAL") (assoc 62 a) a))) ) ;_ Fin de if Mais je n'ose même pas le lancer... :huh:
  2. Merci nosset de ton aide. On ne peut pas dire que je "sais" programmer en lisp, mais j'arrive à faire certain truc. Pour le ssget, pas de problème, mais c'est pour le entmod que je vais ramer... Enfin, je vais fouiller dans l'aide pour voir s'il y a des truc qui m'aideraient... Merci encore.
  3. Bonjour à la communauté. Voilà, j'ai un petit problème que je n'arrive pas à résoudre. En fait, je ne sais pas par où commencer. J'aimerai changer le style de texte (ex:MONOTXT) et de hauteur (ex:0.4) de plusieurs entités par un autre style qui existe déjà dans mon dwg (ex:Arial) avec une autre hauteur de (ex:0.6). Si quelqu'un a une astuce, un conseil ou une idée, je suis preneur... Denis...
  4. Avec des points en XYZ ou des points en XY avec le Z écrit à coté ? Sur LT... Ça va être coton... Et je rejoins Fundream, de la 3D sur LT ? Et ces points représentes quoi ? Un maillage ? Des polylignes ? un terrain naturel ?
  5. Salut, Merci (gile)...
  6. Bonjour à la communauté. Voilà, je travail sur une suite de plusieurs chartes graphiques construites dans un tableau Excel... Depuis ce dernier, je créé des fichiers ASCII pour un "import/création" dans AutoCAD via un petit LISP. Mon problème est de savoir si un fichier existe avant de l'ouvrir depuis ce LISP. Existe-t-il un équivalent à "FileExist" (de VB) ou un truc dans ce genre que je pourrais placer dans mon LISP ? Si quelqu'un a une astuce, un conseil ou une idée, je suis preneur. Denis...
  7. DenisHen

    Lisps de gile

    Mille mercis à toi (gile)... Et aussi pour tout ce que tu fais pour nous... En particulier et en général... Denis...
  8. DenisHen

    Lisps de gile

    Bonjour (gile) et merci de ton attention. Voici le fichier qui pose problème... Denis...
  9. DenisHen

    Lisps de gile

    Bonjour à tous. Voilà, j'ai un petit souci avec la super commande RPurge, que j'utilise tous les jours... Mais aujourd'hui, petit problème sur un dessin client. J'ai fais un controle du dessin et pas d'erreurs détectées... Je remonte donc au grand (gile) cette information au cas où ça l'intéresserait. Tout est dans l'image... Denis...
  10. Bonjour Patrick... Et félicitations...
  11. Bonjour à la communauté. Voilà, j'ai écris, il y a quelques temps, un petit bout de code dont je me sers tout le temps. Je me dis aujourd'hui : Ben pourquoi tu ne l'as jamais partagé ? Je corrige donc cet oubli... Ce code enregistre dans le dessin une échelle saisie. Pas celle de Covadis ou autre, mais bien une échelle qui me sert lorsque j'écris un texte ou insert un bloc... Le voici : (setq ech (vlax-ldata-get "DenisH" "Ech")) (if ech (princ (strcat "\t\tEchelle : 1/" (rtos ech 2 0))) (progn (setq ech (getreal "\t\tÉchelle du dessin 1/")) (vlax-ldata-put "DenisH" "Ech" ech) ) ;_ Fin de progn ) ;_ Fin:if Lorsque je lance un Lisp qui écrit un texte, ou qui insert un bloc, je place ce code en début de Lisp... J'utilise ensuite l'échelle stockée pour définir la taille de ce texte, ou l'échelle d'insertion d'un bloc... J'ai aussi cette commande qui demande de saisir l'échelle. Pratique lorsqu'on veut la changer : (defun c:ChangEchelle (/ ech) (setq ech (vlax-ldata-get "DenisH" "Ech")) (if ech (princ (strcat "\n\tÉchelle : 1/" (rtos ech 2 0))) ) ;_ Fin de if (setq ech (getreal "\tÉchelle du dessin 1/")) (if (= ech "") (princ "\nÉchelle inchangée...") (vlax-ldata-put "DenisH" "Ech" ech) ) ;_ Fin de if (princ) ) ;_ Fin de defun Voilà, j'espère que ça profitera à d'autre... Denis...
  12. Merci zza427, c'est exactement ce que je cherchais....
  13. De plus, je suis sûre que ça se joue la-dedans : ;; Modification des propriétés des entités composant le bloc (defun edit_prop (ent / acc) (if lay-p (vla-put-Layer ent (nth lay l_lst)) ) (if col-p (if (< (atoi (substr (getvar "ACADVER") 1 2)) 16) (vla-put-Color ent (cdar col)) (progn (setq acc (vla-getInterfaceObject (vlax-get-acad-object) (strcat "AutoCAD.AcCmColor." (substr (getvar "acadver") 1 2) ) ) ) (cond ((assoc 430 col) (vla-setNames acc (substr cnm (+ 2 (vl-string-position 36 cnm))) (substr cnm 1 (vl-string-position 36 cnm)) ) (vla-setRGB acc (lsh rgb -16) (lsh (lsh rgb 16) -24) (lsh (lsh rgb 24) -24) ) ) ((assoc 420 col) (vla-setRGB acc (lsh rgb -16) (lsh (lsh rgb 16) -24) (lsh (lsh rgb 24) -24) ) ) (T (vla-put-ColorIndex acc ind) ) ) (vla-put-TrueColor ent acc) ) ) ) (if tl-p (vla-put-LineType ent (nth tl (subst "ByLayer" "DuCalque" (subst "ByBlock" "DuBloc" lt_lst) ) ) ) ) (if el-p (vla-put-LineWeight ent (nth el '(-1 -2 -3 0 5 9 13 15 18 20 25 30 35 40 45 50 53 60 70 80 90 100 106 120 140 158 200 211 ) ) ) ) (if plt (if (= 1 plt_n) (vla-put-PlotStyleName ent "ByBlock") (vla-put-PlotStyleName ent "ByLayer") ) ) ) En faisant un ssget au début et en laissant tomber les couleurs RGB et les épaisseurs de lignes, ça devrait pouvoir se raccourcir... Je cherche mais je nage là ou je n'ai pas pied...
  14. Bonjour à la communauté. Je pense que tout est dans le titre, peut-on utiliser EDIT_BLOC de (gile) en ligne de commande ? Car j'ai un souci, j'ai des blocs qui ne sont ni définis dans le calque 0 ni dans la couleur du calque. Ces blocs sont simples (des traits et des cercles, pas d’attributs, pas de textes). J'aimerais juste que tous mes blocs soient définis dans le calque 0 et en couleur DuCalque et peut-être le type de ligne DuCalque... J'ai regarder le Lisp de (gile) pour en récupérer ce que je veux faire mais il est vraiment trop complexe pour mon piètre niveau... Si quelqu'un a une astuce, une idée ou un conseil, je suis preneur...
  15. Bonjour à vous... Et merci pour votre aide... Je vais partir sur un (while... Patrick_35 : aucun problème, mais ça risque d'être long... :unsure:
  16. Bonjour à tous. Voilà, aujourd'hui, je cherche à supprimer tous les calques nommés numériquement : de 1 à 64 issus d'un vieux DGN. J'ai écris ceci : (setq n 1) (foreach (< n 70) (if (not (tblsearch "layer" (rtos n 2 0))) (command "-supcalque" "n" (rtos n 2 0) "") ) ;_ Fin de if (setq (+ n 1)) ) ;_ Fin de foreach Mais quand je charge mon Lisp, AutoCAD me répond : Si quelqu'un a une astuce, une idée ou un conseil, je suis preneur... Denis... EDIT : En plus, je cherche si le calque n'existe pas avec le not... Quel âne je fais... (setq n 1) (foreach (< n 70) (if (tblsearch "layer" (rtos n 2 0)) (command "-supcalque" "n" (rtos n 2 0) "") ) ;_ Fin de if (setq (+ n 1)) ) ;_ Fin de foreach
  17. Bonjour Patrick_35. J'ai rebooter et ça marche...!?! D'où ça venait, aucune idée...? Merci pour ton aide. Denis...
  18. Bonjour à la communauté. Voilà, j'ai un souci mais je ne sais pas exactement lequel, raison pour laquelle le titre est un peu "flou"... J'ai écris ce code : (princ "\nDébut du remplacement des blocs") (setq LstBlk '(("EAU12*" . "EAU12") ("EAU22*" . "EAU22") ("EAU32*" . "EAU32") ("EAU42*" . "EAU42") ;Et patati ;Et patata ) ) ;_ Fin de setq ;;;Début de la boucle (foreach PosLstBlk LstBlk (setq n 0) (if (setq Select (ssget "_X" (list (cons 0 "INSERT") (cons 2 (car PosLstBlk))))) (while (setq ent (ssname Select n)) (setq elst (entget ent) Coord (cdr (assoc 10 elst)) EchX (cdr (assoc 41 elst)) EchY (cdr (assoc 42 elst)) Rot (cdr (assoc 50 elst)) n (1+ n) ) ;_ Fin de setq (setvar "clayer" (cdr (assoc 8 elst))) (command "_erase" ent "") (setq Coord (strcat (rtos (car Coord) 2 3) "," (rtos (cadr Coord) 2 3))) (setq Rot (+ Rot (/ pi 2))) (command "-inserer" (cdr PosLstBlk) "_non" Coord EchX EchY (angtos Rot 2 3)) ) ;_ Fin de while ) ;_ Fin de if ) ;_ Fin de foreach AutoCAD me répond : Je sais, grace à la console, que, quand ça plante, n = 0 Mais je ne sais pas quoi faire avec ça. Si quelqu'un a une astuce, un conseil ou une idée, je suis preneur... Denis...
  19. Merci, Je propose de rester sur l'autre post, vu qu'il y a déjà plus de réponses qu'ici...
  20. Bonjour et merci à tous... rimbo : Covadis me découpe le polyligne selon les entités du bloc, et non son point d'insertion. neptune38 : Je n'arrive pas à le faire fonctionner correctement. En tous cas, merci à vous deux...
  21. Bonjour à la communauté, Voilà, un collègue me demande si on peut couper une polyligne dès qu'il y a un bloc. Je m'explique, on a un réseau de plusieurs kilomètre d'éclairage public avec des lampadaires tout les 50 voir 100 mètres. Il aimerait couper cette polyligne entre chaque lampadaire. Si quelqu'un a une astuce ou un conseil... Nous sommes preneur. Denis... PS : Ce post fait doublon dans le thème "Covadis".
  22. Bonjour à la communauté, Voilà, un collègue me demande si, dans Covadis, on peut couper une polyligne dès qu'il y a un bloc. Je m'explique, on a un réseau de plusieurs kilomètre d'éclairage public avec des lampadaires tout les 50 voir 100 mètres. Il aimerait couper cette polyligne entre chaque lampadaire. Si quelqu'un a une astuce ou un conseil... Nous sommes preneur. Denis... PS : Ce post fait doublon dans le thème "Lisp et Visual Lisp".
  23. Bonjour à vous... Ok, je comprend mieux, bien que celà me semble tout de même "curieux" que "l'argument derrière un quote n'est pas évalué" En tous cas, merci à vous. Denis...
  24. Bonjour à la communauté. Voilà, j'avais écris un petit bout de code comme cà : (foreach PosLst LstCalq (if (setq Select (ssget "_X" '((0 . "INSERT") (8 . (car PosLst)) ) ) ;_ Fin de ssget ) ;_ Fin de setq (command "chprop" Select "" "ca" (cdr (assoc (car PosLst) LstCalq )) "" ) ) ;_ Fin de if ) Mais AutoCAD me sortait un mauvais argument sur le ssget... J'ai donc repris mon code pour en faire ceci : (foreach PosLst LstCalq (if (setq Select (ssget "_X" (list (cons 0 "INSERT") (cons 8 (car PosLst)) ) ) ;_ Fin de ssget ) ;_ Fin de setq (command "chprop" Select "" "ca" (cdr (assoc (car PosLst) LstCalq)) "") ) ;_ Fin de if ) Le truc bizzare, c'est que le deuxième code fonctionne... Si quelqu'un pouvait m'aider à comprendre... Denis...
  25. A ce sujet, j'ai trouvé, dans un autre post, un lisp hyper intéressant : Steal de Lee Mac
×
×
  • 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é