Aller au contenu

Bred

Membres
  • Compteur de contenus

    2 764
  • Inscription

  • Dernière visite

Tout ce qui a été posté par Bred

  1. :P Ah ben tient, depuis tout à l'heure je me disais que je pouvais simplifier ce code, je le fait, et en fait Patrick m'a devancé.... c'est la même chose, sauf que je le fait avec (repeat .... ;;;;;;;;;;;;;;;;;;;; ; copie objets d'un calque dans nouveau (defun c:cc (/ CONT-L L N-L X) (vl-load-com) (while (not L) (setq L (getstring T ":\n Nom du Calque à dupliquer (avec contenu) :")) (if (not (tblobjname "LAYER" L)) (setq L nil) ) ) (setq N-L (getstring T ":\n Nom du nouveau Calque :") cont-L (ssget "_X" (list (cons 8 L)))) (vla-add (vla-get-Layers (vla-get-ActiveDocument (vlax-get-acad-object))) N-L) (vla-put-color (vlax-ename->vla-object (tblobjname "LAYER" N-L)) (vla-get-color (vlax-ename->vla-object (tblobjname "LAYER" L)))) (vla-put-linetype (vlax-ename->vla-object (tblobjname "LAYER" N-L)) (vla-get-linetype (vlax-ename->vla-object (tblobjname "LAYER" L)))) [b](repeat (setq x (sslength cont-L)) (vla-put-layer (vla-copy (vlax-ename->vla-object (ssname cont-L (setq x (1- x))))) N-L) )[/b] (princ) )
  2. Bred

    Routines pour TEXT/MTEXT

    Re, Vite fait, à approfondir : ;;; liste d'écart (defun list_tri_txt () (list [b] "Nom_du_calque" (cons 0 3) (cons 4 9) (cons 10 19)[/b] ) ) ;;; Commande à Lancer (defun c:test () (vl-load-com) (if (setq lst (list_tri_txt)) (progn (repeat (1- (setq x (length lst))) (vla-add (vla-get-Layers (vla-get-ActiveDocument (vlax-get-acad-object))) (strcat (car lst) "-" (rtos (car (nth (setq x (1- x)) lst))) "_" (rtos (cdr (nth x lst)))))) (setq sel (ssget (list (cons 0 "TEXT,MTEXT")))) (repeat (setq i (sslength sel)) (setq val (atof (cdr (assoc 1 (entget (ssname sel (setq i (1- i)))))))) (repeat (1- (setq x (length lst))) (if (and (> val (car (nth (setq x (1- x)) lst))) (< val (cdr (nth x lst)))) (vla-put-layer (vlax-ename->vla-object (ssname sel i)) (strcat (car lst) "-" (rtos (car (nth x lst))) "_" (rtos (cdr (nth x lst))))) ) ) ) ) ) (princ) )
  3. Qualque soit le type d'impression.
  4. Bred

    Routines pour TEXT/MTEXT

    Ok, merci !
  5. RE, En te copiant outrageseument ici. (defun c:cc (/ CONT-L L LST-SEL N-L X COUL-L) (vl-load-com) (setq L nil) (while (not L) (setq L (getstring T ":\n Nom du Calque (+ contenu) à dupliquer :")) (if (not (tblobjname "LAYER" L)) (setq L nil) ) ) (setq N-L (getstring T ":\n Nom du nouveau Calque :") coul-L (vla-get-color (vlax-ename->vla-object (tblobjname "LAYER" L))) cont-L (ssget "_X" (list (cons 8 L))) lst-sel nil) (vla-add (vla-get-Layers (vla-get-ActiveDocument (vlax-get-acad-object))) N-L) (vla-put-color (vlax-ename->vla-object (tblobjname "LAYER" N-L)) coul-L) [b] (vla-copyobjects (vla-get-ActiveDocument (vlax-get-acad-object)) (vlax-safearray-fill (vlax-make-safearray vlax-vbObject (cons 0 (1- (sslength cont-L)))) (mapcar '(lambda(x) (vlax-ename->vla-object (cadr x))) (ssnamex cont-L))))[/b] [i](repeat (setq x (sslength cont-L)) (setq lst-sel (append lst-sel (list (vlax-ename->vla-object (ssname cont-L (setq x (1- x))))))) ) (foreach n lst-sel (vla-put-layer n N-L))[/i] (princ) ) Mais pour le changement de calque, la question reste en suspend, dirait-on ....
  6. Bred

    Routines pour TEXT/MTEXT

    Salut Patrik_35. Ben je vais te piquer ton filtre alors... mais.... c'est quoi des "Rtexts" ??? :casstet:
  7. Salut, En lisp, pour valider une commande, c'est "" (deux guillements) . (tu confonds lisp et macro-commande)
  8. Salut, Je n'utilise que ça pour des gros plan 3D (et surtout en rendu !) C'est une révolution dans Autocad ! Plus la peine d'aller prendre un café en attendant la sortie : je continus à bosser pendant le calcul d'impression. Il est vrais que pour des tirages rapides, il vaut mieux utiliser le tirage en premier plan.
  9. Bred

    Routines pour TEXT/MTEXT

    Salut, à tester : (defun c:add-txt (/ S SEL X) (setq sel (ssget (list (cons 0 "TEXT,MTEXT"))) s 0) (repeat (setq x (sslength sel)) (setq s (+ s (atof (cdr (assoc 1 (entget (ssname sel (setq x (1- x))))))))) ) (alert (strcat "Somme = " (rtos s))) (princ) ) (defun c:coef-txt (/ COEF N-VAL SEL X L LST-ENT) (vl-load-com) (setq sel (ssget (list (cons 0 "TEXT,MTEXT"))) coef (getreal "\n Coefficient à appliquer :") L (getstring T ":\n Nom du Calque sur Lequel créer les textes :")) (if (not (tblobjname "LAYER" L)) (vla-add (vla-get-Layers (vla-get-ActiveDocument (vlax-get-acad-object))) L) ) (repeat (setq x (sslength sel)) (setq N-val (* coef (atof (cdr (assoc 1 (entget (ssname sel (setq x (1- x)))))))) lst-ent (cdr (subst (cons 1 (rtos N-val)) (assoc 1 (entget (ssname sel x))) (entget (ssname sel x)))) lst-ent (subst (cons 8 L) (assoc 8 (entget (ssname sel x))) lst-ent)) (entmake lst-ent) ) (princ) ) [Edité le 11/7/2007 par Bred] [Edité le 11/7/2007 par Bred]
  10. Salut, fait rapidement, à tester. (defun c:cc (/ CONT-L L LST-SEL N-L X COUL-L) (setq L nil) (while (not L) (setq L (getstring T ":\n Nom du Calque (+ contenu) à dupliquer :")) (if (not (tblobjname "LAYER" L)) (setq L nil) ) ) (setq N-L (getstring T ":\n Nom du nouveau Calque :") coul-L (vla-get-color (vlax-ename->vla-object (tblobjname "LAYER" L))) cont-L (ssget "_X" (list (cons 8 L))) lst-sel nil) (vla-add (vla-get-Layers (vla-get-ActiveDocument (vlax-get-acad-object))) N-L) (vla-put-color (vlax-ename->vla-object (tblobjname "LAYER" N-L)) coul-L) (repeat (setq x (sslength cont-L)) (setq lst-sel (append lst-sel (list (vlax-ename->vla-object (ssname cont-L (setq x (1- x))))))) ) (foreach n lst-sel (vla-copy n)) (foreach n lst-sel (vla-put-layer n N-L)) (princ) ) [Edité le 11/7/2007 par Bred]
  11. Salut et bienvenue ! Position du curseur : (cadr (grread T))
  12. Bred

    sélection poignées 3d

    Salut, il y a beaucoup de possibilités pour que ça ne fonctionne pas : - Le solide 3D a été créé avec une version anterieur à 2007. - Tu as fait une opération boléenne sur ton solide As tu essayé de cliquer sur la partie que tu veux modifiés (face, arrête...) en appuyant sur Ctrl en même temps ?
  13. Bred

    Enlever Surbrillance

    Re, (sssetfirst nil nil) fonctionne donc .... merci !!!! Ouaouh !.... En fait j'avais l'impression de ne pas me faire comprendre, pour me rendre compte que je faisais totalement fausse route ! Pour moi, que la selection soit faites avant ou après, c'était toujours le même type de "surlignement" !... Mais non ! Vous venez de me faire découvrir l'évidence : En fait c'est faux de dire "sélection avant commande" ! La "sélection avant commande" est en fait un outils qui lance les grips, et si on lance une commande, l'outils "grips" passe en sélection !.... C'est marrant, je me fait jamais avoir par ce genre de logique (évidente) informatique d'habitude.... je vieillis.....
  14. Salut, et bienvenue à un nouveau lispeur ! J'avoues ne pas bien comprendre ce que tu cherches à faire. Tu récupères avec "getpoint" dans p1 une liste de cordonnée sous le forme (x y z) Si tu veux récupérer : x = (car p1) y = (cadr p1) z = (caddr p1) donc si tu veux reconstruire ton point avec un Z différent : (setq new-pt (list (car p1) (cadr p1) alt)) ou donc : (setq New-pt (list (car p1) (- (cadr p1) alt) (caddr p1))
  15. Salut, un petit lisp mettant les valeurs des textes dans des cases d'un tableau Excel (au format csv transposable en xls) (defun c:txtxl () (setq sel (ssget '((0 . "*TEXT"))) lst-txt nil) (if sel (repeat (setq x (sslength sel)) (setq lst-txt (cons (cdr (assoc 1 (entget (ssname sel (setq x (1- x)))))) lst-txt)) ) ) (setq nomfichier (getfiled "Nom du fichier Exportation" (strcat (getvar "dwgprefix") (substr (getvar "dwgname") 1 (- (strlen (getvar "dwgname")) 4)) " " (menucmd "M=$(edtime,$(getvar,date),DD-MO-YYYY)"))"csv" 1)) (setq f (open nomfichier "w")) (foreach n lst-txt (princ n f) (princ ";" f)) (close f) (princ) ) par contre, si tu veux spécifier des cellules exactes, il faut plus programmer, en utilisant ces routines par exemple.
  16. Bred

    Enlever Surbrillance

    Salut bonuscad, en fait je n'ai pas tout dit : ça ne fonctionne pas si la selection est faites avant de lancer la commande ! Test ça en selectionnant avant de lancer "test" : (defun c:test (/ sel lst-sel x) (setq sel nil x 0 sel (ssget "I")) (while (not sel) (setq sel (ssget ":L"))) (repeat (sslength sel) (setq lst-sel (append lst-sel (list (vlax-ename->vla-object (ssname sel x)))) x (+ 1 x))) (alert "Test enleves Surbrillance") (foreach n lst-sel (vla-mirror3D n (vlax-3D-point '(0 1 0)) (vlax-3D-point '(2 10 0))(vlax-3D-point '(0 0 0)))) (foreach n lst-sel (vla-Highlight n :vlax-False)) )
  17. Bred

    Enlever Surbrillance

    Ah, ben une manière qui à l'air moins lourde : (command) .... votre avis ?
  18. Salut et bienvenue ! c'est peut-être une fonction lisp équivalente aux express... essaye : (c:MAPDIGITIZE) (avec ou sans Under Score) [Edité le 10/7/2007 par Bred]
  19. Bred

    Enlever Surbrillance

    Alors, vla-update ne fonctionne pas (j'ai l'impression que ça me remet à jour la selection, mais sans m'enlever la surbrillance) et (redraw ent 4) ne fontionne pas....
  20. Bred

    Enlever Surbrillance

    pffffffff.... non mais quel c.. je suis !!! :P :P :P désolé bonuscad, j'étais en parrallèle sur un autre post et j'ai mélangé les 2 !!! merci ! merci ! merci ! :calim:
  21. Bred

    Présentation

    Salut, Alors, assez rapidement, on purra aprofondir si tu veux : Pour créer une nouvelle fenêtre, tu peux copier une existante, ou tu ouvres la barre d'outils "fenêtre", et tu y trouveras les outils désiré. Lorque tu as créés cette fenêtre, tu peux y "rentrer" dedans en double cliquant à l'interieur. Tu te trouves alors en espca objet. Tu peux zoomer, travailler, etc... Pour sortir de la fenêtre, tu doubles-cliques à l'exterieur de la fenêtre (ou bouton "objet" dans la barre d'état. etc ....
  22. Bred

    Enlever Surbrillance

    Salut vous deux , et merci ;) Bonuscad : j'ai en effet aussi vu cette remarque, mais j'avous ne pas la comprendre... j'ai essayé aussi avec vla-update, mais je n'ai pas réussis à l'utiliser car cela m'a renvoyer une erreur "update inconnu" ... Patrick_35 : En effet, mais c'est du tapé à la volée et je suis allez encore trops vite : :vlax-False ou 0 n'a pas l'air de fonctionner !.... [Edité le 10/7/2007 par Bred]
  23. http://xs117.xs.to/xs117/07281/3iiiiiiiiiiiiiii.JPG
  24. Salut, pour enlever la surbrillance d'un groupe d'objet vla (lister dans lst-sel), ceci ne fonctionne pas : (foreach n lst-sel (vla-Highlight n False)) je suis obligé de faire un (vla-Regen (vla-get-ActiveDocument (vlax-get-acad-object)) acActiveViewport) ce qui est vraiment trés lourd !!!! Auriez-vous une solution svp ? merci.
  25. Ok placer ta souris ? .... Voici ton cylindre, je veux lui faire faire une rotion de 90 sur les Y (je veux donc m'aligner à la ligne rouge) : http://xs317.xs.to/xs317/07281/1iiiiiiiiiiiiiiiii.jpg voir ligne de commande. (le point d'axe sur Y étant le centre du haut du cylindre) http://xs217.xs.to/xs217/07281/2iiiiiiiiiiiiiiiii.jpg
×
×
  • 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é