CADxp: Décalage de plusieurs objets simultanément - CADxp

Aller au contenu

Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

Décalage de plusieurs objets simultanément Décaler plusieurs objets accolés de la même distance

#1 L'utilisateur est hors-ligne   impress 

  • ceinture verte
  • Groupe : Membres
  • Messages : 90
  • Inscrit(e) : 11-mai 12

Posté 17 juillet 2018 - 06:32

Bonjour!

Dans un fichier, j'ai plusieurs objets qui ont été insérés les uns à côté des autres.
Ceux-ci sont insérés, mais trop prêts les uns des autres, accolés les uns à la suite des autres, avec une distance de 0 unité entre chaque.

Est-il possible de les décalés les uns des autre d'une certaine distance? Par exemple 5 unités.

Merci de votre aide.
0

#2 L'utilisateur est hors-ligne   hey_bapt 

  • ceinture bleue
  • Groupe : Membres
  • Messages : 109
  • Inscrit(e) : 02-février 15
  • Location25

Posté 20 juillet 2018 - 07:50

Bonjour,

je ne suis pas sûr de saisir ton problème : tu cherches à pouvoir décaler tous les objets à X unités les uns des autres d'un seul coup ?

Baptiste
0

#3 L'utilisateur est hors-ligne   impress 

  • ceinture verte
  • Groupe : Membres
  • Messages : 90
  • Inscrit(e) : 11-mai 12

Posté 20 juillet 2018 - 08:01

Bonjour.
Oui, exactement.
J'ai des objets dans un fichier accolés les uns au autres :

(Bloc1 de dimension 10,10 et positionné en 0.0, Bloc2 de dimension 10,10 et positionné en 10.0, Bloc3 de dimension 10,10 et positionné en 20.0, ...)

J'aimerai, faire un décalage de tous les blocs qui suivent le Bloc1 de 2 unités par exemple, ce qui donnerai :

(Bloc1 de dimension 10,10 et positionné en 0.0, Bloc2 de dimension 10,10 et positionné en 12.0, Bloc3 de dimension 10,10 et positionné en 24.0, ...)

Merci.
0

#4 L'utilisateur est hors-ligne   Steven 

  • ceinture rouge et blanche 6em dan
  • Groupe : Membres
  • Messages : 3466
  • Inscrit(e) : 03-mars 03
  • LocationDans le TARDIS

Posté 20 juillet 2018 - 09:13

Voir le messageimpress, le 20 juillet 2018 - 08:01 , dit :

Bonjour.
Oui, exactement.
J'ai des objets dans un fichier accolés les uns au autres :

(Bloc1 de dimension 10,10 et positionné en 0.0, Bloc2 de dimension 10,10 et positionné en 10.0, Bloc3 de dimension 10,10 et positionné en 20.0, ...)

J'aimerai, faire un décalage de tous les blocs qui suivent le Bloc1 de 2 unités par exemple, ce qui donnerai :

(Bloc1 de dimension 10,10 et positionné en 0.0, Bloc2 de dimension 10,10 et positionné en 12.0, Bloc3 de dimension 10,10 et positionné en 24.0, ...)

Merci.

Salut,
Est-ce que ces blocs de 10x10 sont la même référence de bloc?
Est-ce le même bloc, copier plusieurs fois?

