Aller au contenu

Redéfinir ordre du dessin


Messages recommandés

Posté(e)

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 7

ma 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 !

 

Posté(e)

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

 

./__\.
(.°=°.)
Posté(e)

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

Posté(e)

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

Posté(e)

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

Posté(e)

(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

 

./__\.
(.°=°.)
Posté(e)

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

Posté(e)
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

Posté(e)

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

Posté(e)

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.

Posté(e)

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

Posté(e)

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.

Posté(e)

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/

Posté(e)

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-ci

http://img209.imageshack.us/my.php?image=classeur4p015py3.jpg

- puis

http://img523.imageshack.us/my.php?image=cheminrk6.jpg

 

Toujours ce problème d'ordre qui ne s'inverse pas...

 

Merci pour votre aide

 

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 compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • 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é