Aller au contenu

Reseau grouper/ JE SUIS LE SEUL AU MONDE A UTILISER LES GROUPES???


3DPAT

Messages recommandés

Bonjour,

 

Je suis seul au B.E. à faire dela DAO et quasi autodidact.

 

Je passe d'Autocad Lt2000 à Mechanical 2009 et je déplore la disparition inexpliquée de l'option qui permettait de grouper les objets après la création d'un réseau. (commande RESEAU)

 

J'ai l'impression d'être le seul à travailler avec des groupes sans nom :o

Comment faites vous autrement?

Y a t'il des combines pour grouper les réseaux comme avant?

 

Merci pour vos réponses

 

[Edité le 17/9/2008 par 3DPAT]

Lien vers le commentaire
Partager sur d’autres sites

Tu peux toujours faire un réseau et après créer un groupe en tapant "groupe". La commande groupe existe toujours mais a été largement remplacé par les blocs.

 

Après avoir créer ton groupe tu peux faire un ctrl + h pour rendre tous le groupe sélectionnable.

Lien vers le commentaire
Partager sur d’autres sites

Quant à moi, je ne me rappelle que très très vaguement de cette possibilité de grouper dans la commande RESEAU sur 2000.

 

En ligne de commande (avec -RESEAU), l'option n'est pas (plus) présente non plus sur 2006.

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)
Lien vers le commentaire
Partager sur d’autres sites

tu trouveras ce sujet en réponse à ton problème...

 

J'ai créé un menu pour utiliser les groupes de façon simple...

 

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 @)

Lien vers le commentaire
Partager sur d’autres sites

Oui oui , merci bien, :)

 

En fait, j'avais déjà trouvé ces bidouilles très récemment sur CAD XP et j'ai installé les fonctions grp et degrp.

 

Ça va déjà beaucoup mieux que la fenêtre fournit normalement à la base. :cool:

 

Il n'empêche (je vais faire mon casse-pied) que pour moi, c'était vraiment TOP de pouvoir grouper les réseaux d'objets après création (comme sur la version LT2000).

 

J'ai beau cherché, je crois que je vais devoir m'y résoudre car cela semble plus difficile à recréer étant donné qu'il faudrait bidouillé dans une fonction à part qui apparaît en fenêtre(RESEAU) :mad:

Mais je ne vais pas me laisser faire comme ça et je vais persister dans mes recherches, toutefois, si quelqu'un à une idée? :present:

 

Merci d'avance

Lien vers le commentaire
Partager sur d’autres sites

Si tu utilises la commande réseau avec la boite de dialogue, tu peux utiliser ceci [surligneur]immédiatement APRES. [/surligneur]

 

Si la boite n'est pas désirée tu pourrais intégrer la commande "_.ARRAY" dans le code.

 

;Merci à Serge Camiré pour les fonctions dec2hex et hexdec
(defun dec2hex (decnum / bit liste return)
(if (or (> decnum 65535) (< decnum 0))
	(progn
		(alert "Le nombre doit être positif et inférieur ou égal à 65535 (0xFFFF) ")
		(setq return nil)
	)
	(progn
		(setq return "")
		(setq liste
			(list
				(/ (boole 1 61440 decnum) 4096)
				(/ (boole 1 3840 decnum) 256)
				(/ (boole 1 240 decnum) 16)
				(boole 1 15 decnum)
			)
		)
		(foreach bit liste (setq return (strcat return (if (> bit 9) (chr (+ 55 bit)) (itoa bit)))))
	)
)
return 
)
(defun hexdec (nb / r i s)
(if (= (type nb) 'INT)
	(setq nb (itoa nb))
)
(setq r 0 i 0)
(while (and (= (type nb) 'STR) (< i (strlen nb)))
	(setq i (1+ i))
	(setq s (strcase (substr nb i 1 )))
	(setq r
		(+ 
			(lsh r 4)
			(- (ascii s)
				(if (<= s "9")
					48
					55
				)
			)
		)
	)
)
)
((lambda ( / js n l_hd hd_ent lst_grp newdict xname)
(setq js (ssget "_P")  n -1 l_hd '())
(cond
	(js
		(repeat (sslength js)
			(setq l_hd (cons (dec2hex (hexdec (cdr (assoc 5 (entget (ssname js (setq n (1+ n)))))))) l_hd))
		)
		(setq hd_ent (dec2hex (hexdec (cdr (assoc 5 (entget (entlast)))))))
		(while (and hd_ent (not (member hd_ent l_hd)))
			(if (handent hd_ent)
				(setq lst_grp (cons (cons 340 (handent hd_ent)) lst_grp))
			)
			(setq hd_ent (dec2hex (1- (hexdec hd_ent))))
		)
		(foreach n l_hd (setq lst_grp (cons (cons 340 (handent n)) lst_grp)))
		(setq
			newdict (cdar (dictsearch (namedobjdict) "ACAD_GROUP"))
			xname
			(entmakex
				(append
					'(
						(0 . "GROUP")
						(100 . "AcDbGroup")
						(300 . "Objet Reseau")
						(70 . 0)
						(71 . 1)
					)
					lst_grp
				)
			)
		)
		(if (not (assoc 3 (dictsearch (namedobjdict) "ACAD_GROUP")))
			(dictadd newdict "OBJECTS_ARRAY_1" xname)
			(dictadd newdict (strcat "OBJECTS_ARRAY_" (itoa (1+ (atoi (substr (cdr (assoc 3 (dictsearch (namedobjdict) "ACAD_GROUP"))) 11))))) xname)
		)
	)
)
(prin1)
))

 

Testé rapidement

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

Lien vers le commentaire
Partager sur d’autres sites

Peux tu m'aiguiller?

 

Déjà, dans un premier temps (pour tester tout simplement) tu peux copier-coller le code directement en ligne de commande. Juste après avoir fait ton réseau.

 

Après avoir valider le code en ligne commande, les objets constituant le réseau devraient être groupés.

 

Si cela te convient, tu peux en faire une fonction permanente en changeant dans le code (après avoir fait un copier coller dans le bloc-note)

((lambda ( / js n l_hd hd_ent lst_grp newdict xname)

....

))

 

par un non de fonction de ton choix, exemple:

(defun c:GRP_ARRAY ( / js n l_hd hd_ent lst_grp newdict xname)

....

)

 

et tu enregistres le fichier où bon te semble sous l'extension LSP avec le nom qui te convient.

Le mieux et de garder le nom de la fonction principale exemple: GRP_ARRAY.LSP

 

Pour le charger en mémoire dans autocad, tu peux faire simplement un glisser-déposer du fichier depuis l'explorateur dans la fenêtre graphique d'autocad.

Dés lors tu auras une nouvelle commande, ici: GRP_ARRAY

 

Si la boite de dialogue de la commande RESEAU ne t'est pas nécessaire, tu pourrais insérer dans le code (juste après le ligne (defun c:GRP_ARRAY (....))

 

(command "_.-array" (while (not (zerop (getvar "cmdactive"))) (command pause)))

 

où sous une autre forme si l'usage de RESEAU est toujours de la même nature (nombre de colonnes/rangées, polaire/rectangulaire), a toi de voir.

 

 

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

Lien vers le commentaire
Partager sur d’autres sites

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é