Aller au contenu

didicools

Membres
  • Compteur de contenus

    62
  • Inscription

  • Dernière visite

Tout ce qui a été posté par didicools

  1. salut, Pour limité a 2 chiffre après la virgule tu remplace la ligne la : ">%).Length>%)>% * 1.04 >%" par: ">%).Length>%)>% * 1.04 \\f \"%lu6%pr2\">%" pour le sens de lecture j'essayerai de regarder mais je te promet rien, je débute aussi en lisp
  2. Salut bonuscad ! Je reviens vers toi pour mon petit programme de cablage qui fonctionne a merveille grace a toi, cependant, j'ai un petit souci que j'arrive pas a résoudre et je comprend pas pourquoi. je t'explique, j'ai rajouté plusieur type de tenants et d'aboutissants, mon probleme selon moi ce citue a cet endroi : (initget "poteauEP poteauBT Poste Candelabre Boite BOrne COffret Armoire") (setq key_cab (getkword "\nBranchement pour cette extrémité sur [poteauEP/poteauBT/Poste/Candelabre/Boite/BOrne/COffret/Armoire]? : ")) (cond ((eq key_cab "poteauEP") (setq lg_ext (cons (cons 11 key_cab) lg_ext) key_usr (strcat "3" key_usr))) ((eq key_cab "poteauBT") (setq lg_ext (cons (cons 3 key_cab) lg_ext) key_usr (strcat "4" key_usr))) ((eq key_cab "Poste") (setq lg_ext (cons (cons 5 key_cab) lg_ext) key_usr (strcat "5" key_usr))) ((eq key_cab "Candelabre") (setq lg_ext (cons (cons 2.5 key_cab) lg_ext) key_usr (strcat "6" key_usr))) ((eq key_cab "Boite") (setq lg_ext (cons (cons 1 key_cab) lg_ext) key_usr (strcat "7" key_usr))) ((eq key_cab "BOrne") (setq lg_ext (cons (cons 2 key_cab) lg_ext) key_usr (strcat "8" key_usr))) ((eq key_cab "COffret") (setq lg_ext (cons (cons 2 key_cab) lg_ext) key_usr (strcat "9" key_usr))) ((eq key_cab "Armoire") (setq lg_ext (cons (cons 2 key_cab) lg_ext) key_usr (strcat "10" key_usr))) ) le "key_usr (strcat "10" key_usr)))" ne fonctionne pas, si je remplace le "10" par un "G", ou une letre quelconque, ca fonctionne. mais pourquoi ? il accepte pas qu'on met 2 caractère peu etre ? ou alors ca vient du "(vlax-ldata-put "cablage" "10" 2.0)" un peu plus haut dans le programme qui accepte pas 2 caractère ?? j'espère que tu poura eclairer ma lanterne, je te met le programme complet a la suite. (defun draw_pt (pt col / rap) (setq rap (/ (getvar "viewsize") 50)) (foreach n (mapcar '(lambda (x) (list ((eval (car x)) (car pt) rap) ((eval (cadr x)) (cadr pt) rap) ) ) '((+ +) (+ -) (- +) (- -)) ) (grdraw (trans pt 0 1) (trans n 0 1) col) ) ) (defun c:CABLAGE ( / js dxf_ent lay_name typ_cab obj_vlax e_length pt_start pt_end minpt maxpt key_cab key_usr lg_ext AcDoc Space pt deric rtx htx nw_obj) (princ "\nSélectionnez une polyligne ou entrée pour en créer une.") (setq js (ssget "_+.:E:S" (list '(0 . "LWPOLYLINE") (cons 67 (if (eq (getvar "CVPORT") 1) 1 0)) (cons 410 (getvar "CTAB")) ) ) ) (if (null js) (progn (setvar "CMDECHO" 1) (command "_.pline" (while (not (zerop (getvar "cmdactive"))) (command pause) ) ) (setq dxf_ent (entget (entlast))) ) (setq dxf_ent (entget (ssname js 0))) ) (cond ((eq (cdr (assoc 0 dxf_ent)) "LWPOLYLINE") (vlax-ldata-put "cablage" "3" 11.0) (vlax-ldata-put "cablage" "4" 3.0) (vlax-ldata-put "cablage" "5" 5.0) (vlax-ldata-put "cablage" "6" 2.5) (vlax-ldata-put "cablage" "7" 1.0) (vlax-ldata-put "cablage" "8" 2.0) (vlax-ldata-put "cablage" "9" 2.0) (vlax-ldata-put "cablage" "G" 2.0) (setq lay_name (cdr (assoc 8 dxf_ent)) key_usr "") (cond ((eq lay_name "Reseau Distribution Electrique Eclairage") (setq typ_cab "DISTRIBUTION-PUBLIC")) ((eq lay_name "Reseau Distribution Electrique Abonne") (setq typ_cab "DISTRIBUTION-PRIVE")) (T (setq typ_cab "DISTRIBUTION-Inconnue")) ) (vl-load-com) (setq obj_vlax (vlax-ename->vla-object (cdar dxf_ent)) e_length (vlax-curve-getDistAtParam obj_vlax (vlax-curve-getEndParam obj_vlax)) pt_start (vlax-curve-getStartPoint obj_vlax) pt_end (vlax-curve-getEndPoint obj_vlax) ) (vla-GetBoundingBox obj_vlax 'mnpt 'mxpt) (setq minpt (trans (safearray-value mnpt) 0 1) maxpt (trans (safearray-value mxpt) 0 1) ) (command "_.zoom" "_window" "_none" minpt "_none" maxpt "_.zoom" "0.75x") (redraw (cdar dxf_ent) 3) (draw_pt pt_start 7) (repeat 2 (initget "poteauEP poteauBT Poste Candelabre Boite BOrne COffret Armoire") (setq key_cab (getkword "\nBranchement pour cette extrémité sur [poteauEP/poteauBT/Poste/Candelabre/Boite/BOrne/COffret/Armoire]? : ")) (cond ((eq key_cab "poteauEP") (setq lg_ext (cons (cons 11 key_cab) lg_ext) key_usr (strcat "3" key_usr))) ((eq key_cab "poteauBT") (setq lg_ext (cons (cons 3 key_cab) lg_ext) key_usr (strcat "4" key_usr))) ((eq key_cab "Poste") (setq lg_ext (cons (cons 5 key_cab) lg_ext) key_usr (strcat "5" key_usr))) ((eq key_cab "Candelabre") (setq lg_ext (cons (cons 2.5 key_cab) lg_ext) key_usr (strcat "6" key_usr))) ((eq key_cab "Boite") (setq lg_ext (cons (cons 1 key_cab) lg_ext) key_usr (strcat "7" key_usr))) ((eq key_cab "BOrne") (setq lg_ext (cons (cons 2 key_cab) lg_ext) key_usr (strcat "8" key_usr))) ((eq key_cab "COffret") (setq lg_ext (cons (cons 2 key_cab) lg_ext) key_usr (strcat "9" key_usr))) (T (setq key_cab "Armoire") (setq lg_ext (cons (cons 2 key_cab) lg_ext) key_usr (strcat "G" key_usr))) ) (draw_pt pt_start -7) (draw_pt pt_end 7) ) (draw_pt pt_end -7) (if (null (tblsearch "appid" "RESEAU_CABLAGE")) (regapp "RESEAU_CABLAGE") ) (alert (strcat "Information attaché à la polyligne mesurant : " (rtos e_length 2 2) "\net sur le calque : " lay_name "\n" "\nLongueur de cable attaché : " (rtos (* 1.04 (+ e_length (caadr lg_ext) (caar lg_ext))) 2 2) "\nPour un(e) : " (strcase (cdadr lg_ext)) " à la 1ere extrémité." "\nEt pour un(e) : " (strcase (cdar lg_ext)) " à la 2ème extrémité." "\nCeci pour une " typ_cab ) ) (redraw (cdar dxf_ent) 4) (setq AcDoc (vla-get-ActiveDocument (vlax-get-acad-object)) Space (if (= 1 (getvar "CVPORT")) (vla-get-PaperSpace AcDoc) (vla-get-ModelSpace AcDoc) ) ) (cond ((null (tblsearch "LAYER" (strcat lay_name "-TXT"))) (vla-add (vla-get-layers AcDoc) (strcat lay_name "-TXT")) ) ) (setq pt (vlax-curve-getPointAtDist obj_vlax (* 0.5 e_length)) deriv (vlax-curve-getFirstDeriv obj_vlax (vlax-curve-getParamAtPoint obj_vlax pt)) rtx (- (atan (cadr deriv) (car deriv)) (angle '(0 0 0) (getvar "UCSXDIR"))) ) (initget 6) (setq htx (getdist (trans pt 0 1) (strcat "\nSpécifiez la hauteur texte <" (rtos (getvar "TEXTSIZE")) ">: "))) (if htx (setvar "TEXTSIZE" htx)) (if (or (> rtx (* pi 0.5)) (< rtx (- (* pi 0.5)))) (setq rtx (+ rtx pi))) (setq nw_obj (vla-addMtext Space (vlax-3d-point (setq pt (polar pt (+ rtx (* pi 0.5)) (getvar "TEXTSIZE")))) 0.0 (strcat "%<\\AcExpr " "%<\\AcExpr (" (rtos (vlax-ldata-get "cablage" (substr key_usr 1 1))) " + " (rtos (vlax-ldata-get "cablage" (substr key_usr 2 1))) " + " "%<\\AcObjProp Object(%<\\_ObjId " (itoa (vla-get-ObjectID obj_vlax)) ">%).Length>%)>% * 1.04 >%" ) ) ) (mapcar '(lambda (pr val) (vlax-put nw_obj pr val) ) (list 'AttachmentPoint 'Height 'DrawingDirection 'InsertionPoint 'StyleName 'Layer 'Rotation) (list 5 (getvar "TEXTSIZE") 5 pt (getvar "TEXTSTYLE") (strcat lay_name "-TXT") rtx) ) (entmod (append dxf_ent (list (list -3 (list "RESEAU_CABLAGE" (cons 1002 "{") (cons 1000 typ_cab) (cons 1000 (cdadr lg_ext)) (cons 1040 (caadr lg_ext)) (cons 1000 (cdar lg_ext)) (cons 1040 (caar lg_ext)) (cons 1000 "Longueur totale de cable") (cons 1040 (* 1.4 (+ e_length (caadr lg_ext) (caar lg_ext)))) (cons 1002 "}") ) ) ) ) ) (redraw) ) (T (princ "\nN'est pas une polyligne!")) ) (prin1) )
  3. je comprend mieux pour les colone, sufisait de savoir que ca commencé a 0. Par contre pour le (setq n_row (1- n_row) n_column -1) je comprend pas pourquoi je dois le remetre, surtout que je suis sortis de la boucle et que la commande qui suit ne fait pas intervenir les valeurs de "n_row" ni de "n_column". surtout que dans la commande qui suit, on lui dit ou écrir la formule. c'est dans ce passage: (foreach n ... ... ... ... (setq n_row (1- n_row) n_column -1) ) (vla-SetText ename_cell (+ 2 nb) 4 (strcat "Total= " "%<\\AcExpr (Sum(E3:E" (itoa (+ 2 nb)) ")) \\f \"%lu6\">%") ) (vla-SetCellTextStyle ename_cell (+ 2 nb) 4 "Texte-Cell") (vla-SetCellTextHeight ename_cell (+ 2 nb) 4 (vlax-make-variant h_t 5)) (vla-SetCellAlignment ename_cell (+ 2 nb) 4 6) [surligneur] (setq n_row (1- n_row) n_column -1)[/surligneur] (vla-SetText ename_cell (+ 2 nb) 5 (strcat "Total= " "%<\\AcExpr (Sum(F3:F" (itoa (+ 2 nb)) ")) \\f \"%lu6\">%") ) (vla-SetCellTextStyle ename_cell (+ 2 nb) 5 "Texte-Cell") (vla-SetCellTextHeight ename_cell (+ 2 nb) 5 (vlax-make-variant h_t 5)) (vla-SetCellAlignment ename_cell (+ 2 nb) 5 6) (vlax-release-object ename_cell) (vlax-release-object Space) (setvar "dimzin" oldim) (setvar "clayer" oldlay) ) [Edité le 18/5/2009 par didicools]
  4. ca y est, c'est bon, j'ai réussi. c'est beaucoup plus simple de prendre les parties existante et les modifier un peu, que de créer le code complet!! pour l'instant je sais modifier mais pas créé. Je disais donc que j'ai réussi en copiant des bou de code. Donc pour voir si ce que j'ai fais te parais simple ou si j'ai cherché compliqué, peu tu regarder ce que tu en pense. (J'ai écris quelque explication sur ce que j'ai fait après le code) (vl-load-com) (defun c:Tab_Cable ( / js AcDoc Space nb lst_layer lst_typ lst_1br lst_2br key_usr lst_length lst_length2 all_path j end_pos id_path fonts_path file_shx nw_style n obj dxf_ent ename elist xd_list e_data oldim oldlay ins_pt_cell h_t w_c ename_cell n_row n_column) (princ "\nSélection d'une polyligne comme modèle pour désignation du calque à traiter.") (while (null (setq js (ssget "_+.:E:S" '((0 . "LWPOLYLINE") (-3 ("RESEAU_CABLAGE")))))) (princ "\nSélection vide, ou n''est pas une polyligne valable!") ) (setq js (ssget "_X" (list '(0 . "LWPOLYLINE") '(-3 ("RESEAU_CABLAGE")) (assoc 8 (entget (ssname js 0))) ) ) ) (cond (js (setq AcDoc (vla-get-ActiveDocument (vlax-get-acad-object)) Space (if (= 1 (getvar "CVPORT")) (vla-get-PaperSpace AcDoc) (vla-get-ModelSpace AcDoc) ) nb 0 lst_layer '() lst_typ '() lst_1br '() lst_2br '() lst_length '() lst_length2 '() ) (cond ((null (tblsearch "LAYER" "Tableau-Reseaux-Cables")) (vla-add (vla-get-layers AcDoc) "Tableau-Reseaux-Cables") ) ) (cond ((null (tblsearch "STYLE" "Texte-Cell")) (setq all_path (getenv "ACAD") j 0) (while (setq end_pos (vl-string-position (ascii ";") all_path)) (setq id_path (substr all_path 1 end_pos)) (if (wcmatch (strcase id_path) "*FONTS*") (setq fonts_path (strcat id_path "\\")) ) (setq all_path (substr all_path (+ 2 end_pos))) ) (setq file_shx (getfiled "Selectionnez un fichier de police" fonts_path "shx" 8)) (if (not file_shx) (setq file_shx "txt.shx") ) (setq nw_style (vla-add (vla-get-textstyles AcDoc) "Texte-Cell")) (mapcar '(lambda (pr val) (vlax-put nw_style pr val) ) (list 'FontFile 'Height 'ObliqueAngle 'Width 'TextGenerationFlag) (list file_shx 0.0 (/ (* 15.0 pi) 180) 1.0 0.0) ) (command "_.ddunits" (while (not (zerop (getvar "cmdactive"))) (command pause) ) ) ) ) (repeat (setq n (sslength js)) (setq obj (ssname js (setq n (1- n))) dxf_ent (entget obj) ename (vlax-ename->vla-object obj) elist (entget obj (list "RESEAU_CABLAGE")) xd_list (cdr (assoc -3 elist)) e_data (mapcar 'cdr (cdr (car xd_list))) lst_layer (cons (cdr (assoc 8 dxf_ent)) lst_layer) lst_typ (cons (cadr e_data) lst_typ) lst_1br (cons (cadddr (cdr e_data)) lst_1br) lst_2br (cons (caddr e_data) lst_2br) key_usr (strcat (cond ((eq (cadddr (cdr e_data)) "Tableau") "3") ((eq (cadddr (cdr e_data)) "Chambre") "4") ((eq (cadddr (cdr e_data)) "Boite") "5") ) (cond ((eq (caddr e_data) "Tableau") "3") ((eq (caddr e_data) "Chambre") "4") ((eq (caddr e_data) "Boite") "5") ) ) lst_length (cons (strcat "%<\\AcExpr " "%<\\AcExpr (" (rtos (vlax-ldata-get "cablage" (substr key_usr 1 1))) " + " (rtos (vlax-ldata-get "cablage" (substr key_usr 2 1))) " + " "%<\\AcObjProp Object(%<\\_ObjId " (itoa (vla-get-ObjectID ename)) ">%).Length>%)>% * 1.4 \\f \"%lu6\">%" ) lst_length ) lst_length2 (cons (strcat "%<\\AcExpr " "%<\\AcExpr (" "%<\\AcObjProp Object(%<\\_ObjId " (itoa (vla-get-ObjectID ename)) ">%).Length>%)>% * 1.4 \\f \"%lu6\">%" ) lst_length2 ) nb (1+ nb) ) ) (setq oldim (getvar "dimzin") oldlay (getvar "clayer")) (setvar "dimzin" 0) (setvar "clayer" "Tableau-Reseaux-Cables") (initget 9) (setq ins_pt_cell (getpoint "\nPoint d'insertion haut gauche du tableau: ")) (initget 6) (setq h_t (getdist ins_pt_cell (strcat "\nHauteur du texte <" (rtos (getvar "textsize")) ">: "))) (if (null h_t) (setq h_t (getvar "textsize")) (setvar "textsize" h_t)) (initget 7) (setq w_c (getdist ins_pt_cell "\nLargeur des cellules: ")) (vla-addTable Space (vlax-3d-point (trans ins_pt_cell 1 0)) (+ 3 nb) 6 (+ h_t (* h_t 0.25)) w_c) (setq ename_cell (vlax-ename->vla-object (entlast)) n_row (1+ nb) n_column -1) (vla-rotate ename_cell (vlax-3d-point (trans ins_pt_cell 1 0)) (angle '(0.0 0.0 0.0) (getvar "UCSXDIR"))) (vla-SetCellValue ename_cell 0 0 (vlax-make-variant "TABEAU RECAPITULATIF DE METRE" 8)) (vla-SetCellTextStyle ename_cell 0 0 "Texte-Cell") (vla-SetCellTextHeight ename_cell 0 0 (vlax-make-variant h_t 5)) (vla-SetCellAlignment ename_cell 0 0 5) (foreach n (mapcar'list (append lst_layer '("Calque")) (append lst_typ '("Type de cablage")) (append lst_1br '("1er Raccordement par")) (append lst_2br '("2ème Raccordement par")) (append lst_length '("Longueurs de cable")) (append lst_length2 '("Longueurs de cable2")) ) (mapcar '(lambda (el) (vla-SetText ename_cell n_row (setq n_column (1+ n_column)) el) (vla-SetCellTextStyle ename_cell n_row n_column "Texte-Cell") (vla-SetCellTextHeight ename_cell n_row n_column (vlax-make-variant h_t 5)) (if (eq n_row 1) (vla-SetCellAlignment ename_cell n_row n_column 5) (vla-SetCellAlignment ename_cell n_row n_column 6) ) ) n ) (setq n_row (1- n_row) n_column -1) ) (vla-SetText ename_cell (+ 2 nb) 4 (strcat "Total= " "%<\\AcExpr (Sum(E3:E" (itoa (+ 2 nb)) ")) \\f \"%lu6\">%") ) (vla-SetCellTextStyle ename_cell (+ 2 nb) 4 "Texte-Cell") (vla-SetCellTextHeight ename_cell (+ 2 nb) 4 (vlax-make-variant h_t 5)) (vla-SetCellAlignment ename_cell (+ 2 nb) 4 6) (setq n_row (1- n_row) n_column -1) (vla-SetText ename_cell (+ 2 nb) 5 (strcat "Total= " "%<\\AcExpr (Sum(F3:F" (itoa (+ 2 nb)) ")) \\f \"%lu6\">%") ) (vla-SetCellTextStyle ename_cell (+ 2 nb) 5 "Texte-Cell") (vla-SetCellTextHeight ename_cell (+ 2 nb) 5 (vlax-make-variant h_t 5)) (vla-SetCellAlignment ename_cell (+ 2 nb) 5 6) (vlax-release-object ename_cell) (vlax-release-object Space) (setvar "dimzin" oldim) (setvar "clayer" oldlay) ) (T (princ "\nAucune LWPOLYLINE trouvé avec l'application RESEAU_CABLAGE")) ) (prin1) ) Donc en fait j'ai recréé une variable "lst_length2", j'ai rajouté une colone, j'ai copier colé la partie qui consiste a mettre les longueurs dans les cases, en retirant les tenant et aboutissant. Puis j'ai copier collé la partie pour faire la somme. Et la je me demande quelque chose, un truc que j'ai pas compris, a quoi sert cette ligne de code: (setq n_row (1- n_row) n_column -1) je sais qu'il faut la mettre (sinon ca marche pas, j'ai essayé <acronym class=dict title=) mais pourquoi, a quoi sert-elle ? une autre ligne que je comprend pas très bien: (vla-SetText ename_cell (+ 2 nb) 5 (strcat "Total= " "%<\\AcExpr (Sum(F3:F" (itoa (+ 2 nb)) ")) \\f \"%lu6\">%") ) (vla-SetCellTextStyle ename_cell (+ 2 nb) 5 "Texte-Cell") (vla-SetCellTextHeight ename_cell (+ 2 nb) 5 (vlax-make-variant h_t 5)) (vla-SetCellAlignment ename_cell (+ 2 nb) 5 6) si je comprend bien les commandes, le "5" correspond a la colonne ? ou c'est le "6" tout a la fin? Parce qu'au final ca s'écrit bien dans la colonne 6. Sinon a quoi sert ce "5"? Merci pour vos éclaircissement futur !!!
  5. Merci bonuscad et (gile) J'ai modifier le code, ca marche nikel, j'ai rajouté des tenant et aboutissant, ca marche nikel, le tableau de métré ca marche nikel <acronym class=dict title=, tout va bien. Je vais essayé de rajouter une colone dans le tableau, c'est une colone qui fairai le total des longueur sans les boite, chambre.... j'ai déjà commencé a regarder et j'y suis presque donc ca devrai allé.
  6. bon je m'en sors pas avec les ldata, trop novice...... Mais je desespère pas <acronym class=dict title=
  7. bon j'ai trouvé la réponse pour les USERR on est limité a 5, je vais essayé de faire avec vlax-ldata-put, on verra ce que ca donne <acronym class=dict title=....
  8. merci vraiment pour tout bonuscad!!!! je suis déjà très étonné que tu es accepté de faire cet énorme boulot, de t'investir autant rien que pour moi!!! je vais essayé de m'y mettre au lisp, c'est dingue tout ce qu'on peu faire avec!!! j'aurai juste une question pour me permettre de moduler un peu le lisp, j'aurai éventuellement besoin de rajouter différent type d'extrémité, c'est a dire, en plus de boite, chambre, tableau, avec les longueur associé. Donc je me demandé si je peu allé plus loin que USERR5, y a t-il une limite pour les variable USERR ? Sinon pour le tableau de métré c'est parfait!!!! c'est vraiment un travail enorme!!!! Si c'est pas trop indiscret, quel age as tu ? Et combien de temps t'a-t-il fallu pour maitriser le lisp a ce point ? Que me suggère tu pour commencer dans le lisp, as tu des lien intéressant pour apprendre ?
  9. Merci encore bosnuscad, tu es incroyable !!!! j'aurai des évolution a te demander sur le programme "cablage", est ce qu'il serai possible que le texte contenant la longueur de la polyligne du calque "Reseau Distribution Electrique Eclairage" s'ecrive dans un calque qu'on nomerai "Reseau Distribution Electrique Eclairage- TXT" et ainsi de suite pour les autre calque. sachant que les différent calque peuvent etre créé avant dans le dessin, si ca peu te facilité un peu les choses...... Juste rajouter "-TXT" au nom du calque en fonction du calque ou ce situe la polyligne. Toujour dans le lisp CABLAGE, est ce qu'il serrai possible de multiplier les longueur par 1.4 ? un exemple : (longueur de la poly + boite + tableau)*1.4 Dernière question, pour le tableau de métré, est ce qu'il est possible d'avoir un total par calque au lieu d'un total général (dans 1 ou plusieur tableau a la rigueur)? par exemple: calque 1 : longueur : 10 calque 1 : longueur : 10 total : 20 calque 2 : longueur : 10 calque 2 : longueur : 20 total : 30 Le métré ce calcul sur le dessin complet, est ce qu'on peut lilimité le calcul a une selection ? Encore une fois merci pour tout le mal que tu te donne pour moi!!!! C'est vraiment très aimable de ta part!!!!
  10. bonuscad, Ce lisp est impressionnant, c'est incroyable, ca fait exactement ce dont j'ai besoin. Cependant, serait-il possible de marquer le texte sous forme d'un champ, pour que si jamais je modifie un peut la polyligne (allongé ou réduire un peu la polyligne par exemple) la longueur ce met a jour avec un petit "regen". Comme on additionne les longueurs venant des boite, tableau et autre, je pas si les champs pourront ce metre a jour comme dans ton lisp CurveLength_Field. Une autre petite chose, est ce qu'il serai possible d'avoir le choix de tracer la poyligne avec cette commande "cablage" (qui est très bien ;) ) mais aussi de pouvoir sélectionner une polyligne deja existante? Cette requete est moin importante, mais ca serai un petit plus. J'aurai éventuellement d'autre besoin comme additionné toutes les longueurs (i compris longueur de boite et tableau) d'un meme calque et le metre dans un tableau avec le nom du calque en face. Mais ca serai en dernier lieu, sinon je pourai faire ca en faisant une extraction de donné sur excel, et coller le tableau sur autocad, ca m'inquiète pas trop ca. Après j'aurai différent calques, mais la je devrai m'en sortir je croi, ca devrai pas poser de pb, surtout que tu as sorti du lisp le passage ou tu défini les calques. sinon je le répéte ecore une fois, ce lisp est deja génial comme ca, ca répond beaucoup de mes attente, et avec une telle rapidité pour écrire un code si complexe!!!! je dirai 2 mots : CHAPEAU BAS!!!!!!
  11. pourtant c'est bien ca que je veux, je voudrai que ce soit bien des bloc différent avec tattribut et qui aurai pour valeur la longueur de la polyligne mais sans prendre la polyligne dans le bloc. Le bloc serai constiué juste de l'attribut. Je vous explique ma situation, dans le cadre de tirage de réseau électrique, je représente mon réseau futur par une polyligne, cette polyligne me donne une longueur. Mais mon reseau arrive soit sur une boite, soit chambre de tirage ou soit sur un tableau d'abonné (il sagit d'éclairage public et distribution electrique du reseau EDF) donc a la longueur de la polyligne j'ajoute soit 2m, soit 5m, soit 10m et c'est pas des petite section de cable, donc je peu pas arrondir les longueur.....et j'ai besoin que cette longueur apparaisse sur le plan. Et comme je travail sur des reseau de plusieur km, ca serai pas mal si je pouvais automatiser tout ca en passant par excel. en passant ce cette manière sur excel, je pourai r'envoyé mes longueurs sur chaque bloc. Après si vous avez d'autre proposition plus simple je suis preneur biensur!! Merci!
  12. Bonjour a tous, j'ai trouver un lisp sur le net, et ce lisp me permet de noter la longueur d'une polyligne juste au dessus et au centre de celle ci. Ce lisp m'écrit cette longueur sous forme de CHAMP. Il sagit du lisp de Bonuscad : CurveLength_Field disponible ici : http://bruno.valsecchi.neuf.fr/bonuscad/CurveLength_Field.lsp Ce que je voudrai c'est que cette longueur soit écrite sous forme d'un bloc avec attribut (attribut qui aurai pour "valeur" le CHAMP initialement prévu dans le lisp). Et que le nom du bloc s'incrémente de 1 à x bloc Une autre chose, ce lisp me note la longueur de la polyligne sur un calque qu'il crée, appelé "Id-Longueurs", ce que je voudrai c'est qu'il me note ces longueurs sur le meme calque que ma polyligne car j'ai des polylignes sur différents calques. Est-il possible de faire ca ? Mon but au final, et de pouvoir extraire ces longueurs sur excel, les modifier et les réinjecter sur autocad, et je voi que que le bloc avec attribut pour faire ca. En espérent que cela est possible. Merci d'avance en tout cas pour toute l'aide que vous pourrez m'apporter. Didicools [Edité le 7/5/2009 par didicools]
  13. Bonjour, j'ai essayé la commande (bns_blink_and_show_object (car (entsel)) 2) mais ca marche pas chez moi, ca fait rien, ca me marque ca dans la barre de commande Commande: (bns_blink_and_show_object (car (entsel)) 2) Choix de l'objet: _.redraw Commande: _.redraw Commande: _.redraw Commande: _.redraw . . . . . Commande: _.redraw Commande: _.redraw Commande: nil Commande: mais rien ne ce passe. Peu etre le PC est trop rapide...... Personne n'a de solution ? En fait ce que je souhaiterai c'est que mon bloc clignote tout le temps, reste a savoir si c'est possible....... [Edité le 28/10/2008 par didicools]
  14. Bonjour a tous, Tout est dans le titre, comment puis-je faire pour faire clignoter un bloc ? j'ai qu'il y avait éventuelement l'instruction "bns_blink_and_show_object" mais je c absolument faire faire de lisp. Quelqun aurai-t-il une solution. Merci
  15. Bonjour, Sur un dessin j'ai un bloc avec attribut nomé "PC" que je le copie plusieurs fois, sur certain attribut j'aplique une rotation pour que ce soit plus lisible sur le plan, jusque la tout va bien. Le style de texte de l'attribut est "STANDAR" pour des raison de lisibilité je le passe en "ARIAL" avec la commande "BATTMAN" il me change bien mon style de texte sur tout les bloc mais il me remet toute mes rotation d'attribut a 0, comme a l'origine. Aurriez vous une solution pour qu'il me garde la rotation de mon attribut ?
  16. didicools

    RTEXT

    oui la liste ce met bien a jour mais cependant il me marque les xref qui sont décharger, et ca m'enbete de les détacher parcequ'il y a des echelle assez bizar pour insérer ces xref
  17. didicools

    RTEXT

    Rebonjour a tous, Toujour pas de solition pour ma petite demande? Amicalement.
  18. didicools

    RTEXT

    Bonjour a tous, petite question pour les tetes pensentes !! j'utilise la commande RTEXT, pour afficher la liste de mes xref sur mon plan avec $(xrefs, 2) en diesel ca me donne un truc du style Xref-1 Xref-2 Xref-3 Mon souci est que sur mon plan j'ai des xref qui sont décharger admeton le "Xref-1", et il aparraisse quand meme. Y a t il une solution pour qu'il n'affiche que les xref chargé ? c'est a dire qu'il m'écrive Xref-2 Xref-3 Amicalement.
  19. didicools

    Pb type de ligne

    oui c bien du 2D avec une version d'autocad 2088 complete et normal, pas de logiciel en plus, ca marché bien avant et la ca marche plus.....
  20. Bonjour a tous, Alors mon probleme est que peu importe le type de ligne et l'échelle que j'aplique sur une ligne ou polyligne, le type de ligne apparai pas, j'ai beau metre "CACHE", je vois pas les pointillé, ni en objet, ni en papier J'ai essayé de modifier les variable PSLTSCALE, LTSCALE, MEASUREMENT et rien n'y fait..... Auriez vous une solution a m'aporter..... Merci a tous
  21. Salut Patrick_35, J'ai téléchargé et installé ton programme "folio" qui gère les folio par calque. Mais je comprend absolument pas le fonctionnement. Je c pas trop comment démmarer en fait, j'ai une page de garge, un somaire et un fond de plan a apliquer a tous mes folio, donc ca me fait fait 3 fichiers différent, et c la que je voudrai utiliser ton logiciel. j'ai besoin de ca pour faire des schéma electrique, donc beaucoup de follio..... Pourai tu éclairer mes lanternes ? A tès bientot j'espère. Amicalement.
  22. Salut, Personnelement j'utilise pas l'epaisseur de ligne, je trouve qu'on ce rend pas bien compte a l'écran, qd tu es en OBJET, de l'épaisseur réelle des ligne. J'utilise alors la commande PEDIT pour donner de l'épaisseur a mes ligne, est pour l'impréssion, je désactive l'épaisseur de ligne. C'est ma solution, il doit surement y en avoir d'autre Amicalement.
  23. didicools

    Coordonée d\'un bloc

    merci beaucoup gile, c exactement les information que je cherchais !!! Ca marche impécablement. Merci beaucoup a toi, et pour ta rapidité de réponse !!!!
  24. didicools

    Coordonée d\'un bloc

    Alors, juste en rajoutant un point sur le bloc ca marche, sans éditer celui ci, je cré un bloc juste avec le point, et je le colle dessus, ca va. Par conrte juste un petit detail, au niveau du texte d'attribut, il y a un fond gris derrière le texte. Est-ce normale ? est ce qu'il serai possible d'enlever le fond ? ou de changer la couleur ?
  25. didicools

    Coordonée d\'un bloc

    j'ai trouvé pour la position, mais le pb c que l'attribut que je rajoute, je le voi plus quand j'enregistre les modification, je le retrouve pas dans mon dessins, mais si je le ré-édit, il est bien la ....
×
×
  • 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é