Matt666
Membres-
Compteur de contenus
736 -
Inscription
-
Dernière visite
-
Jours gagnés
2
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par Matt666
-
Salut Gile ! On exclut les arcs dans les polylignes ? Sinon il faudra le faire vlisp, nan ? EDIT : En même temps un polygone avec un arc, c'est plus un polygone :P [Edité le 21/12/2007 par Matt666]
-
Tout le monde est dans le même cas.. Ce doit être en fonction du nombre de connexion simultanées... De plus en plus de monde sont inscrites à ce forum... Enfin c'est ce que je me dis... CadXP est victime de son succès. Ceci dit l'augmentation du nombre d'inscrits n'est pas vraiment proportionnelle au nombre de participants pour les challenges :mad: Sniff
-
:) Qu'est ce qu'un lisp... La question est de taille... :D Le langage de programmation (auto) lisp permet de personnaliser et custmiser autocad, avec de nouvelles commandes. Lisp = Gain de temps et utilisation facilitée... Qqs liens : Autocad Wikipédia Visual lisp Voilà... Je vais pas développer, ça pourrait durer longtemps ! [Edité le 20/12/2007 par Matt666]
-
Sélectionner ou saisir un texte
Matt666 a répondu à un(e) sujet de Matt666 dans Pour aller plus loin en LISP
Désolé d'être chiant, mais ne peut-on pas faire une routine "getselorstring" ? -
Ah ok ! Merci pour les corrections Gile, je mets à jour le post plus haut !
-
merci :red:
-
Salut ! Pieroka, Pourrais -tu me donner le nom de ta commande, s'il te plait ? Juste pour le fun... :) ;;;************************************************************************ ;;; Symboliser la fenêtre en espace objet (defun c:vrc (/ cmdecho sel n ent ct lg ht zo lst) (setq cmdecho (getvar "cmdecho")) (setvar "cmdecho" 0) (princ "\nSélectionner des fenêtres de présentation...") (if (and (eq (getvar "tilemode") 0) (setq sel (ssget '((0 . "VIEWPORT")))) ) (progn (repeat (setq n (sslength sel)) (setq ent (entget (ssname sel (setq n (1- n)))) ct (mapcar '+ (trans (cdr (assoc 17 ent)) 0 1) (trans (cdr (assoc 12 ent)) 2 1) ) lg (cdr (assoc 40 ent)) ht (cdr (assoc 41 ent)) zo (/ (cdr (assoc 45 ent)) (cdr (assoc 41 ent)) ) lst (cons (cons (list (- (car ct) (/ (* lg zo) 2)) (- (cadr ct) (/ (* ht zo) 2)) 0.00 ) (list (list (+ (car ct) (/ (* lg zo) 2)) (+ (cadr ct) (/ (* ht zo) 2)) 0.00 ) ) ) lst ) ) ) (setvar "tilemode" 1) (foreach pt lst (command "_rectang" "_non" (car pt) "_non" (cadr pt))) )) (setvar "cmdecho" cmdecho) (if (eq (sslength sel) 1) (princ "\nUne fenêtre représentée en espace objet.") (if (/= (sslength sel) 0) (princ (strcat "\n" (itoa (sslength sel)) "fenêtres représentées en espace objet.")) ) ) (princ) ) A bientot. Matt. EDIT : Corrections apportées par Mister Gile. [Edité le 20/12/2007 par Matt666]
-
Houlàlà... Je comprends pas du tout ce que tu veux faire avec cette routine !!!! Tu veux que ton point soit à z=distance entre a et b, c'est ça ???? Je vois pas du tout, désolé !!!
-
Voilà ! Bravo ! Certaines commandes autocad sont assez simples à reproduire... :cool: Maintenant, imaginons que l'entité sélectionnée soit un bloc, il faudrait savvoir si ce bloc contient des attributs ou pas.. Une routine du genre : Commande : Cliquer sur un bloc : Commande : Ce bloc contient des attributs. ;) [Edité le 19/12/2007 par Matt666]
-
Ok. Tu fais donc ceci pour créer ton point (command "_point" pause) Mais il faut récupérer les informations de ton point nouvellement créé... Donc je ferai ceci : (setq ent (entlast)) (command "_point" pause) (if (/= ent (entlast)) (setq ent (entlast)) ) ent = ename de ton point créé. Ensuite Tu trouves une coordonnée Z. Disons 50.00 Pour pouvoir modifier une entité en lisp, il faut utiliser entmod. Exemple : (setq ent (entlast)) (command "_point" pause) (if (/= ent (entlast)) (setq ent (entlast)) ) (setq z 50.00) (setq dxf-ent (entget ent)) (setq lst (cdr (assoc 10 dxf-ent))) (setq ent (subst (cons 10 (list (car lst) (cadr lst) z ) ) (assoc 10 dxf-ent) dxf-ent ) ) (entmod dxf-ent) (entupd ent) Ou plus concis et avec une condition en plus : (setq ent (entlast)) (command "_point" pause) (if (and (/= ent (entlast)) (eq "POINT" (cdr (assoc 0 (entlast)))) ) (progn (setq ent (entlast)) (entmod (subst (cons 10 (list (car (cdr (assoc 10 (entget ent)))) (cadr (cdr (assoc 10 (entget ent)))) 50.00 ) ) (assoc 10 (entget ent)) (entget ent) )) (entupd ent) ) ) Voilà... A toi de changer le 50.00 par la valeau de ton Z... EDIT : Raah en core doublé par Gile !!! Décidément ;) [Edité le 19/12/2007 par Matt666]
-
Juste un truc pour yusukens82 : Ca fait plusieurs fois que je vois ça dans tes réponses, C'est LISP, et pas LIPS :) A bientot. Matt. :P
-
Houlà c'est pas très clair.... bah ptet avec une variable !!! Et puis aussi la fonction list... Exemple : 3 points : (setq pt1 '(1.00 2.00 3.00)) (setq pt2 '(4.00 5.00 6.00)) (setq pt3 '(7.00 8.00 9.00)) Si tu veux un point avec le x de pt1, le y de pt2 et le 7 de pt3, faut faire ça : (setq pt4 (list (car pt1) (cadr pt2) (caddr pt3))) Voilà ! En espérant t'avoir aidé... A bientot ! Matt. [Edité le 19/12/2007 par Matt666]
-
Sélectionner ou saisir un texte
Matt666 a répondu à un(e) sujet de Matt666 dans Pour aller plus loin en LISP
Grread... Ah bah oui !!! Merci à vous deux, cette bout de code risque d'être bien pratique, dans beacoups de routines !!! Dément... A bientot ! Matt. -
Salut ingoenius ! Quelques réponses ici et là... A bientot ! Matt.
-
Couleur du calque dans plusieurs blocs
Matt666 a répondu à un(e) sujet de p.martin dans AutoCAD 2008
Sinon utilise Edit bloc de Gile, Outils très performant. A bientot. Matt. EDIT : Ah... Doublé ! [Edité le 18/12/2007 par Matt666] -
Cool ! Merci patrick
-
Sélectionner ou saisir un texte
Matt666 a répondu à un(e) sujet de Matt666 dans Pour aller plus loin en LISP
Ah oui... :D Franchement je vois pas du tout comment faire... Compliqué ce truc ! -
Bon bah chu bloqué... Fin nan, mais ma routine fait un paquet de lignes seulement pour le niveau 2... C'est la blaze :(
-
Bravo ! Maintenant, il faudrait mettre ce nom de calque en courant, c'est à dire comme calque actif.... [Edité le 18/12/2007 par Matt666]
-
Sélectionner ou saisir un texte
Matt666 a répondu à un(e) sujet de Matt666 dans Pour aller plus loin en LISP
Ah ok pas mal ! Mais c'est pas tout à fait ça que je veux... J'avais donné ça, mais ça n'est pas tout à fait ça, encore : (INITGET 128) (setq q (entsel "\nSelect object or tape name of layer: ")) (cond ((= (type q) 'STR) (setq layer q)) ((= (type q) 'LIST) (setq layer (cdr (assoc 8 (entget (car q)))))) ) EDIT : J'avais pas vu la réponse du type sur le forum autocad... J'ai pas compris grand chose à sa réponse, mais je trouve que le problème de l'espace est plus important... Et je ne sais pas du tout comment faire... Pour ta routine, il faut quand même passer par une entrée pour sélectionner l'entité... Donc ça ne fonctionne pas.. [Edité le 18/12/2007 par Matt666] -
Salut ! Je ne sais pas si ça a déjà été fait... Je propose un post de dépôt d'adresses web où l'on peut trouver des routines lisp gratuites... Dites moi ce que vous en pensez ! Je commence : Better than nothing autolisp : Des routines intéressantes et pas toutes en VLisp Autolisp Exchange : Pas mal de lisps avec des DCL. Earth consultancy services 4d technologies : Des routines et des fonctions (je crois) rangées par familles Paul Nylanders Qq routines... FreeCadApps Cadalyst : Evidemment.... Un choix énorme de routines !!! Afralisp : C'est pareil, site très intéressant. Maxence Delannoy : Site français très instructif avec quelques routines et un editeur lisp que j'utilise. Roger Rosec Un grand développeur lisp (de ce que j'en pense...) Jeffery P Sanders : C'est pareil, un bon vieux balaise du lisp, avec des routines à télécharger. Tony Tanzillo : Son site avec qqs routines Voilà. Y en aura d'autres à venir, certainement ! A bientot. Matt.
-
Salut ! Suite à ce message, je pose la même question ici, au cas où des gens sauraient faire... Est-ce possible de donner le choix à l'utilisateur de : - Cliquer sur une entité - Entrer le nom de l'entité ? Bien sur, sans avoir à faire un entrée pour entrer le nom.... Exemple : (car (entsel "\nCliquer sur une entité ou entrer le nom du calque : ")) Avec (initget 128) avant, ça fonctionne, mais les espaces sont considérés comme des entrées.... Voilà ! Je vois pas... A bientot ! Matt.
-
Il m'énerve ce gile !!! :D Incroyable.... J'en suis arrivé au 2ème niveau, c'est tout !! Patrick ! Il est dur ce challenge !! Dément !
-
Salut bseb67 ! Euh.... Perso j'arrive pas à voir l'intérêt ! Désolé... Tu peux approfondir un peu ?
-
Tu n'étais pas visé, pascal :D ! Au contraire...
