Aller au contenu

Blocs et imbrications


(gile)

Messages recommandés

Salut,

 

Il ne s'agit pas à proprement parler d'un tutoriel, mais comme ce sujet n'est pas lié à une version d'AutoCAD, j'ai pensé qu'il avait sa place dans ce forum.

 

La question, sous diverses formes, des blocs imbriqués et des problèmes inattendus qu'ils génèrent étant récurrente, je vais essayer ici de clarifier les choses.

 

Il convient tout d'abord de bien faire la différence entre une définition de bloc et une référence de bloc.

 

Une définition de bloc est une collection d'entités.

Elle est conservée dans la table des blocs.

On peut modifier une définition de bloc, dans le dessin même, avec la commande REFEDIT (_EDITREF) ou, depuis la version 2006 dans l'éditeur de bloc (commande MODIFBLOC ou BEDIT ou _BEDIT).

 

Une référence de bloc est une entité unique (dite complexe parce que contenant éventuellement des sous entités : les références d'attributs).

On crée des références de bloc avec la commande INSERER (_INSERT) et en choisissant la définition de bloc à laquelle on fait référence.

Les références de bloc sont insérées dans un espace (objet ou papier) ou dans un une autre définition de bloc. On parle dans ce cas d'imbrication de blocs ou de bloc imbriqué.

 

On peut donc considérer l'espace objet d'un fichier DWG comme une définition de bloc.

Ceci se vérifie quand on insère un fichier/bloc.

L'espace objet du dessin courant est aussi une sorte de définition de bloc "ouverte" (un peu comme une définition de bloc ouverte dans l'éditeur de bloc).

 

Un bloc imbriqué est donc une référence de bloc insérée dans une définition de bloc.

Il peut s'agir d'une référence de bloc sélectionnée, comme d'autres entité, lors de la création de la définition du bloc avec la commande BLOC (_BLOCK), d'une référence de bloc ajoutée à une définition de bloc via REFEDIT ou l'éditeur de bloc ou encore d'un bloc inséré dans l'espace objet d'un DWG utilisé comme bloc.

 

C'est le plus souvent dans ce dernier cas qu'on se retrouve avec les blocs imbriqués "inattendus", le plus classique étant une mauvaise utilisation de la commande WBLOC (_WBLOCK).

Cette commande crée un nouveau DWG avec les entités spécifiées.

 

Si les entités sont sélectionnées dans le dessin, chaque entité sera insérée dans l'espace objet du nouveau fichier, donc un composant de la définition du bloc quand ce fichier sera inséré dans un autre dessin.

Si parmi ces entités il y a une référence de bloc, c'est la cette référence qui sera insérée dans l'espace objet du nouveau DWG (et la définition du bloc sera enregistrée dans la table des blocs de celui-ci). Lors de l'insertion de ce DWG en tant que bloc dans un autre dessin, la référence de bloc contenue dans le DWG sera imbriquée dans le bloc.

Donc, si on veut enregistrer un bloc du dessin courant avec WBLOC, il ne faut pas sélectionner une référence du bloc dans le dessin, mais choisir sa définition dans la liste déroulante après avoir coché "Blocs", ainsi ce seront les composants de la définition du bloc qui seront ajoutés à l'espace objet du DWG et non pas la référence de bloc.

 

Blocs dynamiques et attributs

 

Toutes les références d'une même définition de bloc contiennent les mêmes entités et on ne peut modifier ces entités dans une référence. Seule la topographie (position, rotation, échelles) de chaque référence peut différer.

Si on modifie une entité dans la définition d'un bloc, cette modification sera répercutée dans toutes les références déjà insérées.

Avec comme exceptions pour confirmer cette règle : les valeurs d'attributs et les blocs dynamiques.

 

Les valeurs d'attributs (non constants) sont modifiables différemment dans chaque référence d'un même bloc. Il s'agit en fait de références d'attribut, qui font donc référence à la définition d'attribut contenue dans la définition de bloc.

Mais on ne peut modifier les référence d'attributs que des références de blocs directement insérées dans l'espace (ou la définition de bloc) actif.

Si un bloc imbriqué contient des attributs, ceux ci sont inaccessibles depuis les références du bloc parent puisqu'une référence de bloc est une entité unique et qu'on ne peut modifier une entité composant une référence de bloc.

 

On peut modifier une référence de bloc dynamique via ses propriétés dynamiques. Mais la règle énoncée ci dessus reste vraie. En fait, AutoCAD crée une nouvelle définition de bloc (bloc anonyme *Un) pour chaque référence de bloc dynamique modifiée.

Là encore, on n'accède aux propriétés dynamiques d'une référence de bloc qu'au premier niveau d'insertion. Un bloc dynamique imbriqué est figé dans les références du bloc parent.

 

Voilà, en espérant encore une fois ne pas avoir été trop confus, je rappelle que toutes les critiques ajouts commentaire, questions sont les bienvenues.

  • Upvote 1

Gilles Chanteau - gileCAD -
Développements sur mesure pour AutoCAD
ADSK_Expert_Elite_Icon_S_Color_Blk_125.png

Lien vers le commentaire
Partager sur d’autres sites

Bonjour à toutes et tous,

 

Merci (gile) pour ce"Tutoriel"

 

Une question en te lisant :

 

On crée des références de bloc avec la commande INSERER (_INSERT)

 

Qu'en est-il d'une insertion depuis une palette par glisser-déposer ou bien cliquer-déposer (d'ailleurs, il y a t-il une différence ?)

 

Je me rappelle de cette discussion ou j'avais transpiré un peu avant de comprendre complétement le principe,... :exclam:

Civil 3D 2024 - COVADIS_18.2

https://www.linkedin...3%ABt-95313341/

Lien vers le commentaire
Partager sur d’autres sites

Salut

 

Très bonne initiative :D

 

On peut donc considérer l'espace objet d'un fichier DWG comme une définition de bloc.

Ce qui est le cas, mais qu'on voit en prog uniquement.

Si on veut aller plus loin, c'est aussi vrai pour les espaces papiers.

 

Juste pour simplifier (à mon sens)

La table des blocs est la "palette" ou "bibliothèque" qui contient tous les symboles de mon dessin.

On peut la compléter par la palette d'outils ou en utilisant parcourir lors de l'insertion d'un nouveau symbole.

 

Une référence de bloc (ou objet/entité) fait appel à la table des blocs pour afficher le symbole (suivant les calques bien sur)

Cette référence peut-être dupliquée plusieurs fois dans le dessin avec des échelles, couleurs, etc... différents, ce qui donne un ensemble d'objets.

Pour cette ensemble d'objets, si on modifie la définition du bloc, ils sont tous modifiés.

 

Pour ce qui est des blocs dynamiques, s'ils ont des noms anonymes, c'est qu'en réalité, chaque état du bloc est en réalité un bloc (créé automatiquement par autocad)

Par exemple

J'insère un bloc dynamique et lui donne un état.

Autocad lui affecte un nom anonyme du style "*U122" et créé obligatoirement une définition de bloc.

Je modifie un état de mon bloc, le nom anonyme de ma référence change.

Autocad a de nouveau créé une nouvelle définition de bloc.

Si je purge le dessin, j'ai un paquet de définition de blocs anonymes qui peuvent être "effacé"

 

Un Tuto de Didier Lourdelle sur les blocs.

 

Qu'en est-il d'une insertion depuis une palette par glisser-déposer ou bien cliquer-déposer (d'ailleurs, il y a t-il une différence ?)

C'est ma même chose --> insérer un bloc dans un dessin.

 

@+

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Lien vers le commentaire
Partager sur d’autres sites

Qu'en est-il d'une insertion depuis une palette par glisser-déposer ou bien cliquer-déposer (d'ailleurs, il y a t-il une différence ?)

Depuis une palette ou l'explorateur Windows, c'est exactement la même chose qu'avec INSERER.

 

Il y a création d'une référence de bloc dans l'espace courant (ou la définition de bloc si on est dans l'éditeur) et ajout de la définition de bloc à la table du dessin courant ou mise à jour de celle-ci si elle était déjà présente.

 

Je n'ai pas voulu l'écrire dans le premier message pour ne pas alourdir, mais une définition de bloc est un objet non graphique (un enregistrement) stocké dans une 'table' (comme les calques, les styles de cote, de texte) même si on peut l'afficher pour la voir dans l'éditeur.

Alors qu'une référence de bloc est une entité graphique au même titre qu'un cercle, une ligne, etc...

 

On peut donc considérer l'espace objet d'un fichier DWG comme une définition de bloc.

Ce qui est le cas, mais qu'on voit en prog uniquement.

Si on veut aller plus loin, c'est aussi vrai pour les espaces papiers.

Oui, mais je ne m'adressais pas vraiment à ceux qui programment et ont bien compris ça ;)

J'ai aussi voulu limiter mon propos à l'espace objet en ce sens que quand on insère un DWG via INSERER (ou le Design Center, l'explorateur ...) c'est l'espace objet du DWG qui devient définition de bloc.

Gilles Chanteau - gileCAD -
Développements sur mesure pour AutoCAD
ADSK_Expert_Elite_Icon_S_Color_Blk_125.png

Lien vers le commentaire
Partager sur d’autres sites

Re,

 

Merci pour ce complément Patrick_35 (et le tuto , :D ).

 

Alors qu'une référence de bloc une entité graphique au même titre qu'un cercle, une ligne, etc...

 

je n'étais pas encore sûr d'avoir bien compris ça, donc merci également (gile) pour cette illustration "simple" de ces notions pas évidente dans le fond (même si certains penseront que c'est la base de la base,...),...

 

Depuis une palette ou l'explorateur Windows, c'est exactement la même chose qu'avec INSERER.

 

Vu !

Civil 3D 2024 - COVADIS_18.2

https://www.linkedin...3%ABt-95313341/

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é