CADxp: Orientation d'un bloc à la vertical - CADxp

Aller au contenu

  • 2 Pages +
  • 1
  • 2

Orientation d'un bloc à la vertical

#21 L'utilisateur est hors-ligne   Sébastien65 

  • Member
  • PipPip
  • Groupe : Membres
  • Messages : 13
  • Inscrit(e) : 05-mars 17

Posté 18 janvier 2018 - 15:51

Je sais je suis désolé vous êtes tous de très bonne volonté, et j’enrage de pas arrivé a me faire comprendre. Ce que je veux faire est sans doute très simple.

Il est difficile de mettre un exemple mais je le tente...

EXEMPLE DWG

En vert, sont des commentaires pour les besoins de compréhension et absent en temps normal

1- Mon bloc PC_2P+T est en position n°1 a l'origine
2- A l'aide de l'outil "Rotation" je fais pivoter le bloc par rapport a un point quelconque, ici repère n°3
3- Mon bloc se retrouve donc en position n°2 (normalement incliné suivant l'angle de rotation)
4- Puis je met le paramètre rotation du bloc a 0 pour le remettre droit (pour qu'il apparaisse tel que sur le fichier)

Et c'est opération 4- que je souhaite supprimer
0

#22 L'utilisateur est hors-ligne   Raph_38 

  • ceinture noire 1er dan
  • Groupe : Membres
  • Messages : 533
  • Inscrit(e) : 07-août 06
  • LocationGrenoble

Posté 18 janvier 2018 - 16:05

Alors là, je pense que ce n'est pas possible ! (surtout si ton point 3 n'est pas figé)

Par contre rien ne t’empêche d'utiliser le bloc que je t'ai mis dans le message #15 ?

tu le déplace, tu le copie et tu le fait tourner comme bon te semble.

tu peux le modifier également et ajouter d'autres actions :

- une action d'étirement pour déplacer la DCL
- une action de miroir
- modifier l'angle d'incrémentation (dans les 2 actions de rotations déjà présentes) je les avaient paramétrées à 45° mais tu peux mettre 10° par exemple
Raph.

Celui qui pose une question est bête 5 minutes, celui qui n'en pose pas l'est toute sa vie !
0

#23 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é 18 janvier 2018 - 16:08

Si si c'est possible, mais pas en bloc dynamique.

C'est bien ce que je pensait avoir compris la deuxième fois : il faudrait faire un LISP reprenant la commande ROTATION, mais qui après son exécution remet à zéro l'orientation des bloques de la sélection, avec éventuellement un système de filtre pour ne pas affecter d'autre blocs dont l'orientation ne devrait pas être remise à zéro.

Ce coup-ci j'ais bien peur que ce soit moi qui n'arrive pas à expliquer mon idée.
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

#24 L'utilisateur est hors-ligne   Raph_38 

  • ceinture noire 1er dan
  • Groupe : Membres
  • Messages : 533
  • Inscrit(e) : 07-août 06
  • LocationGrenoble

Posté 18 janvier 2018 - 16:11

Si alex, c'est clair ;) enfin, moi j'ai compris.

Je disais seulement que ce n'était surement pas possible ... avec un Bloc dynamique Image IPB
Raph.

Celui qui pose une question est bête 5 minutes, celui qui n'en pose pas l'est toute sa vie !
0

#25 L'utilisateur est hors-ligne   Sébastien65 

  • Member
  • PipPip
  • Groupe : Membres
  • Messages : 13
  • Inscrit(e) : 05-mars 17

Posté 18 janvier 2018 - 16:25

Cela est bien dommage...

Je t'ai bien compris aussi Aleck, mais l'idée me semble aussi contraignant que ce que je fais actuellement. Opération a lancer manuellement après chaque rotation, mise à jour de la liste des bloc a chaque fois que j'en crée un nouveau. Mais surtout non liée au dessin, je peux pas envoyer le fichier ou travailler sur un autre ordi. Je voulais vraiment "figer" la rotation du bloc par rapport à lui même.

Actuellement je fais :
SELECTSIMILAR >>> je sélection un bloc >>> Je met le paramètre rotation a 0
Et je recommence avec un autre bloc

Je fais comme ça depuis 10 ans...

Mais je suis pas contre un LISP si quelqu’un ce le sent !!! Surtout si ça peut être automatique après un enregistrement ou autre.
0

#26 L'utilisateur est hors-ligne   Geof 

  • ceinture verte
  • Groupe : Membres
  • Messages : 75
  • Inscrit(e) : 04-juin 16
  • LocationNantes

Posté 18 janvier 2018 - 16:30

Si le point d'insertion de ton bloc n'a pas d'importance après avoir fait ta rotation je pense avoir trouvé un truc en bloc dynamique mais sa reste du bricolage :(

Image IPB

WeTransfer
0

#27 L'utilisateur est hors-ligne   Raph_38 

  • ceinture noire 1er dan
  • Groupe : Membres
  • Messages : 533
  • Inscrit(e) : 07-août 06
  • LocationGrenoble

Posté 18 janvier 2018 - 16:31

Ce que je n'arrive pas à comprendre, c'est pourquoi tu cherche à déplacer ton bloc avec la commande rotation ?
Raph.

Celui qui pose une question est bête 5 minutes, celui qui n'en pose pas l'est toute sa vie !
0

#28 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é 18 janvier 2018 - 16:36

Symétrie centrale, je suppose.
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

#29 L'utilisateur est hors-ligne   bonuscad 

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

Posté 18 janvier 2018 - 16:45

Pour ma part, je dirais alors rester en bloc simple.

Il fait tout ses manips qui désire (rotations, copie, déplacement...) sans se préoccuper de la représentation.
Une fois que toutes sa mise en place est faite, alors un "_QSELECT" appliquer au "dessin entier" avec comme type d'objet une "Référence de bloc" et la propriété sur "Nom", opérateur "= Egal a" et la valeur "PC 2P+T 16A"
Tout ça inclus dans un nouveau jeu de sélection.

Dans la palette de propriété dans Divers -> "Rotation": remplacer "*VARIE*" par 0 et c'est fini.
Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
0

#30 L'utilisateur est hors-ligne   Sébastien65 

  • Member
  • PipPip
  • Groupe : Membres
  • Messages : 13
  • Inscrit(e) : 05-mars 17

Posté 18 janvier 2018 - 16:46

Geof merci mais ça marche pas...

Il faut comprendre Raph que je suis dessinateur en électricité. J'ai donc 50 ou 100 ou 200 bloc pour dessiner un logement et il arrive 80% du temps que les logements se ressemble dans un autre bâtiment mais avec des orientations différentes, donc je fais copier/coller et je dois pivoter pour ajuster.

Et donc je veux pas faire pivoter les blocs 1 à 1... Donc pas de paramétré Angle1 comme dans tout vos exemples
0

#31 L'utilisateur est hors-ligne   Sébastien65 

  • Member
  • PipPip
  • Groupe : Membres
  • Messages : 13
  • Inscrit(e) : 05-mars 17

Posté 18 janvier 2018 - 16:48

Bonuscad... merci mais je voulais justement rendre transparent cette opération de façon automatique. Je fais dejà comme ça depuis 10 ans
0

#32 L'utilisateur est hors-ligne   bonuscad 

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

Posté 18 janvier 2018 - 16:59

A adapter, mais le principe est là pour être plus rapide en exécution que par _QSELECT

((lambda ( / js n dxf_ent)
	(setq js (ssget "_X" '((0 . "INSERT") (67 . 0) (2 . "PC 2P+T 16A"))))
	(cond
		(js
			(repeat (setq n (sslength js))
				(setq dxf_ent (entget (ssname js (setq n (1- n)))))
				(entmod (subst (cons 50 0.0) (assoc 50 dxf_ent) dxf_ent))
			)
		)
	)
	(prin1)
))

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

#33 L'utilisateur est hors-ligne   Raph_38 

  • ceinture noire 1er dan
  • Groupe : Membres
  • Messages : 533
  • Inscrit(e) : 07-août 06
  • LocationGrenoble

Posté 18 janvier 2018 - 17:20

Voir le messageSébastien65, le 18 janvier 2018 - 16:46 , dit :

Il faut comprendre Raph que je suis dessinateur en électricité. J'ai donc 50 ou 100 ou 200 bloc pour dessiner un logement et il arrive 80% du temps que les logements se ressemble dans un autre bâtiment mais avec des orientations différentes, donc je fais copier/coller et je dois pivoter pour ajuster.

Et donc je veux pas faire pivoter les blocs 1 à 1... Donc pas de paramétré Angle1 comme dans tout vos exemples


Je bosse en CVC, (j'ai fait du logement pendant quelques années) j'avais donc un peu moins de blocs que toi mais ça restait parfois conséquent.

il n'empêche que je ne m'explique toujours pas cette problématique que tu te pose. La solution de bonuscad fonctionne si tu paramètre ton bloc correctement.

Après ... est-ce vraiment nécessaire que dans ton bloc, la prise et la DCL soient orientées correctement ?
Raph.

Celui qui pose une question est bête 5 minutes, celui qui n'en pose pas l'est toute sa vie !
0

#34 L'utilisateur est hors-ligne   Sébastien65 

  • Member
  • PipPip
  • Groupe : Membres
  • Messages : 13
  • Inscrit(e) : 05-mars 17

Posté 18 janvier 2018 - 17:24

Raph, non seul la PC. C'était pour illustrer que je faisait pivoter un ensemble de bloc (et pas un bloc de plusieurs bloc) et que certain devaient rester vertical

Merci Bonuscad, a vérifier plus tard si le bloc dynamique et définitivement abandonné... Oui parce que je suis têtu aussi et j'y reviens encore a mes bloc dyn ;-)

Est ce que ça peut pas marché avec la contrainte "vertical" ? le descriptif dit que c'est pour être parallèle a l'axe Y du SCU courant, le SCU courant c'est celui du bloc auquel cas ça marche pas, mais si c'est celui du dessin ça peut le faire non ?
0

#35 L'utilisateur est hors-ligne   Olivier_CEA_Grenoble 

  • Advanced Member
  • PipPipPip
  • Groupe : Membres
  • Messages : 30
  • Inscrit(e) : 18-mars 09

Posté 25 octobre 2018 - 09:46

Bonjour,

J'ai couramment ce PB et j'utilise cet routine suivant un scu particulier:
;;---------------------------------------------
;;--rotation de bloc suivant SCU TRAV
;;---------------------------------------------
(defun c:R_OBJ_LAB (ss1 / ss2 ss1_type ANG_SCU_TRAV SCU_Begin)
	(setq 
		ss1_type (cdr(assoc 0 (entget(ssname ss1 0))))
		SCU_Begin (getvar "ucsname")
	)
	(if (= (cdr(assoc 50(entget (ssname ss1 0)))) 0.0 )
		(if (/= SCU_Begin "TRAV")
			(progn
				(command "scu" "nom" "r" "TRAV")
				(setq
					ANG_SCU_TRAV (angtos(angle '(0  0) (getvar "ucsxdir"))0 4)
				)
			)
			(setq
				ANG_SCU_TRAV (angtos(angle '(0  0) (getvar "ucsxdir"))0 4)
			)
		)
	)
		(progn
			; (alert ss1_type)
			(setq ss2(ssget "x" (list(cons 8 (cdr(assoc 8 (entget(ssname ss1 0))))))))
			(while (/= (sslength ss2) 0)
				(command "scu" "ob" (ssname ss2 0))
				(command ".rotation" (ssname ss2 0) "" "0,0" ANG_SCU_TRAV)
				(setq ss2 (ssdel (ssname ss2 0) ss2))
			)
		)
		(command "scu" "nom" "r" "TRAV")
)

Si pour une fois je peut rendre service sur ce forum, je serais super ravi.
B)
0

#36 L'utilisateur est hors-ligne   open-mind 

  • ceinture noire
  • Groupe : Membres
  • Messages : 398
  • Inscrit(e) : 02-mai 06

Posté 06 novembre 2018 - 15:31

Je vais peut-être dire une bêtise mais il y a peut-être plus simple:
Fais ton dessin sans te soucier de l'apparence des blocs, et quand t'as fini, tu fais une sélection rapide de ces blocs et tu passes le paramètre "rotation" à 0 dans les propriétés.
0

Partager ce sujet :


  • 2 Pages +
  • 1
  • 2


Réponse rapide

  

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