nicolas2 Posté(e) le 21 janvier 2009 Posté(e) le 21 janvier 2009 Bonjour à tous .Voila mon problème :- Je dessine une multitude de cercles avec un pas défini sous Autocad (plaque tubulaire pour échangeur de chaleur, parfois + de 3000 cercles)- Je transfert mon dxf sur une machine de soudage. L'ordre de soudage (sur ma machine) est en relation direct avec l'ordre avec lequel j'ai tracé mes cercles. Ex:Si j'ai dessiné sous Autocad (dans l'ordre) OOOOOOOO 1 3 8 6 4 2 5 7ma machine va souder le 1, puis va sauter 4 tubes pour souder le 2, revenir en arrière....L'ordre de soudage ne peut se décider qu'une fois tous les cercles finis de tracer.L'idéal serait d'avoir un outil me permettant, en final, de dire en cliquant directement sur les cercles : - tube 1 - tube 2 - tubes 3 à 100 (en capturant un lot de cercles....) Voila, voila, ....... je n'ai aucune idée de la façon de traiter ce problème . Merci à tous pour votre aide !
Tramber Posté(e) le 21 janvier 2009 Posté(e) le 21 janvier 2009 Charge ce petit lisp :(defun c:bb(/) (setq jeu(ssget) compt 0) (repeat(sslength jeu) (entmake(entget(ssname jeu compt))) (entdel(ssname jeu compt)) (setq compt(1+ compt)) ) ) Et dis-moi si déjà ça fonctionne. Une fois chargé, il faut lancer la commande BB Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
nicolas2 Posté(e) le 21 janvier 2009 Auteur Posté(e) le 21 janvier 2009 Merci Tramber, c'est exactement ça, a part que les cercles que j'ai selectionnés sont fait à la fin au lieu d'être fait au début. Peux-tu m'inverser ceci s'il te plait ? Merci
nicolas2 Posté(e) le 21 janvier 2009 Auteur Posté(e) le 21 janvier 2009 Help, help....J'ai un formateur Italien (qui parle avec les mains) jusqu'a ce soir, sur cette machine....Si quelqu'un peu m'aider rapidement, j'lui frais une bise pour le nouvel an ;) Merci à tous
(gile) Posté(e) le 21 janvier 2009 Posté(e) le 21 janvier 2009 Salut, Ceci devrait retourner l'ordre inverse (pas testé) (defun c:bb (/ s i) (setq s (ssget)) (repeat (setq i (sslength s)) (entmake (entget (entdel (ssname s (setq i (1- i)))))) (entdel (ssname s i)) ) ) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Tramber Posté(e) le 21 janvier 2009 Posté(e) le 21 janvier 2009 (defun c:bbi(/) (setq jeu(ssget)) (setq compt(1-(sslength jeu))) (repeat(sslength jeu) (entmake(entget(ssname jeu compt))) (entdel(ssname jeu compt)) (setq compt(1- compt)) ) ) Taper BBI, c'est le même à l'envers ! Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
nicolas2 Posté(e) le 21 janvier 2009 Auteur Posté(e) le 21 janvier 2009 Help,ça fonctionne toujours comme le premier, rien n'a changé..... Merci à vous pour une réponse !
bonuscad Posté(e) le 21 janvier 2009 Posté(e) le 21 janvier 2009 Je ne sais pas si j'ai bien compris, mais essayes ceci (defun c:ordre ( / nw_js js n) (setq nw_js (ssadd)) (while (setq js (ssget)) (setq n -1) (repeat (sslength js) (ssadd (ssname js (setq n (1+ n))) nw_js) ) ) (cond (nw_js (setq n -1) (repeat (sslength nw_js) (entmake (entget (ssname nw_js (setq n (1+ n))))) (entdel (ssname nw_js n)) ) ) ) (prin1) ) [Edité le 21/1/2009 par bonuscad] Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
nicolas2 Posté(e) le 21 janvier 2009 Auteur Posté(e) le 21 janvier 2009 Rien n'y fait..... :( Re-help..... Merci pour votre aide et votre réactivité !!
(gile) Posté(e) le 21 janvier 2009 Posté(e) le 21 janvier 2009 Rien n'y fait..... :( C'est curieux :casstet: Les 3 dernières routines traitent la sélection dans le sens inverse de la première... Essaye celle là : (defun c:test (/ e l i) (setvar 'errno 0) (setq i 0) (while (/= (getvar 'errno) 52) (while (and (setq e (car (entsel))) (setq l (entget e)) (= "CIRCLE" (cdr (assoc 0 l))) ) (entmake l) (entdel e) (setq h (/ (cdr (assoc 40 l)) 2.) i (1+ i) ) (entmake (list '(0 . "TEXT") '(10 0. 0. 0.) (cons 11 (cdr (assoc 10 l))) (cons 40 h) (cons 1 (itoa i)) '(72 . 1) '(73 . 2) ) ) ) ) ) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
nicolas2 Posté(e) le 22 janvier 2009 Auteur Posté(e) le 22 janvier 2009 Bonjour à tous et merci pour votre aide !Je n'ai pu vous demander de l'aide plus tôt, la machine de soudage était en attente de mes dxf .(2 Techniciens + 2 Formateurs), j'ai tout redessiné dans l'ordre... :casstet: Sur l'image jointe, je sélectionne les tubes de 1 à n dans l'ordre.Peu importe quel routine j'utilse (BB-BBI-ordre....) la machine commence par tous les tubes que je n'ai pas sélectionnés et fini par mes tubes sélectionnés, l'inversion ne se fait pas.Sur la derrnier routine de Gile, la numérotation des tubes est un +, mais la sélection doit s'effectuer tube par tube alors que sur les autres routines la sélection multiple est possible. Que faire :( ? http://img407.imageshack.us/img407/3406/explicatiffaisceauiw6.th.jpg
lili2006 Posté(e) le 22 janvier 2009 Posté(e) le 22 janvier 2009 Bonjour à toutes et tous, C'est mieux comme çà, => http://img407.imageshack.us/my.php?image=explicatiffaisceauiw6.jpg Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
nicolas2 Posté(e) le 22 janvier 2009 Auteur Posté(e) le 22 janvier 2009 Merci Lili, ch'uis pas au point. J'arrive pas à coller une image plutôt que de faire un lien !!??"Quel truffe le Nicolas..." si si Lili, j'lai entendu d'ici !Si quelqu'un m'entend,... mon problème résiste.
(gile) Posté(e) le 22 janvier 2009 Posté(e) le 22 janvier 2009 Salut, Sur la derrnier routine de Gile, la numérotation des tubes est un +, mais la sélection doit s'effectuer tube par tube alors que sur les autres routines la sélection multiple est possible. Le problème vient probablement de là. Si tu ne sélectionnes pas les objets un par un, c'est l'ordre de création des objets qui est conservé. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
nicolas2 Posté(e) le 22 janvier 2009 Auteur Posté(e) le 22 janvier 2009 Salut Gile et merci pour ton aide !Ta routine (réponse N°4) fonctionne bien en prenant plusieurs tubes à la fois, le seul soucis est cette inversions qui ne fonctionne pas.
lili2006 Posté(e) le 22 janvier 2009 Posté(e) le 22 janvier 2009 Re, "Quel truffe le Nicolas..." si si Lili, j'lai entendu d'ici ! Loin de moi cette idée,... Je suis un des premiers à apprendre tous les jours,... :D, Je ne retrouve pas la page expliquant l'utilisation des différentes balises,...(Tu vois, comme quoi,.!!!) Quelqu'un peut la rappeller ici SVP ? Merci d'avance, Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
nicolas2 Posté(e) le 22 janvier 2009 Auteur Posté(e) le 22 janvier 2009 Salut Gile, je viens de faire un essai en cliquant tous les tubes 1 à 1 (avec ta dernière routine), en partant de 1 jusqu'à 408.http://img89.imageshack.us/my.php?image=essai3model1p01gq8.jpg Le résultat est que ma machine commence par le dernier tube (N°408) et remonte 407-406...-1. Le '"cliquage" est fastidieux (tube à tube) et "l'inversion" est nécessaire. En fait: - J'impose à ma machine mes 48 premiers tubes, puis ensuite je lui indique un chemin a suivre. http://img523.imageshack.us/my.php?image=optimisationmachineqy1.jpg - Le résultat serait celui-cihttp://img209.imageshack.us/my.php?image=classeur4p015py3.jpg - puishttp://img523.imageshack.us/my.php?image=cheminrk6.jpg Toujours ce problème d'ordre qui ne s'inverse pas... Merci pour votre aide
nicolas2 Posté(e) le 28 janvier 2009 Auteur Posté(e) le 28 janvier 2009 Le sujet a été redirigé vers le Forum approprié "LISP"
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