-
Compteur de contenus
72 -
Inscription
-
Dernière visite
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par Neo83
-
Modification de lisp, s'il vous plaît.
Neo83 a répondu à un(e) sujet de Neo83 dans LISP et Visual LISP
Bonjour Luna,Je te remercie pour ta réponse et pour le temps que tu me donneras pour réaliser ma demande. A bientôt. -
Bonjour,J'ai trouvé sur ce site, il y a longtemps déjà ce lisp qui fait les tableaux de surfaces. Celui-ci me rend de sacré services tous les jours de travail. Et merci à celui qui l'a écrit.Je souhaiterais toutefois un légère modification qui consisterait à ranger les noms des pièces par ordre alphabétique lors de l'insertion du tableau. AutoCAD ne permet pas de le faire après.Si j'extrais en CSV et que je réimporte le tableau en CSV, je perd le côté dynamique des surfaces, et ceci est très dommage. Je ne suis qu'un utilisateur de fichiers lisp, c'est pour cela que je fais appelle à votre communauté. Je vous remercie pour votre aide. Le lisp en question:(Il est aussi en fichier joint) (defun c:tabsurf ( / js js_sel n obj vla_obj oldim oldlay AcDoc Space nw_style ins_pt_cell h_t w_c ename_cell n_row n_column) (setq js (ssget '((0 . "LWPOLYLINE")))) (setq js_sel (ssadd)) (repeat (setq n (sslength js)) (setq obj (ssname js (setq n (1- n)))) (if (vlax-ldata-get (setq vla_obj (vlax-ename->vla-object obj)) "SURF2") (ssadd obj js_sel) ) ) (cond (js_sel (setq oldim (getvar "dimzin") oldlay (getvar "clayer") ) (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" "Tableaux-Métrés")) (vla-add (vla-get-layers AcDoc) "Tableaux-Métrés") ) ) (cond ((null (tblsearch "STYLE" "TEXTE")) (setq nw_style (vla-add (vla-get-textstyles AcDoc) "TEXTE")) (vlax-put nw_style 'fontfile "romand.shx") (vlax-put nw_style 'height 0.0) (vlax-put nw_style 'obliqueangle (/ (* 15.0 pi) 180)) (vlax-put nw_style 'width 1.0) (vlax-put nw_style 'textgenerationflag 0.0) ) ) (setvar "dimzin" 0) (setvar "clayer" "Tableaux-Métrés") (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: ")) (setq ename_cell (vla-addTable Space (vlax-3d-point (trans ins_pt_cell 1 0)) (+ 3 (sslength js_sel)) 2 (+ h_t (* h_t 0.25)) w_c)) (setq n_row 2 n_column -1) (vla-SetText ename_cell 0 0 "SURFACES") (vla-SetCellTextStyle ename_cell 0 0 "TEXTE") (vla-SetCellTextHeight ename_cell 0 0 (vlax-make-variant h_t 5)) (vla-SetCellAlignment ename_cell 0 0 5) (foreach string '("LOCAUX" "SUPERFICIES (m²)") (vla-SetText ename_cell 1 (setq n_column (1+ n_column)) string) (vla-SetCellTextStyle ename_cell 1 n_column "TEXTE") (vla-SetCellTextHeight ename_cell 1 n_column (vlax-make-variant h_t 5)) (vla-SetCellAlignment ename_cell 1 n_column 5) ) (setq n_column -1) (repeat (setq n (sslength js_sel)) (setq ename (vlax-ename->vla-object (ssname js_sel (setq n (1- n))))) (if (vlax-property-available-p ename 'Area) (progn (vla-SetText ename_cell n_row (setq n_column (1+ n_column)) (vlax-ldata-get ename "SURF2") ) (vla-SetCellTextStyle ename_cell n_row n_column "TEXTE") (vla-SetCellTextHeight ename_cell n_row n_column (vlax-make-variant h_t 5)) (vla-SetCellAlignment ename_cell n_row n_column 6) (vla-SetText ename_cell n_row (setq n_column (1+ n_column)) (strcat "%<\\AcObjProp Object(%<\\_ObjId " (itoa (vla-get-ObjectID ename)) ">%).Area \\f \"%lu2%pr2%ps>%") ) (vla-SetCellTextStyle ename_cell n_row n_column "TEXTE") (vla-SetCellTextHeight ename_cell n_row n_column (vlax-make-variant h_t 5)) (vla-SetCellAlignment ename_cell n_row n_column 6) (setq n_row (1+ n_row) n_column -1) ) ) ) (setq n_column 1) (vla-SetText ename_cell n_row n_column (strcat "Total= " "%<\\AcExpr (Sum(B3:B" (itoa n_row) ")) \\f \"%lu2%pr1\">%") ) (vla-SetCellTextStyle ename_cell n_row (1- (length lst_idcolumn)) "TEXTE") (vla-SetCellTextHeight ename_cell n_row (1- (length lst_idcolumn)) (vlax-make-variant h_t 5)) (vla-SetCellAlignment ename_cell n_row (1- (length lst_idcolumn)) 6) (vlax-release-object ename_cell) (vlax-release-object Space) (setvar "dimzin" oldim) (setvar "clayer" oldlay) ) (T (princ "\nSélection vide!") ) ) )
-
Bonjour Steven, C'est exactement ça. Aménagement de banque, donc de bureaux! Je comprends la marche suivre. Y'a plus qu'à! Je te remercie pour ta réponse.
-
Bonjour à tous. Apparemment dans les bibliothèques AutoCad Architecture 2015, il n'existe pas de style de cloison vitrée sur allège. J'ai cherché ceci dans les palettes ainsi que dans les catalogue et je n'en trouve pas. J'ai essayé de créer un style de cloison vitrée sur allège mais je n'y arrive pas. Quelqu'un en aurait-il un sous la main? Bonne journée à tous.
-
Oh désolé les amis... AutoCAD Architecture 2012.
-
Bonjour à tous. Existe-t-il dans les bibliothèques AutoCad, un style de cloison vitrée sur allège? J'ai cherché ceci dans les palettes ainsi que dans les catalogue et je n'en trouve pas. J'ai aussi essayé de créer un style de cloison vitrée sur allège mais j'ai échoué. Je suis un peu découragé. Bonne journée à tous.
-
Bonjour Steven, Je te remercie pour ta réponse. Tu as très bien compris la question, pas de souci. En fait j'ai en moyenne 18 présentations par fichier qui ne sont pas au même indice. J'ai peur de me perdre avec cette solution. Je suis embêté. Je peux avoir sur une présentation ceci: A 13/12/12 Première émission B 25/02/13 Mise à jour Entrée C 24/06/13 Ajout escalier extérieur Et sur une autre présentation du même fichier ceci: A 15/02/13 Mise à jour Entrée B 24/06/13 Ajout escalier extérieur C 15/07/13 Ajout des faux-plafonds Ces deux présentations vivent leur vie d'indice séparément, d'où mes ennuis. En tous cas, je te remercie de t'intéresser au problème. A plus tard.
-
Bonjour Steven, Je te remercie pour ta réponse. Je connais plus ou moins ce lisp. Il crée des chaines que l'on peut visualiser sur les dessin. Il est bien trop évolué pour ce que je souhaite faire. Je m'explique un peu mieux que dans mon mail précédent. En fait dans mes cartouches j'ai un historique d'indice sur trois lignes. A 13/12/12 Première émission B 25/02/13 Mise à jour Entrée C 24/06/13 Ajout escalier extérieur Lors de l'ajout d'un quatrième indice je souhaite "remonter" les deux derniers indices et avoir: B 25/02/13 Mise à jour Entrée C 24/06/13 Ajout escalier extérieur D 15/07/13 Ajout des faux-plafonds Mon problème est que je dois réécrire mes indices. Même en Copiant Collant cette opération est source d'erreur. Je souhaite donc que le copier coller puisse ce faire via une manip qui serait plus sécurisante quant à la saisie des textes précédemment entrés. A plus tard.
-
Bonjour à tous. Je cherche à copier la valeur d'un attribut sur un autre attribut en cliquant d'un à l'autre. J'ai cherché sur le site sans succès. Avez-vous un petit lisp sous la main? Je vous remercie pour vos réponses.
-
Bonjour, Pour faire tourner un espace objet dans une présentation, utilisez plutôt la commande VUEDYN validez deux fois entrez BA puis l'angle de rotation (sens trigo). C'est plus simple et cela évite un changement de zoom à l'activation de l'espace objet de la présentation. A+
-
Re-bonjour, Je dois ajouter quelque chose... C'est mon utilisation du LISP qui pose problème... J'ai fait un bouton dans lequel je crée un jeu de sélection:^c^c(set aa(ssget)) et un autre bouton dans lequel il y a :^c^cdeplacer;!aa;;0,0;0,0;TABSURF2;p;;\0.15;2; Avec 2008 archi cela fonctionait... La commande faite seule fonctionne normalement. Le lisp est donc toujours correct. Qu'est-ce qui fait que la sélection reprise avec P (précédent) génère ce désordre? Là je suis juste et complet. Merci à vous.
-
Bonjour à tous. J'ai migré de AutoCAD 2008 Architecture à AutoCAD 2012 Architecture. Mon problème est le suivant: Le lisp que j'avais trouvé sur ce site et qui me permettait de faire un tableau de surface des salles de mon dessin fonctionne toujours mais pas de manière parfaite. En effet lorsque je sélectionne les polylignes de surface des mes salles, celles-ci ne sont plus affichées dans l'ordre de ma sélection. Par exemple je sélectionne Bureau 1 puis Bureau 2 puis Bureau 3... et bien dans le tableau des surfaces,les "Bureau 1,2,3" ne sont pplus dans l'ordre 1 puis 2 puis 3... J'ai commencé par revoir la variable SORTENTS mais cela ne change rien. Je ne vois pas quelle autre variable prends cela en charge. Je n'ai pas la compétence pour savoir si cela vient du lisp ou pas. Je sèche, je vous appelle à l'aide. Ci-dessous le Lisp en question. (defun c:surf2 ( / obj AcDoc Space nw_style vla_obj pt) (command "_.pline" (while (not (zerop (getvar "cmdactive"))) (command pause) ) ) (setq obj (entlast) 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" "_Surfaces")) (vlax-put (vla-add (vla-get-layers AcDoc) "_Surfaces") 'color 2) ) ) (cond ((null (tblsearch "STYLE" "Romand20")) (setq nw_style (vla-add (vla-get-textstyles AcDoc) "Romand20")) (vlax-put nw_style 'fontfile "romand.shx") (vlax-put nw_style 'height 0.0) (vlax-put nw_style 'obliqueangle (/ (* 15.0 pi) 180)) (vlax-put nw_style 'width 1.0) (vlax-put nw_style 'textgenerationflag 0.0) ) ) (vlax-ldata-put (setq vla_obj (vlax-ename->vla-object obj)) "SURF2" (getstring T "\nNom du Local : ")) (initget 9) (setq pt (getpoint "\nPoint d'insertion du champ: ")) (initget 1) (setq nw_obj (vla-addMtext Space (vlax-3d-point (trans pt 1 0)) 0.0 (strcat (vlax-ldata-get vla_obj "SURF2") "\\P%<\\AcObjProp.16.2 Object(%<\\_ObjId " (itoa (vla-get-ObjectID vla_obj)) ">%).Area \\f \"%lu2%pr2%ps\">%m²" ) ) ) (vlax-put nw_obj 'AttachmentPoint 5) (vlax-put nw_obj 'Height 0.15) (vlax-put nw_obj 'DrawingDirection 5) (vlax-put nw_obj 'InsertionPoint (trans pt 1 0)) (vlax-put nw_obj 'StyleName "TEXTE") (vlax-put nw_obj 'Layer "Id-Surfaces") (prin1) ) ********************* (defun c:tabsurf2 ( / js js_sel n obj vla_obj oldim oldlay AcDoc Space nw_style ins_pt_cell h_t w_c ename_cell n_row n_column) (setq js (ssget '((0 . "LWPOLYLINE")))) (setq js_sel (ssadd)) (repeat (setq n (sslength js)) (setq obj (ssname js (setq n (1- n)))) (if (vlax-ldata-get (setq vla_obj (vlax-ename->vla-object obj)) "SURF2") (ssadd obj js_sel) ) ) (cond (js_sel (setq oldim (getvar "dimzin") oldlay (getvar "clayer") ) (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" "Tableaux-Métrés")) (vla-add (vla-get-layers AcDoc) "Tableaux-Métrés") ) ) (cond ((null (tblsearch "STYLE" "TEXTE")) (setq nw_style (vla-add (vla-get-textstyles AcDoc) "TEXTE")) (vlax-put nw_style 'fontfile "romand.shx") (vlax-put nw_style 'height 0.0) (vlax-put nw_style 'obliqueangle (/ (* 15.0 pi) 180)) (vlax-put nw_style 'width 1.0) (vlax-put nw_style 'textgenerationflag 0.0) ) ) (setvar "dimzin" 0) (setvar "clayer" "Tableaux-Métrés") (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: ")) (setq ename_cell (vla-addTable Space (vlax-3d-point (trans ins_pt_cell 1 0)) (+ 3 (sslength js_sel)) 2 (+ h_t (* h_t 0.25)) w_c)) (setq n_row 2 n_column -1) (vla-SetText ename_cell 0 0 "SURFACES") (vla-SetCellTextStyle ename_cell 0 0 "TEXTE") (vla-SetCellTextHeight ename_cell 0 0 (vlax-make-variant h_t 5)) (vla-SetCellAlignment ename_cell 0 0 5) (foreach string '("LOCAUX" "SUPERFICIES (m²)") (vla-SetText ename_cell 1 (setq n_column (1+ n_column)) string) (vla-SetCellTextStyle ename_cell 1 n_column "TEXTE") (vla-SetCellTextHeight ename_cell 1 n_column (vlax-make-variant h_t 5)) (vla-SetCellAlignment ename_cell 1 n_column 5) ) (setq n_column -1) (repeat (setq n (sslength js_sel)) (setq ename (vlax-ename->vla-object (ssname js_sel (setq n (1- n))))) (if (vlax-property-available-p ename 'Area) (progn (vla-SetText ename_cell n_row (setq n_column (1+ n_column)) (vlax-ldata-get ename "SURF2") ) (vla-SetCellTextStyle ename_cell n_row n_column "TEXTE") (vla-SetCellTextHeight ename_cell n_row n_column (vlax-make-variant h_t 5)) (vla-SetCellAlignment ename_cell n_row n_column 6) (vla-SetText ename_cell n_row (setq n_column (1+ n_column)) (strcat "%<\\AcObjProp Object(%<\\_ObjId " (itoa (vla-get-ObjectID ename)) ">%).Area \\f \"%lu2%pr2%ps>%") ) (vla-SetCellTextStyle ename_cell n_row n_column "TEXTE") (vla-SetCellTextHeight ename_cell n_row n_column (vlax-make-variant h_t 5)) (vla-SetCellAlignment ename_cell n_row n_column 6) (setq n_row (1+ n_row) n_column -1) ) ) ) (setq n_column 1) (vla-SetText ename_cell n_row n_column (strcat "Total= " "%<\\AcExpr (Sum(B3:B" (itoa n_row) ")) \\f \"%lu2%pr1\">%") ) (vla-SetCellTextStyle ename_cell n_row (1- (length lst_idcolumn)) "TEXTE") (vla-SetCellTextHeight ename_cell n_row (1- (length lst_idcolumn)) (vlax-make-variant h_t 5)) (vla-SetCellAlignment ename_cell n_row (1- (length lst_idcolumn)) 6) (vlax-release-object ename_cell) (vlax-release-object Space) (setvar "dimzin" oldim) (setvar "clayer" oldlay) ) (T (princ "\nSélection vide!") ) ) ) ***************** (defun c:resurf2 ( / js obj vla_obj obj_id AcDoc Space js_mt n en pt_ins nw_obj) (princ "\nSélectionner une polyligne pour une nouvelle affectation.") (while (null (setq js (ssget "_+.:E:S" '((0 . "LWPOLYLINE"))))) (princ "\nCe n'est pas un objet valable!") ) (setq obj (ssname js 0) vla_obj (vlax-ename->vla-object obj) obj_id (vlax-get-property vla_obj 'ObjectID) 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" "Id-Surfaces")) (vlax-put (vla-add (vla-get-layers AcDoc) "Id-Surfaces") 'color 96) ) ) (cond ((null (tblsearch "STYLE" "Romand20")) (setq nw_style (vla-add (vla-get-textstyles AcDoc) "TEXTE")) (vlax-put nw_style 'fontfile "romand.shx") (vlax-put nw_style 'height 0.0) (vlax-put nw_style 'obliqueangle (/ (* 15.0 pi) 180)) (vlax-put nw_style 'width 1.0) (vlax-put nw_style 'textgenerationflag 0.0) ) ) (if (vlax-ldata-get vla_obj "SURF2") (setq js_mt (ssget "_X" (list '(0 . "MTEXT") (cons 1 (strcat (vlax-ldata-get vla_obj "SURF2") "*"))))) ) (vlax-ldata-put vla_obj "SURF2" (getstring T "\nNom du Local : ")) (if js_mt (setq n (sslength js_mt)) (setq n 1)) (repeat n (if js_mt (progn (setq pt_ins (trans (cdr (assoc 10 (entget (setq en (ssname js_mt (setq n (1- n))))))) 0 1)) (entdel en) ) (progn (initget 9) (setq pt_ins (getpoint "\nPoint d'insertion du champ: ")) ) ) (setq nw_obj (vla-addMtext Space (vlax-3d-point (trans pt_ins 1 0)) 0.0 (strcat (vlax-ldata-get vla_obj "SURF2") "\\P%<\\AcObjProp.16.2 Object(%<\\_ObjId " (itoa obj_id) ">%).Area \\f \"%lu2%pr2%ps\">%m²" ) ) ) (vlax-put nw_obj 'AttachmentPoint 5) (vlax-put nw_obj 'Height 0.15) (vlax-put nw_obj 'DrawingDirection 5) (vlax-put nw_obj 'InsertionPoint (trans pt_ins 1 0)) (vlax-put nw_obj 'StyleName "TEXTE") (vlax-put nw_obj 'Layer "Id-Surfaces") ) ) (princ "\n\tsurf2 ---> pour définir aire des locaux.\n\ttabsurf2 ---> pour faire un tableau de surface.\n\tresurf2 ---> pour redéfinir une aire de local") (princ) Merci pour votre aide. SURFACE.lsp
-
Alignement d\'un text par rapport à une polyligne ou ligne
Neo83 a répondu à un sujet dans AutoCAD 2008
Bonjour, Oui avec la commande align. Cette commande au début n'est pas super simple à exécuter, mais elle rend beaucoup de services. -
Bonjour à tous, De retour avec un nouveau PC (HP Z400) qui tourne sous windows 7... Mais depuis ADDFIELDS ne fonctionne plus. Le résultat affiche des dièses et dans ce champs les champs additionnés sont aussi des dièses alors que sur le plan ces champs sont corrects. J'ai cherché sur le site une mise à jour de ce programme mais je n'en ai pas trouvé. Quelqu'un a une solution? Merci à vous. PS: J'ai 2008 architecture (32 bits) sous windows 7.
-
Bonjour à tous, De retour avec un nouveau PC (HP Z400) qui tourne sous windows 7... Mais depuis ADDFIELDS ne fonctionne plus. Le résultat affiche des dièses et dans ce champs les champs additionnés sont aussi des dièses alors que sur le plan ces champs sont corrects. J'ai cherché sur le site une mise à jour de ce programme mais je n'en ai pas trouvé. Quelqu'un a une solution? Merci à vous. PS: J'ai 2008 architecture (32 bits) sous windows 7.
-
modifier le lisp SURFACES vu dans un message Bonuscad
Neo83 a répondu à un(e) sujet de Neo83 dans Routines LISP
Eh bien oui, je réponds encore :yltype: , je ne suis pas encore en vacances! :calim: Merci à toi pour cette mise à jour... Ma vie est plus simple depuis tes lisp! :) Bonnes fêtes... :present: :present: :present: :present: :present: :present: :present: -
modifier le lisp SURFACES vu dans un message Bonuscad
Neo83 a répondu à un(e) sujet de Neo83 dans Routines LISP
C'est dommage. Je me sens redevable et c'est la seule manière que j'ai pour rendre à nouveau les services que l'on me rend au travers de ce site. Tu as compris que je ne peux rétribuer en LISP donc j'essaye de le faire en EURO. Voilà 20 ans que je dessine sur AutoCAD sans formation. J'en ai bien plus appris en quelques mois de connexion à votre contact que dans toutes les sociétés que j'ai traversées. Ma motivation est là. -
modifier le lisp SURFACES vu dans un message Bonuscad
Neo83 a répondu à un(e) sujet de Neo83 dans Routines LISP
Bonjour lili2006, J'ai envoyé un courriel au service administratif suite à ta réponse, mais depuis pas de nouvelle. Je me suis dit que je n'avais pas fait ce qu'il fallait... Si j'ai fait ce qu'il fallait, j'attends la réponse. -
modifier le lisp SURFACES vu dans un message Bonuscad
Neo83 a répondu à un(e) sujet de Neo83 dans Routines LISP
D'accord! :) La première parenthèse et la dernière parenthèse... Maintenant je vais pouvoir triturer tout ça. Changer le style de texte, les hauteurs... :D En tous cas encore un grand merci, ...j'ai l'impression de me répéter. Une dernière question: Connais tu les hautes instances de ce site? J'ai demandé comment de venir donateur pour ce site et personne ne m'a répondu. Peux tu relayer ma question aux personnes concernées? :euro: D'avance merci à toi. -
modifier le lisp SURFACES vu dans un message Bonuscad
Neo83 a répondu à un(e) sujet de Neo83 dans Routines LISP
Encore moi Je viens juste de faire ceci: ((defun c:recap ( / js obj vla_obj obj_id AcDoc Space js_mt n en pt_ins nw_obj)... Cela indique un message d'erreur suivant: (LOAD "C:/Documents and Settings/fpaniconi/Bureau/15.lsp") ; erreur: fonction incorrecte: C:RECAP, mais cela fonctionne! -
modifier le lisp SURFACES vu dans un message Bonuscad
Neo83 a répondu à un(e) sujet de Neo83 dans Routines LISP
Merci à toi. Ton code fonctionne très bien. Par contre je suis largué pour l'utiliser en tant que commande à part entière. J'ai essayé d'insérer c:reafec () après la première parenthèse. Le lisp se charge mais ne fonctionne plus sous cette forme. j'ai essayé d'insérer c:reafec () au tout début et d'ajouter une parenthèse à la fin, mais rien ne fonctionne. Dois-je insérer "lambda" dans le premier lisp surf2? :casstet: La solution que j'ai, est de faire glisser le lisp dans mon dessin pour pouvoir réaffecter les nouveaux noms. Je peux tout de même faire suivant mes besoins et c'est bien l'essentiel pour moi. Je t'avais prévenu, je modifie un peu en comprenant des choses simples, je suis tout de même vite dépassé! :P -
modifier le lisp SURFACES vu dans un message Bonuscad
Neo83 a répondu à un(e) sujet de Neo83 dans Routines LISP
Je me penche sur le problème dès demain matin. Je dois te dire que c'est très compliqué pour moi. Je ne sais même pas dans quel lisp où insérer la ligne de commande dont tu me parles, mais je vais faire des essais. Ces programmes sont dèjà un progrès énorme pour moi. Merci m'sieur. :) -
modifier le lisp SURFACES vu dans un message Bonuscad
Neo83 a répondu à un(e) sujet de Neo83 dans Routines LISP
Ah, MERCI beaucoup un fois de plus. Mon ordinateur devient intelligent! Il fait des tableaux!! Les champs surface change et sont dynamiques. C'est un gain de temps formidable. Le soucis est que si je renomme un local, le nom de ce local dans le tableau ne change pas; ceci même si je refais le tableau. Ca oblige à effacer les polylignes et à refaire le tableau. Est-ce que j'utilise tes lisp correctement? Il faut savoir que mes Dieux du bureau me change TOUT LE TEMPS les noms des locaux. En ajoutant un bureau par exemple danc le 1 passe en 2, le 2 en 3... Le travail quoi! En tous cas, tu viens de me faire gagner du stress en moins. (Compliquée ma phrase?) -
modifier le lisp SURFACES vu dans un message Bonuscad
Neo83 a répondu à un(e) sujet de Neo83 dans Routines LISP
Alors, alors, J'ai mis ta modif en surlignée dans le lisp suivant. J'ai bien mes deux champs. Tout est parfait. A la fin de la procédure j'ai un message suivant: AutoCAD.Application: Clé introuvable. Cela ne change rien au résultat qui est parfait pour moi. (defun c:su ( / obj AcDoc Space nw_style pt) (command "_.pline" (while (not (zerop (getvar "cmdactive"))) (command pause) ) ) (setq obj (entlast) 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" "Id-Surfaces")) (vlax-put (vla-add (vla-get-layers AcDoc) "Id-Surfaces") 'color 96) ) ) (cond ((null (tblsearch "STYLE" "Romand20")) (setq nw_style (vla-add (vla-get-textstyles AcDoc) "Romand20")) (vlax-put nw_style 'fontfile "romand.shx") (vlax-put nw_style 'height 0.0) (vlax-put nw_style 'obliqueangle (/ (* 15.0 pi) 180)) (vlax-put nw_style 'width 1.0) (vlax-put nw_style 'textgenerationflag 0.0) ) ) (initget 9) (setq pt (getpoint "\nPoint d'insertion du champ: ")) (initget 1) (setq nw_obj (vla-addMtext Space (vlax-3d-point (trans pt 1 0)) 0.0 (strcat "%<\\AcObjProp.16.2 Object(%<\\_ObjId " (itoa (vla-get-ObjectID (vlax-ename->vla-object obj))) ">%).Area \\f \"%lu2%pr2%ps["[surligneur](vlax-ldata-put (vlax-ename->vla-object obj) "SURF2" (getstring T "\nNom du Local : "))"[/surligneur]\n""\,]\">%m²") ) ) (vlax-put nw_obj 'AttachmentPoint 5) (vlax-put nw_obj 'Height 0.15) (vlax-put nw_obj 'DrawingDirection 5) (vlax-put nw_obj 'InsertionPoint (trans pt 1 0)) (vlax-put nw_obj 'StyleName "TEXTE") (vlax-put nw_obj 'Layer "Id-Surfaces") (prin1) ) Pour la réalisation de mon tableau en auto, ce sera sûrement dans une autre vie! Merci, merci, merci. -
modifier le lisp SURFACES vu dans un message Bonuscad
Neo83 a répondu à un(e) sujet de Neo83 dans Routines LISP
Merci Bonuscad pour ta réponse. Pour faire mon tableau, pas de soucis. Je le fais à la main. Je fais un copier/coller des champs aire et nom du local. Je sais bien que c'est archaïque mais ne sachant pas écrire en lisp, je me débrouille autrement. A l'inverse prendre un LISP et le modifier légèrement est plus ou moins dans mes cordes. Je vais donc essayer de coller au bon endroit ta modification. J'y vais, je me lance. Merci encore.