Si c'est le cas, procéde de la manière suivante:
  • Tu effaces tous tes blocs qui sont alignés sauf le premier qui est à la coordonnées 0,0.
  • Tu lances la commande "Copier". (La commande "Copier" est depuis AutoCAD 2006, en Multiple par défaut. Les copies d'objets sont donc en cumulé).
  • Tu lances donc la commande "Copier", tu sélectionnes ton bloc de 10x10. AutoCAD demande le point de base.
  • Tu spécifies, par exemple, le point 0,0, soit le coin en bas à gauche de ton bloc.
  • AutoCAD demande ensuite le second point ou l'option [Réseau].
  • Tu appelles l'option [Réseau].
  • AutoCAD demande le nombre d'objet que tu souhaites mettre en réseau, tu entres le nombre que tu souhaites.
  • AutoCAD demande ensuite le second point.
  • Tu pousses ta souris sur la droite, tu actives le mode Ortho (F8) puis tu tapes: 12 puis tu valides 2 fois..

Steven________________________________________
Pour le taf; Windows (et ses emmerdes) sinon pas d'AutoCAD.
Pour la maison; Linux Mint et pas de problèmes. Mais pas d'AutoCAD.
En rêve; AutoCAD sous Linux.
0

#5 L'utilisateur est hors-ligne   hey_bapt 

  • ceinture bleue
  • Groupe : Membres
  • Messages : 109
  • Inscrit(e) : 02-février 15
  • Location25

Posté 20 juillet 2018 - 14:41

Par contre s'il s'agit de bloc tous différents les uns des autres je ne vois que 2 solutions :

- Soit c'est possible de faire ce que tu dis via les LISP, mais il faudrait faire cette demande dans la bonne catégorie du forum, il y a sur ce forum des gens monstrueux (dans le bon sens du terme) en LISP

- Soit tu te tapes ce boulot à la main en déplaçant 1 à 1 les blocs, un peu fastidieux mais si tu n'as pas 5000 blocs ça peut aller assez vite...
0

#6 L'utilisateur est hors-ligne   Aleck Ultimate 

  • ceinture noire 1er dan
  • Groupe : Membres
  • Messages : 769
  • Inscrit(e) : 18-novembre 16
  • LocationAlpes de Hautes Provences (04)

Posté 20 juillet 2018 - 15:10

Salut.

Un petit ajout à la méthode proposée par hey_bapt. Quant j'ais à faire ce genre de manipulation je commence par sélectionner toutes les entités, et je les déplaces toutes, et ensuite je relance la commande et je rappel la dernière sélection d'objets, (P ; une validation) et je retire uniquement l'entité en trop en cliquant desus en maintenant la touche [Maj] enfoncée.

Je trouve ça bien plus rapide que de refaire la sélection d'objet à chaque fois. A voir ce qui te conviendrait le mieux.

Si y'a beaucoup d'entités tu pourrait encore gagner du temp en utiliser un SCU (pour le point de base) et la grille au bonne espacement (avec l’accroche à la grille activée).

Cordialy.
En DAO, la passion me porte ! Le plus important n'est pas l'objectif mais je chemin parcourut pour l'atteindre.
C'est pourquoi il faut continuer à courir après les utopie même quant on se rend compte qu'elle sont inatteignables.

Utilisateur d'AutoCAD 2018 sous Windows 10
0

#7 L'utilisateur est hors-ligne   impress 

  • ceinture verte
  • Groupe : Membres
  • Messages : 90
  • Inscrit(e) : 11-mai 12

Posté 20 juillet 2018 - 16:06

Bonjour, et merci pour vos réponses.

On va considérer que ce sont des blocs différents et qu'il y en a trop (pas 5000 mais pas loin de 4999 à mes yeux...)...

Pourriez-vous me rediriger vers l'endroit dans le forum ou le site approprié?
0

#8 L'utilisateur est hors-ligne   bonuscad 

  • ceinture rouge et blanche 8em dan
  • Groupe : Membres
  • Messages : 4572
  • Inscrit(e) : 20-juin 03

Posté 20 juillet 2018 - 17:51

Bonjour,
J'avais fais quelque chose de similaire pour du texte, je l'ai rapidement adapté pour des insertions de blocs, à voir si cela peut faire l'affaire!
(defun c:Dispatch_BlockOverride ( / js_blk nb_blk inc_ang ang ent obj_vlax dxf_ent mnpt mxpt mintpt maxpt offset)
  (setq js_blk (ssget '((0 . "INSERT"))))
  (cond
	(js_blk
  	(cond
    	((> (setq nb_blk (sslength js_blk)) 1)
      	(setq inc_ang (/ (* 2 pi) nb_blk) ang 0.0)
      	(repeat nb_blk
        	(setq
          	ent (ssname js_blk (setq nb_blk (1- nb_blk)))
          	obj_vlax (vlax-ename->vla-object ent)
          	dxf_ent (entget ent)
          	pt_ins (cdr (assoc 10 dxf_ent))
        	)
        	(vla-GetBoundingBox obj_vlax 'mnpt 'mxpt)
        	(setq
          	minpt (trans (safearray-value mnpt) 0 1)
          	maxpt (trans (safearray-value mxpt) 0 1)
        	)
        	(setq offset (* (distance minpt maxpt) 2.0))
        	(entmod (subst (cons 10 (polar pt_ins ang offset)) (assoc 10 dxf_ent) dxf_ent))
        	;(entmod (subst (cons 50 ang) (assoc 50 dxf_ent) dxf_ent))
        	(setq ang (+ ang inc_ang))
      	)
    	)
  	)
	)
  )
)

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
0

#9 L'utilisateur est hors-ligne   impress 

  • ceinture verte
  • Groupe : Membres
  • Messages : 90
  • Inscrit(e) : 11-mai 12

Posté 24 juillet 2018 - 13:53

Bonjour.
Merci pour le lisp.
Cela deplace bien les blocs mais pas de façon rectiligne! En forme de vague et ils se chevauchent...
0

#10 L'utilisateur est hors-ligne   Olivier Eckmann 

  • ceinture noire 2em dan
  • Groupe : Membres
  • Messages : 1151
  • Inscrit(e) : 29-décembre 11
  • LocationLongjumeau (91)

Posté 24 juillet 2018 - 15:00

Bonjour,

est-ce que tous les blocs ont la même échelle? Si oui, tu lances la commande échelle sur tous tes objets avec un facteur de 1.2 par ex, puis tu sélectionnes tous tes blocs et tu leur recolles leur échelle d'origine.

Olivier
1

#11 L'utilisateur est hors-ligne   lecrabe 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 8054
  • Inscrit(e) : 10-décembre 03
  • LocationLoire (42)

Posté 24 juillet 2018 - 18:33

Hello Olivier

J'adore TA solution !

Bye, lecrabe
Autodesk Expert Elite Team
0

#12 L'utilisateur est hors-ligne   Aleck Ultimate 

  • ceinture noire 1er dan
  • Groupe : Membres
  • Messages : 769
  • Inscrit(e) : 18-novembre 16
  • LocationAlpes de Hautes Provences (04)

Posté 25 juillet 2018 - 06:12

Salut.

Ça y est, il m'a fallut la nuit pour comprendre. Le facteur d'échelle que tu applique à l'ensemble est égale au facteur entre la distance des blocs et la distance que tu veut leur donner, et la remise à l’échelle d'origine se fait par les propriétés !

C'est tellement simple, et pourtant fallait y penser.

Merci.
En DAO, la passion me porte ! Le plus important n'est pas l'objectif mais je chemin parcourut pour l'atteindre.
C'est pourquoi il faut continuer à courir après les utopie même quant on se rend compte qu'elle sont inatteignables.

Utilisateur d'AutoCAD 2018 sous Windows 10
0

#13 L'utilisateur est hors-ligne   impress 

  • ceinture verte
  • Groupe : Membres
  • Messages : 90
  • Inscrit(e) : 11-mai 12

Posté 25 juillet 2018 - 08:02

Bonjour.

J'ai compris grace à ta remarque et donc aussi un peu grace à ta nuit Aleck!

Très astucieux.

Merci les gars!
0

Partager ce sujet :


Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

1 utilisateur(s) en train de lire ce sujet
0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)