Aller au contenu

jacobs33

Membres
  • Compteur de contenus

    73
  • Inscription

  • Dernière visite

Tout ce qui a été posté par jacobs33

  1. Merci pour t'as réponce. A+
  2. jacobs33

    Les Salaires

    Salut, Pour enrichir le tableau Bureau d'etude tertiaire VRD CVC PLB Salaire 41500 brut/an Convention SYNTEC coef : 500 Niveau P3 Expérieuce 19 Ans A+
  3. Bonjour, sais tu ci ces formats de fichiers sont importable sur autocad 2008 ou précedentes. Bien sur je n'ai pas trouvé de reponce sur l'aide d'autocad 3D (CATPart) : STEP203 ou IGES 3D (CATProduct) : STEP214 :)
  4. Salut, Merci à tous pour votre soutien et votre rapidité de réaction "comme d'habitude". Je me suis permis de rajouter quelques ligne ( basic vu non niveau )qui renvoie les totaux et et de modifier la valeur des longueur en fonction de l'unité de travail. (defun c:long-obj (/ lay ss n n-a l-a n-c l-c n-l l-l n-p l-p n-s l-s l-t n-t descr file ) (if (setq lay (car (entsel "\nSélectionnez un objet sur le calque à traiter: ") ) ) (if (setq ss (ssget "_X" (list '(0 . "ARC,CIRCLE,LINE,LWPOLYLINE,SPLINE") (assoc 8 (entget lay)) ) ) ) (progn (foreach n '("a" "c" "l" "p" "s") (set (read (strcat "n-" n)) 0) (set (read (strcat "l-" n)) 0.0) ) (repeat (setq n (sslength ss)) (setq ent (ssname ss (setq n (1- n))) typ (cdr (assoc 0 (entget ent))) len (/ (vlax-curve-getDistAtParam ent (vlax-curve-getEndParam ent) ) 10 ;;Valeur à modifier qui permet de renvoyer des métres en fonction de l'unité dessin ) ) (cond ((= typ "ARC") (setq n-a (1+ n-a) l-a (+ len l-a) ) ) ((= typ "CIRCLE") (setq n-c (1+ n-c) l-c (+ len l-c) ) ) ((= typ "LINE") (setq n-l (1+ n-l) l-l (+ len l-l) ) ) ((= typ "LWPOLYLINE") (setq n-p (1+ n-p) l-p (+ len l-p) ) ) ((= typ "SPLINE") (setq n-s (1+ n-s) l-s (+ len l-s) ) ) ) ) (Setq n-t (+ n-a n-c n-l n-p n-s)l-t (+ l-a l-c l-l l-p l-s) ) (setq descr (strcat "\nCalque\t" (cdr (assoc 8 (entget lay))) "\nType d'objet\tN\tLongueur" "\nArc.........\t" (itoa n-a) "\t" (rtos l-a) "\nCercle......\t" (itoa n-c) "\t" (rtos l-c) "\nLigne.......\t" (itoa n-l) "\t" (rtos l-l) "\nPolyligne...\t" (itoa n-p) "\t" (rtos l-p) "\nSpline......\t" (itoa n-s) "\t" (rtos l-s) "\ntotal.......\t" (itoa n-t) "\t" (rtos l-t) ) ) (textscr) (princ descr) (initget "Oui Non") (if (= (getkword "\nEnregistrer dans un fichier ? [Oui/Non] < Non >: " ) "Oui" ) (progn (setq file (open (getfiled "Créez ou sélectionnez un fichier" "" "xls" 33) "a" ) ) (princ descr file) (close file) ) ) (graphscr) ) ) ) (princ) )
  5. Salut et merci, J'ai bien essayé de le modifier pour qu'il addition aussi les arcs et les splines. mais je n'y suis pas parvenu peu tu m'aider. "je vais quand continuer mes recherches". :D :D
  6. Bonjour, quelqu'un a t'il un LISP permetant d'additionner des longeurs des polylignes, arcs, lignes , cercles et splines en fonction d'un claques selectionné . Merci D'avance ;) ;) :)
  7. Salut, Voila le code fini et allégé... (defun variable_init () (setq cmd (getvar "cmdecho") mnu (getvar "menuecho") osmod (getvar "osmode") ortho (getvar "orthomode") ) (setvar "cmdecho" 0) (setvar "menuecho" 0) (setvar "osmode" 0) (setvar "orthomode" 0) ) ;;;--------------------------------------------------------------------------------------------- (defun variable_final () (setvar "cmdecho" cmd) (setvar "menuecho" mnu) (setvar "osmode" osmod) (setvar "orthomode" ortho) ) ;;;---SOUS COMMANDE INSERTION DES EXTREMITES DE GAINE ----------- (defun c_insext (Blocinsert01 Blocinsert02 / Ent01 CarEnt01 TypeEnt01 LayEnt01 CarEnt01 nameEnt01 Nondubloc PtInstEnt01 AngInstEnt01rad AngInstEnt01deg PtInstext CdrEnt01 PtRef01 PtRef02 PtRef03 scaleInst AngInstEnt01deg ) (setvar "cmdecho" 0) (setvar "menuecho" 0) (setvar "osmode" 219) (setvar "orthomode" 0) (setvar "autosnap" 29) (setq Ent01 (entsel "\nSelectionnez le réseaux:") CarEnt01 (entget (car Ent01)) TypeEnt01 (cdr (assoc 0 CarEnt01)) LayEnt01 (cdr (assoc 8 CarEnt01)) Nondubloc (cdr (assoc 2 CarEnt01)) ) (if (wcmatch LayEnt01 "*-TREM*") (progn (command "_layer" "ch" layEnt01 "") (if (= TypeEnt01 "INSERT") (progn (setq nameEnt01 (cdr (assoc 2 CarEnt01)) PtInstEnt01 (cdr (assoc 10 CarEnt01)) AngInstEnt01rad (cdr (assoc 50 CarEnt01)) AngInstEnt01deg (* 180.0 (/ AngInstEnt01rad pi)) scalexInstEnt01 (cdr (assoc 41 CarEnt01)) scaleyInstEnt01 (cdr (assoc 42 CarEnt01)) ) (if (wcmatch Nondubloc "PIQ*") (progn (if (wcmatch Nondubloc "PIQC*") (progn (command "-inserer" (strcat "EXTC" Blocinsert01) (polar PtInstEnt01 AngInstEnt01rad (* 0.8 scalexInstEnt01)) scaleyInstEnt01 scaleyInstEnt01 AngInstEnt01deg ) ) (progn (command "-inserer" (strcat "EXTR" Blocinsert01) (polar PtInstEnt01 AngInstEnt01rad (* 0.25 scalexInstEnt01)) scaleyInstEnt01 scaleyInstEnt01 AngInstEnt01deg ) ) ) ) (alert "Verifier la selection de votre réseaux\n \nPiquage sur gaine le bloc doit ètre") ) ) (progn (setq CdrEnt01 (cdr Ent01) PtRef01 (osnap (car CdrEnt01) "_mid") PtRef02 (osnap (car CdrEnt01) "_end") PtRef03 (osnap (car CdrEnt01) "_nea") PtRef04 (getpoint "\n Indiquer le point opposé:\n" PtRef03) AngInstEnt01rad (angle PtRef01 PtRef02) AngInstEnt01deg (* 180.0 (/ AngInstEnt01rad pi)) PtInstext (list (/ (+ (car PtRef03) (car PtRef04)) 2) (/ (+ (cadr PtRef03) (cadr PtRef04)) 2) (/ (+ (caddr PtRef03) (caddr PtRef04)) 2) ) scaleInst (distance PtRef03 PtRef04) ) (setvar "osmode" 0) (command "-inserer" Blocinsert02 PtInstext scaleInst scaleInst AngInstEnt01deg) ) ) ) (alert "Verifier la selection de votre réseaux\n \nCalque bifilaire le réseaux doit ètre") ) (princ) ) ;;;------------------------------INSERTION DES EXTREMITES DE GAINE --------------------------------------------------- (defun C:extc01 (/ Blocinsert01 Blocinsert02) (variable_init) (c_insext "01.DWG" "EXTC01.DWG") (variable_final) ) (defun C:extc02 (/ Blocinsert01 Blocinsert02) (variable_init) (c_insext "02.DWG" "EXTC02.DWG") (variable_final) ) (defun C:extr01 (/ Blocinsert01 Blocinsert02) (variable_init) (c_insext "01.DWG" "EXTR01.DWG") (variable_final) ) (defun C:extr02 (/ Blocinsert01 Blocinsert02) (variable_init) (c_insext "02.DWG" "EXTR02.DWG") (variable_final) ) A+
  8. Salut, LISP =Langage Impossible Sans Parenthèses... Source JPG...
  9. Salut, Merci pour les commentaires. Pour faire court je vais tester tous ça. Me réconcilier avec les « car » et « cdr» …. Réessayer le « getdist » mais j’ai déjà eu des problèmes avec l’orientation finale du bloc. A+
  10. Salut Bred, Avec un peut de retard et un peu plus d'organisation. Pour les varaible je m'en occupe avec les sous programmes (variable_init) (variable_final) Mais peu être est t'il possible d'améliorer la deuxième partie du code. C'est-à-dire trouver une autre méthode pour déduire PtRef04. PtRef04 étant le point perpendiculaire PtRef03 « Ent01 » est une ligne. PtRef01 Point milieu « Ent01 » PtRef02 Point extrémité « Ent01 » PtRef03 Point proche « Ent01 » ;;;---SOUS COMMANDE INSERTION DES EXTREMITES DE GAINE ----------- (defun c_insext (Coefins Blocinsert01 Blocinsert02 / Ent01 CarEnt01 TypeEnt01 LayEnt01 CarEnt01 nameEnt01 PtInstEnt01 AngInstEnt01rad AngInstEnt01deg PtInstext CdrEnt01 PtRef01 PtRef02 PtRef03 scaleInst AngInstEnt01deg ) (setvar "cmdecho" 0) (setvar "menuecho" 0) (setvar "osmode" 219) (setvar "orthomode" 0) (setvar "autosnap" 29) (setq Ent01 (entsel "\nSelectionnez le réseaux:") CarEnt01 (car Ent01) TypeEnt01 (cdr (assoc 0 (cdr (entget CarEnt01)))) LayEnt01 (cdr (assoc 8 (cdr (entget CarEnt01)))) ) (command "_layer" "ch" layEnt01 "") (if (= TypeEnt01 "INSERT") (progn (setq nameEnt01 (cdr (assoc 2 (cdr (entget CarEnt01)))) PtInstEnt01 (cdr (assoc 10 (cdr (entget CarEnt01)))) AngInstEnt01rad (cdr (assoc 50 (cdr (entget CarEnt01)))) AngInstEnt01deg (* 180.0 (/ AngInstEnt01rad pi)) scalexInstEnt01 (cdr (assoc 41 (cdr (entget CarEnt01)))) scaleyInstEnt01 (cdr (assoc 42 (cdr (entget CarEnt01)))) PtInstext (polar PtInstEnt01 AngInstEnt01rad (* Coefins scalexInstEnt01)) ) (command "-inserer" Blocinsert01 PtInstext scaleyInstEnt01 scaleyInstEnt01 AngInstEnt01deg) ) (progn (setq CdrEnt01 (cdr Ent01) PtRef01 (osnap (car CdrEnt01) "_mid") PtRef02 (osnap (car CdrEnt01) "_end") PtRef03 (osnap (car CdrEnt01) "_nea") PtRef04 (getpoint "\n Indiquer le point opposé:\n" PtRef03) AngInstEnt01rad (angle PtRef01 PtRef02) AngInstEnt01deg (* 180.0 (/ AngInstEnt01rad pi)) PtInstext (list (/ (+ (car PtRef03) (car PtRef04)) 2) (/ (+ (cadr PtRef03) (cadr PtRef04)) 2) (/ (+ (caddr PtRef03) (caddr PtRef04)) 2) ) scaleInst (distance PtRef03 PtRef04) ) (setvar "osmode" 0) (command "-inserer" Blocinsert02 PtInstext scaleInst scaleInst AngInstEnt01deg) ) ) (princ) ) ;;;------------------------------INSERTION DES EXTREMITES DE GAINE --------------------------------------------------- (defun C:extc01 (/ Coefins Blocinsert01 Blocinsert02) (variable_init) (c_insext 0.8 "EXTC01.DWG" "EXTC01.DWG") (variable_final) ) (defun C:extc02 (/ Coefins Blocinsert01 Blocinsert02) (variable_init) (c_insext 0.8 "EXTC02.DWG" "EXTC02.DWG") (variable_final) )
  11. Merci pour ce complément d'information. Que je vais mettre en application.
  12. Ok tu as tous bon trop de varible tues ou pourquoi faire compliqué quand on peu faire simple ;;;---SOUS COMMANDE INSERTION DES EXTREMITES DE GAINE ----------- (defun c_insext (Coefins Blocinsert01 Blocinsert02) (setvar "cmdecho" 0) (setvar "menuecho" 0) (setvar "osmode" 219) (setvar "orthomode" 0) (setvar "autosnap" 29) (setq Ent01 (entsel "\nSelectionnez le réseaux:")) (setq CarEnt01 (car Ent01)) (setq TypeEnt01 (cdr (assoc 0 (cdr (entget CarEnt01))))) (setq LayEnt01 (cdr (assoc 8 (cdr (entget CarEnt01))))) (command "_layer" "ch" layEnt01 "") (if (= TypeEnt01 "INSERT") (progn (setq nameEnt01 (cdr (assoc 2 (cdr (entget CarEnt01))))) (setq PtInstEnt01 (cdr (assoc 10 (cdr (entget CarEnt01))))) (setq AngInstEnt01rad (cdr (assoc 50 (cdr (entget CarEnt01))))) (setq AngInstEnt01deg (* 180.0 (/ AngInstEnt01rad pi))) (setq scalexInstEnt01 (cdr (assoc 41 (cdr (entget CarEnt01))))) (setq scaleyInstEnt01 (cdr (assoc 42 (cdr (entget CarEnt01))))) (setq PtInstextc01 (polar PtInstEnt01 AngInstEnt01rad (* Coefins scalexInstEnt01))) (command "-inserer" Blocinsert01 PtInstextc01 scalexInstEnt01 scalexInstEnt01 AngInstEnt01deg) ) (progn (setq CdrEnt01 (cdr Ent01)) (setq PtRef01 (osnap (car CdrEnt01) "_mid")) (setq PtRef02 (osnap (car CdrEnt01) "_end")) (setq PtRef03 (getpoint "\n Indiquer le point opposé:\n")) (setq AngInstEnt01rad (angle PtRef01 PtRef02)) (setq AngInstEnt01deg (* 180.0 (/ AngInstEnt01rad pi))) (setq PtInstextc01 (list (/ (+ (car PtRef02) (car PtRef03)) 2) (/ (+ (cadr PtRef02) (cadr PtRef03)) 2) (/ (+ (caddr PtRef02) (caddr PtRef03)) 2) ) ) (setq scalexInstEnt01 (distance PtRef02 PtRef03)) (setvar "osmode" 0) (command "-inserer" Blocinsert02 PtInstextc01 scalexInstEnt01 scalexInstEnt01 AngInstEnt01deg) ) ) ) ;;;-----INSERTION DES EXTREMITES DE GAINE --------------------------------------------------- (defun C:extc01 (/ Coefins Blocinsert01 Blocinsert02) ;;; (variable_init) (c_insext 0.8 "EXTC01.DWG" "EXTC01.DWG") ;;; (variable_final) ) (defun C:extc02 (/ Coefins Blocinsert01 Blocinsert02) ;;; (variable_init) (c_insext 0.8 "EXTC02.DWG" "EXTC02.DWG") ;;; (variable_final) ) (defun C:extr01 (/ Coefins Blocinsert01 Blocinsert02) ;;; (variable_init) (c_insext 0.25 "EXTR01.DWG" "EXTR01.DWG") ;;; (variable_final) ) (defun C:extr02 (/ Coefins Blocinsert01 Blocinsert02) ;;; (variable_init) (c_insext 0.25 "EXTR02.DWG" "EXTR02.DWG") ;;; (variable_final) ) Merci pour aide.
  13. Salut, J’ai écrit ce lisp qui permet d’insérer différent bloc en sélectionnent soit un bloc soit une ligne puis j'extrait différent information de cet élément pour insérer le nouveau bloc. Le tous avec des sous programmes Mon problème les variables locales garde la valeur précédente. Peut etre juste un probléme dans la déclaration des variable (defun c_insext(Coefins Blocinsert01 scale01 scale02 Blocinsert02 scale03) (defun C:extc01(/ Coefins Blocinsert01 scale01 scale02 Blocinsert02 scale03) PS : Le programme fonctionne bien sans les sous programmes » ;;;----------sous programme------------ (defun c_insext (Coefins Blocinsert01 scale01 scale02 Blocinsert02 scale03) ;;; (setq Ent01 nil ;;; CarEnt01 nil ;;; TypeEnt01 nil ;;; LayEnt01 nil ;;; nameEnt01 nil ;;; PtInstEnt01 nil ;;; scalexInstEnt01 nil ;;; scaleyInstEnt01 nil ;;; ) (setvar "osmode" 219) (setvar "autosnap" 29) (setq Ent01 (entsel "\nSelectionnez le réseaux:")) (setq CarEnt01 (car Ent01)) (setq TypeEnt01 (cdr (assoc 0 (cdr (entget CarEnt01))))) (setq LayEnt01 (cdr (assoc 8 (cdr (entget CarEnt01))))) (command "_layer" "ch" layEnt01 "") (if (= TypeEnt01 "INSERT") (progn (setq nameEnt01 (cdr (assoc 2 (cdr (entget CarEnt01))))) (setq PtInstEnt01 (cdr (assoc 10 (cdr (entget CarEnt01))))) (setq AngInstEnt01rad (cdr (assoc 50 (cdr (entget CarEnt01))))) (setq AngInstEnt01deg (* 180.0 (/ AngInstEnt01rad pi))) (setq scalexInstEnt01 (cdr (assoc 41 (cdr (entget CarEnt01))))) (setq scaleyInstEnt01 (cdr (assoc 42 (cdr (entget CarEnt01))))) (setq PtInstextc01 (polar PtInstEnt01 AngInstEnt01rad Coefins)) (command "-inserer" Blocinsert01 PtInstextc01 scale01 scale02 AngInstEnt01deg) ) (progn (setq CdrEnt01 (cdr Ent01)) (setq PtRef01 (osnap (car CdrEnt01) "_mid")) (setq PtRef02 (osnap (car CdrEnt01) "_end")) (setq PtRef03 (getpoint "\n Indiquer le point opposé:\n")) (setq AngInstEnt01rad (angle PtRef01 PtRef02)) (setq AngInstEnt01deg (* 180.0 (/ AngInstEnt01rad pi))) (setq PtInstextc01 (list (/ (+ (car PtRef02) (car PtRef03)) 2) (/ (+ (cadr PtRef02) (cadr PtRef03)) 2) (/ (+ (caddr PtRef02) (caddr PtRef03)) 2) ) ) (setq scalexInstEnt01 (distance PtRef02 PtRef03)) (setvar "osmode" 0) (command "-inserer" Blocinsert02 PtInstextc01 scale03 "" AngInstEnt01deg) ) ) ) ;;;-----------INSERTION DES EXTREMITES DE GAINE ----------------- (defun C:extc01 (/ Coefins Blocinsert01 scale01 scale02 Blocinsert02 scale03) (c_insext (* 0.8 scalexInstEnt01) "EXTC01.DWG" scalexInstEnt01 scalexInstEnt01 "EXTC01.DWG" scalexInstEnt01 ) ) (defun C:extc02 (/ Coefins Blocinsert01 scale01 scale02 Blocinsert02 scale03) (c_insext (* 0.8 scalexInstEnt01) "EXTC02.DWG" scalexInstEnt01 scalexInstEnt01 "EXTC02.DWG" scalexInstEnt01 ) ) (defun C:extr01 (/ Coefins Blocinsert01 scale01 scale02 Blocinsert02 scale03) (c_insext 0.25 "EXTR01.DWG" scalexInstEnt01 scaleyInstEnt01 "EXTR01.DWG" scalexInstEnt01) ) (defun C:extr02 (/ Coefins Blocinsert01 scale01 scale02 Blocinsert02 scale03) (c_insext 0.25 "EXTR02.DWG" scalexInstEnt01 scaleyInstEnt01 "EXTR02.DWG" scalexInstEnt01) )
  14. Salut, Parle tu de barre d'icons. Ci oui il faut fermer Autocad sur le fichier dessin sur le quel tu as fait les modifictions de barre et pas sur un autre dessin par exemple dessin1.dwg. Théoriquement autocad garde la dernière configuration de menu dans le fichier "acad.mns"
  15. jacobs33

    PB boucle wilde

    Et oui a force de chercher on fini pour s'enbroyer !!!! (defun c:chgpolice (/ style police) (setq style (tblnext "style" T)) (while style (setq police (strcase (cdr (assoc 3 style)))) (command "-style" (cdr (assoc 2 style)) "ROMANS.SHX" "" "" "" "" "" "" ) (setq style (tblnext "style")) ) ) Voila ça fonctionne mieux merci pour ton coup pouce gile.
  16. Bonsoir, Ma boucle tourne en boucle !!! (defun c:chgpolice (/ style police) (setq style (tblnext "style" T)) (while style (setq police (strcase (cdr (assoc 3 style)))) (command "-style" (cdr (assoc 2 style)) "ROMANS.SHX" "" "" "" "" "" "") ) (setq style (tblnext "style")) ) ) Quelqu'un peux t'il m'aider Merci
  17. Super réactif. Tous fonctionne à merveille Merci Gile.
  18. Bonsoir gile le code fondtionne bien pour une selection. mais pour la selection de plusieur textes(capture ou fenetre) il ya probléme.
  19. Salut, J'ai testé le code la semaine derniere mais etant charette je n'ai pas pus te repondre de suite. Ne voulant pas etre un simple consommateur j'ai essayé de résoudre le petit disfonctionnement de la routine mais sans succé hélas. Je pense que c'est un probléme de contatenation de la chaine ou une variable (!str) a remettre a "0" ou "nil" resultat du test: 1 2 3 4 renvoi 4321 321 21 1 ou en fonction de la selection 1 2 3 4 renvoi 1 21 321 4321 PS : je suis un lispeun d'avant les commandes "VL-...."
  20. Salut Gile Je rentre de RTT et bonne nouvelle Gile ma répondu. La deuxième réponse était la bonne. J’ai donc testé le lisp qui fonctionne bien sauf ci les premiers caractères ne son pas forcés. Peut arranger ça merci d’avance.
  21. peut t'on developper un lisp qui supprime style d'un texte multiple qui a etait forcé dans la boite de dialogue MTEXT aprés selection de celui ci
  22. jacobs33

    PB fmult et texte

    Je viens d'installer les deux applications Mais j'ai tourjours l meme Probléme.
  23. Salut , Petit probléme dans l'espace presentation. Les Multitextes sortent de la fenetre (fmult) de presentation comme par transparence. Comment résoudre se probléme? Merci d'avance a tous.
×
×
  • 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é