jalna Posté(e) le 23 avril 2007 Posté(e) le 23 avril 2007 Comment récupérer les coordonnées X,Y d'une polyligne,ligne,point....Dans un bloc avec attribut ou un texte Merci :P "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/
rebcao Posté(e) le 24 avril 2007 Posté(e) le 24 avril 2007 directement ? ou en sélectionnant les POINTS ou les SOMMETS ? la réponse serait bien sur un LISP... Christian Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)
jalna Posté(e) le 24 avril 2007 Auteur Posté(e) le 24 avril 2007 SalutEn sélectionnant les POINTS ou les SOMMETS... 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/
rebcao Posté(e) le 24 avril 2007 Posté(e) le 24 avril 2007 j'ai un machin tout prêt qui a permis à un client de générer rapidement un fichier CN... Le principe, tu insères un BLOC à chaque point ou sommet représentant un point avec un N° incrémenté automatiquement, puis via EXCEL tu génères le fichier de points... si le principe te va ? prépare le chéquier... ;) Christian [Edité le 24/4/2007 par rebcao] Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)
Bred Posté(e) le 24 avril 2007 Posté(e) le 24 avril 2007 Salut,tu as aussi le lisp Mpt de Patrick_35 (avec réacteur-maj auto des blocs quand tu les déplace par exemple) à télécharger. Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
bonuscad Posté(e) le 25 avril 2007 Posté(e) le 25 avril 2007 Comment récupérer les coordonnées X,Y d'une polyligne,ligne,point....Dans un bloc avec attribut ou un texte Comme j'apprécie les liens que tu partages dans la pause café, je t'ai fait un lisp sur mesure. ;)Il créera un bloc appelé "$borne" s'il n'existe pas, avec attributs au nombre de 4 :numéro du bloc incrémenté, x, y et z. Le choix des objets est filtré et accepte les LWPOLYLINE, POLYLINE 2D et 3D, les LINE et les POINTS Les coordonnées dans le bloc seront renseignées dans le SCG uniquement quel que soit le SCU de création des entités sélectionnées. NB: Le calque "borne" et "borne_attributs" sont créer en mode verrouillé et pour le dernier, il est inactif (les attributs ne se voient pas mais sont présents). Le code (un peu long à cause de la définition du bloc intégré) (defun c:jalna (/ pto x y z nb js dxf_ent n dxf_210 lst_pt e_next) (cond ((eq (getvar "cvport") 1) (princ "\n** Commande autorisée uniquement dans l'espace objet." ) ) (T (if (not (tblsearch "LAYER" "borne_attributs")) (entmake '((0 . "LAYER") (100 . "AcDbSymbolTableRecord") (100 . "AcDbLayerTableRecord") (2 . "borne_attributs") (70 . 4) (62 . -3) (6 . "Continuous") (290 . 1) (370 . -3) ) ) ) (if (not (tblsearch "LAYER" "borne")) (entmake '((0 . "LAYER") (100 . "AcDbSymbolTableRecord") (100 . "AcDbLayerTableRecord") (2 . "borne") (70 . 4) (62 . 4) (6 . "Continuous") (290 . 1) (370 . -3) ) ) ) (if (not (tblsearch "STYLE" "$borne")) (entmake '((0 . "STYLE") (5 . "40") (100 . "AcDbSymbolTableRecord") (100 . "AcDbTextStyleTableRecord") (2 . "$borne") (70 . 0) (40 . 0.0) (41 . 1.0) (50 . 0.0) (71 . 0) (42 . 2.5) (3 . "monotxt.shx") (4 . "") ) ) ) (setvar "textstyle" "$borne") (if (not (tblsearch "BLOCK" "$borne")) (progn (entmake '((0 . "BLOCK") (2 . "$borne") (70 . 2) (10 0.0 0.0 0.0)) ) (entmake '((0 . "ATTDEF") (67 . 0) (8 . "borne_attributs") (62 . 1) (10 1.0 0.0 0.0) (40 . 1.0) (1 . "0") (50 . 0.0) (41 . 1.0) (51 . 0.0) (7 . "$borne") (210 0.0 0.0 1.0) (3 . "Numéro de la borne: ") (2 . "NO") (70 . 0) ) ) (entmake '((0 . "ATTDEF") (67 . 0) (8 . "borne_attributs") (10 1.0 -1.66667 0.0) (40 . 1.0) (1 . "X=0.0") (50 . 0.0) (41 . 1.0) (51 . 0.0) (7 . "$borne") (210 0.0 0.0 1.0) (3 . "Entrer le X du point: ") (2 . "ID-X") (70 . 0) ) ) (entmake '((0 . "ATTDEF") (67 . 0) (8 . "borne_attributs") (10 1.0 -3.33333 0.0) (40 . 1.0) (1 . "Y=0.0") (50 . 0.0) (41 . 1.0) (51 . 0.0) (7 . "$borne") (210 0.0 0.0 1.0) (3 . "Entrer le Y du point: ") (2 . "ID-Y") (70 . 0) ) ) (entmake '((0 . "ATTDEF") (67 . 0) (8 . "borne_attributs") (10 1.0 -5.0 0.0) (40 . 1.0) (1 . "Z=0.0") (50 . 0.0) (41 . 1.0) (51 . 0.0) (7 . "$borne") (210 0.0 0.0 1.0) (3 . "Entrer le Z du point: ") (2 . "ID-Z") (70 . 0) ) ) (entmake '((0 . "CIRCLE") (67 . 0) (8 . "borne") (10 0.0 0.0 0.0) (40 . 0.25) (210 0.0 0.0 1.0) ) ) (entmake '((0 . "CIRCLE") (67 . 0) (8 . "borne") (10 0.0 0.0 0.0) (40 . 0.40) (210 0.0 0.0 1.0) ) ) (entmake '((0 . "ENDBLK"))) ) ) (if (not nob) (setq nob 1) ) (setq js (ssget '((0 . "LINE,*POLYLINE,POINT") (-4 . [color=red]"< NOT"[/color]) (-4 . "&") (70 . 112) (-4 . "NOT>"))) n -1) (initget 6) (setq nb (getint (strcat "\nNo du 1er point <" (itoa nob) ">: "))) (if (not nb) (setq nb nob) ) (cond (js (repeat (sslength js) (setq dxf_ent (entget (ssname js (setq n (1+ n)))) dxf_210 (cdr (assoc 210 dxf_ent)) lst_pt nil) (cond ((eq (cdr (assoc 0 dxf_ent)) "LINE") (setq lst_pt (list (cdr (assoc 10 dxf_ent)) (cdr (assoc 11 dxf_ent)))) ) ((eq (cdr (assoc 0 dxf_ent)) "LWPOLYLINE") (setq lst_pt (mapcar '(lambda (x) (trans x dxf_210 0)) (mapcar '(lambda (x) (append x (list (cdr (assoc 38 dxf_ent))))) (mapcar 'cdr (vl-remove-if-not '(lambda (x) (= (car x) 10)) dxf_ent)) ) ) ) ) ((eq (cdr (assoc 0 dxf_ent)) "POLYLINE") (setq e_next (entnext (cdar dxf_ent))) (while (= "VERTEX" (cdr (assoc 0 (setq dxf_next (entget e_next))))) (if (zerop (boole 1 (cdr (assoc 70 dxf_next)) 16)) (setq lst_pt (cons (cdr (assoc 10 dxf_next)) lst_pt)) ) (setq e_next (entnext e_next)) ) (setq lst_pt (mapcar '(lambda (x) (trans x dxf_210 0)) (reverse lst_pt))) ) ((eq (cdr (assoc 0 dxf_ent)) "POINT") (setq lst_pt (list (cdr (assoc 10 dxf_ent)))) ) ) (foreach pto lst_pt (setq x (car pto) y (cadr pto) z (caddr pto) ) (entmake (append '((0 . "INSERT") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "borne") (100 . "AcDbBlockReference") (66 . 1) (2 . "$borne") (41 . 1.0) (42 . 1.0) (43 . 1.0) (50 . 0.0) (70 . 0) (71 . 0) (44 . 0.0) (45 . 0.0) ) (list (cons 10 (trans pto 0 dxf_210)) (cons 210 dxf_210)) ) ) (entmake (append '((0 . "ATTRIB") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "borne_attributs") (62 . 1) (100 . "AcDbText") (40 . 1.0) (50 . 0.0) (41 . 1.0) (51 . 0.0) (7 . "$borne") (71 . 0) (72 . 0) (11 0.0 0.0 0.0) (100 . "AcDbAttribute") (2 . "NO") (70 . 0) (73 . 0) (74 . 0) ) (list (cons 1 (strcat "Borne N°:" (itoa nb))) (cons 10 (trans (list (+ (car pto) 1.0) (cadr pto) (caddr pto)) 0 dxf_210)) (cons 210 dxf_210) ) ) ) (entmake (append '((0 . "ATTRIB") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "borne_attributs") (100 . "AcDbText") (40 . 1.0) (50 . 0.0) (41 . 1.0) (51 . 0.0) (7 . "$borne") (71 . 0) (72 . 0) (11 0.0 0.0 0.0) (210 0.0 0.0 1.0) (100 . "AcDbAttribute") (2 . "ID-X") (70 . 0) (73 . 0) (74 . 0) ) (list (cons 1 (strcat "X=" (rtos x 2 4))) (cons 10 (trans (list (+ (car pto) 1.0) (+ (cadr pto) -1.66667) (caddr pto)) 0 dxf_210)) (cons 210 dxf_210) ) ) ) (entmake (append '((0 . "ATTRIB") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "borne_attributs") (100 . "AcDbText") (40 . 1.0) (50 . 0.0) (41 . 1.0) (51 . 0.0) (7 . "$borne") (71 . 0) (72 . 0) (11 0.0 0.0 0.0) (100 . "AcDbAttribute") (2 . "ID-Y") (70 . 0) (73 . 0) (74 . 0) ) (list (cons 1 (strcat "Y=" (rtos y 2 4))) (cons 10 (trans (list (+ (car pto) 1.0) (+ (cadr pto) -3.33333) (caddr pto)) 0 dxf_210)) (cons 210 dxf_210) ) ) ) (entmake (append '((0 . "ATTRIB") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "borne_attributs") (100 . "AcDbText") (40 . 1.0) (50 . 0.0) (41 . 1.0) (51 . 0.0) (7 . "$borne") (71 . 0) (72 . 0) (11 0.0 0.0 0.0) (100 . "AcDbAttribute") (2 . "ID-Z") (70 . 0) (73 . 0) (74 . 0) ) (list (cons 1 (strcat "Z=" (rtos z 2 4))) (cons 10 (trans (list (+ (car pto) 1.0) (+ (cadr pto) -5.0) (caddr pto)) 0 dxf_210)) (cons 210 dxf_210) ) ) ) (entmake '((0 . "SEQEND"))) (setq nb (1+ nb)) ) (setq pt_lst nil) ) ) ) (setq nob nb) ) ) (prin1) ) Enlever l'espace après "< " en rouge [Edité le 26/4/2007 par bonuscad] Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
jalna Posté(e) le 25 avril 2007 Auteur Posté(e) le 25 avril 2007 Merci ca c'est de l'échange :P :P :P Mais quand je lance le lisp voila le résultat Commande: jalna No du 1er point <1>: 1 Commande: Et rien ne se passe :casstet: :casstet: Alors j'ai oublié un truc!! :( :( "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/
bonuscad Posté(e) le 25 avril 2007 Posté(e) le 25 avril 2007 Pas de petit double cercle (de couleur cyan) sont apparus aux extrémités des segments?Pas de calques créés?Si oui, active celui qui est éteint. Pour la taille des insertions, si elle ne convient pas, fais une sélection rapide dur le bloc "$borne"et change la taille en x,y,z dans les propriétés. Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
jalna Posté(e) le 26 avril 2007 Auteur Posté(e) le 26 avril 2007 Salut bonuscad Pas de petit double cercle (de couleur cyan)Non pas à l'écran, mais présent dans la liste des blocs!! Pas de calques créés?Si borne et borne_attributs même activé, ben rien fais une sélection rapide dur le blocAucun bloc dans le dessin Alors c'est grave docteur!! "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/
bonuscad Posté(e) le 26 avril 2007 Posté(e) le 26 avril 2007 On va juste vérifier les entités que tu veux traiter, si c'est bien des lignes, point ou polylignes. Copie-colle ce qui suit directement en ligne de commande,sélectionne une SEULE entité (exemple) sur laquelle tu aurais voulu appliqué la commande JALNA et fait un copier-coller du retour de l'écran texte. ((lambda ( / ent dxf_ent) (setq ent (entsel)) (cond (ent (setq dxf_ent (entget (car ent))) (foreach n dxf_ent (if (member (car n) '(-1 330 5)) (setq dxf_ent (vl-remove n dxf_ent)) ) ) ) ) (print dxf_ent) (prin1))) Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
jalna Posté(e) le 26 avril 2007 Auteur Posté(e) le 26 avril 2007 Voila le résultatA savoir que la il me demande de sélectionner un objet Choix de l'objet:((0 . "LWPOLYLINE") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (100 . "AcDbPolyline") (90 . 5) (70 . 0) (43 . 0.0) (38 . 0.0) (39 . 0.0) (10 406.416 302.28) (40 . 0.0) (41 . 0.0) (42 . 0.0) (10 406.416 278.779) (40 . 0.0) (41 . 0.0) (42 . 0.0) (10 445.605 278.779) (40 . 0.0) (41 . 0.0) (42 . 0.0) (10 445.605 294.677) (40 . 0.0) (41 . 0.0) (42 . 0.0) (10 472.807 294.677) (40 . 0.0) (41 . 0.0) (42 . 0.0) (210 0.0 0.0 1.0)) "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/
bonuscad Posté(e) le 26 avril 2007 Posté(e) le 26 avril 2007 J'ai fait un (entmake) avec ton retour d'info, et la commande JALNA a fonctionné sur cette entité (pour moi en tout cas) :casstet: Je ne vois pas ce qui peut "clocher"... Réessayes la commande JALNA en ne sélectionnant seulement que l'entité que tu m'as fourni précédemment, pour voir NB:Je ne suis pas sous 2006, mais je ne pense pas que ce soit le problème. Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
jalna Posté(e) le 26 avril 2007 Auteur Posté(e) le 26 avril 2007 Réessayes la commande JALNA en ne sélectionnant seulement que l'entité que tu m'as fourni Le problème c'est que quand je lance la commande voila ce qui ce passe Commande: jalna No du 1er point <1>: (je valide par défaut) et la plus rien Commande: "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/
bonuscad Posté(e) le 26 avril 2007 Posté(e) le 26 avril 2007 (je valide par défaut) et la plus rien Oui ça c'est normal, j'aurais du faire un petit (print "nombre de bloc effectué") dans le code. Mais attaches toi à la partie graphiquedans le gestionnaire de calque du dois avoir 2 calques crées"borne" actif-dégelé-de couleur cyan- MAIS verrouillé"borne_attributs" INACTIF-dégelé-de couleur vert- MAIS verrouillé aussi Pour voir les attributs il te faut (après la commande JALNA, où il ne se passe rien ;) ) ACTIVER le calque "borne_attributs" Si tu veux changer l'échelle de l'ensemble des blocs créés il te faudra au préalable DEVERROUILLER les 2 calques. Si effectivement, il n'y a rien, alors là, je laisses la main à un possesseur d'une version 2006 ou supérieure pour t'aider. Moi j'ai pu tester jusqu'en v-2005 et pas de problème !?!? Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
bonuscad Posté(e) le 26 avril 2007 Posté(e) le 26 avril 2007 OOPS Le classique "<" qui fout le boxon, désolé (setq js (ssget '((0 . "LINE,*POLYLINE,POINT") (-4 . "< NOT") (-4 . "&") (70 . 112) (-4 . "NOT>"))) n -1)j'édite le code en rajoutant l'espace après "> " Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
jalna Posté(e) le 26 avril 2007 Auteur Posté(e) le 26 avril 2007 Désolé mais je n'ai toujours rien à l'écran :casstet: :casstet: :casstet: :casstet: :casstet: J'ai bien ACTIVER le calque "borne_attributs"Sélection rapide, il me trouve aucun blocs :casstet: :casstet: :casstet: :casstet: :casstet: Merci tout de même!!!! "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/
bonuscad Posté(e) le 26 avril 2007 Posté(e) le 26 avril 2007 Il te faut repomper le code dans le bloc-note et enlever l'espace qui sera en trop: "< NOT" en rouge car j'ai éditer le message original. Où alors laisse moi une adresse et je t'envoie le fichier. Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
jalna Posté(e) le 26 avril 2007 Auteur Posté(e) le 26 avril 2007 CA MARCHE!!!! Superbe travail même si j'ai été un peu bête sur le coup!!!!!!!! :P :P :P A la prochaine Pause café "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/
jalna Posté(e) le 26 avril 2007 Auteur Posté(e) le 26 avril 2007 Encore une petite chose (importante) Pourrait on avoir les X-Y-Z sur des calques différents.... ExempleSi j'ai pas besoin des Z et ben je gèle le calque des Z Merci par avance "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 26 avril 2007 Posté(e) le 26 avril 2007 Salut Bonuscad, Où alors laisse moi une adresse et je t'envoie le fichier. C'est aussi pour ce type de soucis que j'utilise mes "pages perso", il suffit de transférer le fichier sur tes pages (avec FireFTP, par exemple), et de donner ici le lien vers le fichier, les mises à jour peuvent se faire de la même manière en modifiant le fichier, sans changer le lien. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
bonuscad Posté(e) le 26 avril 2007 Posté(e) le 26 avril 2007 Pourrait on avoir les X-Y-Z sur des calques différents.. La page principale ou lien direct fichier Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
jalna Posté(e) le 26 avril 2007 Auteur Posté(e) le 26 avril 2007 Merci beaucoup, quand je vois le boulot, ben je crois que...............http://img337.imageshack.us/img337/9178/avatar1316vn9.gifj'vais aller me coucher N-I-C-K-E-L "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/
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