jalna Posté(e) le 6 juin 2007 Posté(e) le 6 juin 2007 Bonjour, Le Programme pline_block est vraiment excellent (merci Gilles), cependant je me pose une question et de ce fait je vous la suggère: Quand je sélectionne ma polyligne, il m'ouvre la boite de dialogue pour sélectionner un nom... Ensuite, une fois sélectionné, je me retrouve avec mon curseur pour poser le bloc! Serait il possible de l'avoir en vu avant de le poser, en fait savoir exactement ou je vais le placer.... (je suis pas sur d'etre clair) Si vous avez des idées sur le sujet :P Merci "Je suis fasciné par l'air. Si on enlevait l'air du ciel, tous les oiseaux tomberaient par terre... Et les avions aussi... En même temps l'air tu peux pas le toucher... Ca existe et ça existe pas... Ca nourrit l'homme sans qu'il ait faim... It's magic ! L'air c'est beau en même temps tu peux pas le voir, c'est doux et tu peux pas le toucher... L'air, c'est un peu comme mon cerveau..."J-C Van DammeMon forum : http://plexus.forumactif.org/
(gile) Posté(e) le 6 juin 2007 Posté(e) le 6 juin 2007 Salut, Je ne sais pas quelle version tu utilises, je suis donc parti de la dernière version en téléchargement sur cette page. Le périmètre est converti des centimètres en mètre et la surface des centimètres carré en mètres carré.Le bloc est inséré sur le centre de gravité de la polyligne et se trouve au bout du pointeur.Il suffit de faire ECHAP pour le laisser sur le centre de gravité ou de le placer où on veut avec le pointeur. ;;; Pline_block -Gilles Chanteau- 13/04/07 ;;; Insère le bloc "pline_block" après sélection d'une polyligne ;;; Attribut 1 : Nom de la pièce ;;; Attribut 2 : Longueur de la polyligne ;;; Attribut 3 : Aire de la polyligne ;;; ;;; Possibilité de placer le bloc "à vue" (06/06/07) (defun c:pline_block (/ AcDoc Space bloc nom ent obj ins op reg ech id long aire ref) (vl-load-com) (setq AcDoc (vla-get-ActiveDocument (vlax-get-acad-object)) Space (if (= (getvar "CVPORT") 1) (vla-get-PaperSpace AcDoc) (vla-get-ModelSpace AcDoc) ) ) (if (or (tblsearch "BLOCK" (setq bloc "Pline_block")) (findfile (setq bloc "Pline_block.dwg")) ) (progn ;; attribut "nom de la pièce" (if (not (setq nom (getname "Nom de la pièce"))) (setq nom "") ) (while (not (setq ent (car (entsel))))) (setq obj (vlax-ename->vla-object ent)) (if (= "AcDbPolyline" (vla-get-ObjectName obj)) (progn (if (= (vla-get-closed obj) :vlax-false) (progn (vla-put-closed obj :vlax-true) (setq op T) ) ) (setq reg (vlax-invoke space 'addRegion (list obj)) ins (vlax-get (car reg) 'Centroid) ) (if op (vla-put-closed obj :vlax-false) ) (vla-delete (car reg)) (if (not (vlax-ldata-get "Pline_block" "ech")) (vlax-ldata-put "Pline_block" "ech" 1) ) (if (not (setq ech (getreal (strcat "\nEntrez le facteur d'échelle (rtos (vlax-ldata-get "Pline_block" "ech")) ">: " ) ) ) ) (setq ech (vlax-ldata-get "Pline_block" "ech")) (vlax-ldata-put "Pline_block" "ech" ech) ) (setq id (vla-get-ObjectID obj) ;; Attribut périmètre (cm -> m) long (strcat "% (itoa id) ">%).Length \\f \"%lu2%pr2%ct8[0.01]\">%" ) ;; Attribut surface (cm² -> m²) aire (strcat "% (itoa id) ">%).Area \\f \"%lu2%pr2%ct8[0.001]\">%" ) ) (setq ref (vla-InsertBlock Space (vlax-3d-point (trans ins 1 0)) bloc ech ech 1 0.0 ) ) ;; attribution de leur valeur aux attributs (mapcar '(lambda (x y) (vla-put-TextString x y)) (vlax-invoke ref 'GetAttributes) (list nom long aire) ) (vla-regen AcDoc acActiveViewport) (command "_.move" (vlax-vla-object->ename ref) "" ins pause) ) (alert "L'objet sélectionné n'est pas une polyligne.") ) ) (alert "Le bloc \"Pline_block\" est introuvable.") ) (princ) ) [Edité le 6/6/2007 par (gile)] Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
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