philippe62 Posté(e) le 20 octobre 2013 Partager Posté(e) le 20 octobre 2013 ;;version 20 09 2013 ;; ;; PHILIPPE B (defun c:TUBE (/ p1 p2 dia dn rm)(command "_undo" "_be")(setq p1 (getpoint "\nPoint de départ du tube :"))(setq p2 (getpoint p1 "\nPoint d'arrivée du tube :"))(initget "Autre 10 15 20 25 32 40 50 65 80 100 125 150 200 250 300") (setq dn (getkword "\n dn [10/15/20/25/32/40/50/65/80/100/125/150/200/250/300]:")) (cond ((= dn "10") (setq dia 17.2) (setq rm 25)) ((= dn "15") (setq dia 21.3) (setq rm 28)) ((= dn "20") (setq dn 26.9) (setq rm 28.5)) ((= dn "25") (setq dia 33.7) (setq rm 38)) ((= dn "32") (setq dia 42.4) (setq rm 47.5)) ((= dn "40") (setq dia 48.3) (setq rm 57)) ((= dn "50") (setq dia 60.3) (setq rm 76)) ((= dn "65") (setq dia 76.1) (setq rm 95)) ((= dn "80") (setq dia 88.9) (setq rm 114.5)) ((= dn "100") (setq dia 114.3) (setq rm 152)) ((= dn "125") (setq dia 139.7) (setq rm 190)) ((= dn "150") (setq dia 168.3) (setq rm 228)) ((= dn "200") (setq dia 219.1) (setq rm 304)) ((= dn "250") (setq dia 273) (setq rm 380 )) ((= dn "300") (setq dia 323.9) (setq rm 456)) ((= dn "Autre") (setq dn (getdist "\nDiamètre en mm:")))(t (princ)) )(command "_CYLINDER"p1"_D"dia"_C"p2) (prin1)) si quelqu'un peu m'aider à transformer le solide en bloc "TUBE_DN" d'avance merci!!! ) Lien vers le commentaire Partager sur d’autres sites More sharing options...
(gile) Posté(e) le 21 octobre 2013 Partager Posté(e) le 21 octobre 2013 Salut, S'il te plait, pour que le code soit plus lisible, utilise les bbcodes :[code] ici le code [/code] donne : ici le code Accessible via l'icône : Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD Lien vers le commentaire Partager sur d’autres sites More sharing options...
philippe62 Posté(e) le 21 octobre 2013 Auteur Partager Posté(e) le 21 octobre 2013 Salut, S'il te plait, pour que le code soit plus lisible, utilise les bbcodes :[code] ici le code [/code] donne : ici le code Accessible via l'icône <> : Lien vers le commentaire Partager sur d’autres sites More sharing options...
philippe62 Posté(e) le 21 octobre 2013 Auteur Partager Posté(e) le 21 octobre 2013 Bonjour Gileje vais suivre tes conseil.Merci! Lien vers le commentaire Partager sur d’autres sites More sharing options...
usegomme Posté(e) le 21 octobre 2013 Partager Posté(e) le 21 octobre 2013 (modifié) Bonjour, A tester. ;;version 09 12 2013 ;; ;; PHILIPPE B (defun c:TUBE (/ p1 p2 dia dn rm lgt ss1 ss2 tube p2_SCG nle lda) (setq p1 (getpoint "\nPoint de départ du tube :")) (setq p2 (getpoint p1 "\nPoint d'arrivée du tube :")) (initget "Autre 10 15 20 25 32 40 50 65 80 100 125 150 200 250 300") (setq dn (getkword "\n dn [10/15/20/25/32/40/50/65/80/100/125/150/200/250/300]:")) (cond ((= dn "10") (setq dia 17.2) (setq rm 25)) ((= dn "15") (setq dia 21.3) (setq rm 28)) ((= dn "20") (setq dia 26.9) (setq rm 28.5)) ((= dn "25") (setq dia 33.7) (setq rm 38)) ((= dn "32") (setq dia 42.4) (setq rm 47.5)) ((= dn "40") (setq dia 48.3) (setq rm 57)) ((= dn "50") (setq dia 60.3) (setq rm 76)) ((= dn "65") (setq dia 76.1) (setq rm 95)) ((= dn "80") (setq dia 88.9) (setq rm 114.5)) ((= dn "100") (setq dia 114.3) (setq rm 152)) ((= dn "125") (setq dia 139.7) (setq rm 190)) ((= dn "150") (setq dia 168.3) (setq rm 228)) ((= dn "200") (setq dia 219.1) (setq rm 304)) ((= dn "250") (setq dia 273) (setq rm 380 )) ((= dn "300") (setq dia 323.9) (setq rm 456)) ((= dn "Autre") (setq dn (getdist "\nDiamètre en mm:"))) (t (princ)) ) (setq lgt (distance p1 p2)) ;; longueur tube (setq p2_scg (trans p2 1 0)) (command "_.ucs" "_non" p1 "_non" (trans p2_SCG 0 1 ) "") (setq nomb (strcat "TUBE_DN" dn)) (if (not (tblsearch "block" nomb)) ;; recherche bloc dans dessin (progn ;; le bloc n´existe pas ;;;; creation solide 3 d (setvar "cmdecho" 0) (command "_line" "_non" '(0. 0. 0.) "_non" '(1. 0. 0.) "") (setq ss1 (entlast)) (command "_circle" '(0. 0. 0.) (* dia 0.5)) (setq ss2 (entlast)) (command "_sweep" ss2 "" ss1) (setq tube (entlast)) ;; suppression de l'axe si: (if (or (= 0 (getvar "DELOBJ"))(= 1 (getvar "DELOBJ"))) (entdel SS1)) ;; création attributs (setq st (getvar "textstyle")) (setvar "textstyle" "standard") (setq af (getvar "aflags")) (setq ht (* 0.07 dia )) ; hauteur texte (setvar "aflags" 9) ;;; prédéfini et invisible (command "_-attdef" "" "Désignation" "Désignation" (strcat "TUBE DN" dn) "_non" '(0. 0. 0.) ht "0") (setq att1 (entlast)) (command "_-attdef" "" "LONG" "Longueur" "" "_non" (polar '(0. 0. 0.)(* 1.5 pi)(+ 1.3 ht)) ht "0") (setq att2 (entlast)) (setvar "aflags" af) (setvar "textstyle" st) ;; création bloc (command "_change" att1 att2 tube "" "_p" "_la" "0" "_c" "DUBLOC" "") (command "_-block" nomb "_non" '(0. 0. 0.) att1 att2 tube "") ) ) ;;;; insertion bloc (command "._-insert" nomb "X" lgt "Y" 1 "Z" 1 "_non" '(0. 0. 0.) "0" ) (setvar "cmdecho" 1) ;;;;;;;; modif attribut longueur du tube ;;;;;;;;;;;; (setq nle (entlast)) (while (and (/= (cdr (assoc 2 (setq lda (entget (setq nle (entnext nle)))))) "LONG") (/= "SEQEND" (cdr (assoc 0 lda))) ) ) (setq lda (subst (cons 1 (rtos lgt 2 2)) (assoc 1 lda) lda)) ;liste données attribut (entmod lda) (entupd nle) ;attribut LONG mise à jour (prin1) ) Modifié le 9 décembre 2013 par usegomme Lien vers le commentaire Partager sur d’autres sites More sharing options...
philippe62 Posté(e) le 21 octobre 2013 Auteur Partager Posté(e) le 21 octobre 2013 c'est super merci!!! Lien vers le commentaire Partager sur d’autres sites More sharing options...
usegomme Posté(e) le 9 décembre 2013 Partager Posté(e) le 9 décembre 2013 Bonjour même chose que pour etrier.lsp, j'ai fait une modif pour que le bloc soit créé sur le calque 0 et de la couleur DUBLOC. ;; création bloc (command "_change" att1 att2 tube "" "_p" "_la" "0" "_c" "DUBLOC" "") Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant