Chapitre 24-1
Blocs et Instances
Les modles et dessins de 3D Turbo sont conus avec des entits graphiques dcrites au Chapitre "Les Entits Graphiques".
Il est souvent ncessaire de pouvoir utiliser plusieurs fois les mmes entits ou groupes dÕentits (objets) et, au cours du projet, de leur en substituer dÕautres, ou de les modifier toutes de manire identique.
Le systme des Blocs offre la possibilit de crer des objets dits Ē Instances Č qui restent dpendantes de leur Bloc gniteur (appel aussi Bloc Pre). Toute modification du gniteur sera rpercute sur ses instances, et un autre gniteur peut tre associ des instances existantes, ce qui les transformera instantanment, en respectant leur position et leurs dimensions.
Un Bloc est un groupe d'entits et de proprits qui est mmoris sous un nom unique qui l'identifie.
Il est possible de crer des Blocs constitus d'entits provenant de calques diffrents.
Un Bloc peut contenir absolument nÕimporte quels types et quantit dÕentits gomtriques, 3D, 2D ou mixtes 2D/3D, de cotations, dÕobjets pres et fils. Mais un Bloc contient toujours :
- un super-objet qui regroupe lÕensemble et porte le nom du Bloc.
- Un Liaison Rfrentielle (snap) servant de rfrentiel de positionnement et de dimensionnement.
Ces 2 lments sont crs automatiquement, sÕils nÕont pas t crs manuellement par lÕutilisateur.
Les Blocs apparaissent sous la forme dÕObjets de Bureau rsidant sur le Bureau de 3D Turbo. Pour les distinguer des Objets Gomtriques qui sont bords dÕun filet noir, les Blocs sont bords dÕun filet rouge :
|
<- Blocs
<- Objets Gomtriques |
Les blocs se manipulent exactement de la mme manire que les autres objets bureau. Ils forment cependant un groupe spar et peuvent tre manipuls globalement de manire indpendante des autres objets de bureau.
Avant de poursuivre la lecture du prsent chapitre, il est recommand dÕavoir parfaitement assimil le chapitre 24 Š Les Objets auquel le prsent chapitre fait continuellement rfrence
Nom d'un Bloc :
Chaque Bloc est identifi par un nom unique dans l'ensemble des Blocs du projet en cours. Ce nom fait le lien permanent entre le Bloc et ses Instances. Pour cette raison, le caractre # est interdit dans la syntaxe des noms de Bloc.
Il est recommand dÕutiliser des caractres MAJUSCULES pour nommer les Blocs, afin de les diffrentier clairement. Mais ceci ne constitue pas une obligation.
Composition d'un Bloc :
Un Bloc est compos de nÕimporte quel type et quantit dÕentits graphiques, de cotation et dÕobjets, compacts sous la forme dÕun Objet de Bureau.
Super-Objet :
LÕensemble des entits devant former un Bloc sont regroupes automatiquement (sÕil elles ne le sont pas dj au moment de sa cration) dans un objet global (dit Super-Objet) dont le nom sera identique celui du Bloc.
|
|
Rfrentiel de positionnement :
Chaque Bloc est quip dÕun rfrentiel de positionnement, sous la forme dÕune Liaison rfrentielle porte par le Super-Objet. Ce rfrentiel sera choisi de manire reflter les caractristiques privilgies de lÕobjet : point de rfrence dit Point Chaud, orientation et calage par rapport aux axes X,Y,Z.. Le nom de ce rfrentiel sera obligatoirement : *i_snap
Point Chaud :
Chaque Bloc contient un Point Chaud , qui est le point par lequel le bloc sera tenu lors dÕune instanciation interactive. Il est recommand que ce point chaud soit aussi, logiquement, lÕorigine du Rfrentiel de positionnement.
|
|
Les Blocs peuvent tre crs :
1) Ė partir de la Slection courante via le menu contextuel de la fentre de travail,
|
en choisissant lÕitem Ē Crer un Bloc avec la Slection Č.
Le Bloc nouvellement cr apparat dans le coin haut gauche du Bureau :
|
2) Ė partir de lÕobjet courant slectionn dans le Gestionnaire dÕObjets
|
en choisissant lÕitem Ē Crer un Bloc avec lÕObjet Č.
Le Bloc nouvellement cr apparat dans le coin haut gauche du Bureau :
|
3) Ė partir dÕun Objet de Bureau existant via le menu contextuel des Objets de Bureau :
|
en choisissant lÕitem Ē Convertir en BlocČ.
Le Bloc nouvellement cr apparat dans le coin haut gauche du Bureau :
|
|
|
|
|
|
|
|
|
1 - Crer un Bloc partir de la Slection |
|
|
|
Pour crer un bloc partir de la Slection :
Slectionner un ensemble dÕentits graphiques dans le projet en mode Slection de Points. La slection peut tre inter-calques.
Drouler le menu contextuel de la fentre de travail et choisir lÕitem
.
|
La fentre de composition du nom du Bloc est prsente. Elle affiche la liste des Blocs visibles dans le projet. En cliquant dans cette liste, on transfre le nom choisi dans le champ dÕdition.
Entrer ou complter le nom du Bloc de manire ce que ce nom soit unique. La fentre refuse tout nom existant dj. Cliquer sur OK pour confirmer la cration ou Annuler pour lÕabandonner
Si un super-objet ne couvre pas la slection, il est automatiquement cr.
Si le super-objet ne porte pas une liaison rfrentielle, une liaison (*i_snap) est cre automatiquement, avec pour origine, le point chaud de la slection.
|
La cration automatique dÕune liaison rfrentielle *i_snap sur un Bloc ne cre probablement pas une liaison reprsentative de lÕattitude de lÕobjet dans lÕespace.
CÕest pourquoi il est souhaitable que cette liaison soit cre manuellement par lÕoprateur lÕaide de lÕonglet Ē Snaps Č de lÕditeur dÕobjets. En effet, si des Blocs reprsentent des objets similaires pouvant se substituer lÕun lÕautre, (par exemple une reprsentation simplifie et une reprsentation complte, ou des reprsentations quivalentes) ces Blocs devraient porter des liaisons rfrentielles orientes de manire similaire.
Les liaisons rfrentielles servent au reprage de la position et la mesure des facteurs dÕchelle appliquer aux Instances, car les Instances peuvent tre repositionnes par translation et rotation et leurs dimensions modifies par homothtie.
Le contenu gomtrique dÕun Bloc peut provenir dÕun ensemble de calques. Cependant, lors de lÕinstanciation de ce Bloc, toute la gomtrie sera dpose dans le calque courant. Il peut donc tre utile dÕviter lÕusage du type de trait Ē du calque Č pour les vecteurs dÕun Bloc.
Un bloc peut contenir des cotations disposes dans les diverses vues envisages pour les instances de ce Bloc.
Un Bloc ne peut pas contenir moins de 3 Points. Toute tentative de cration dÕun bloc avec moins de 3 points sera refuse avec le message :
Au moment de la cration dÕun Bloc, sa gomtrie peut avoir t organise en Objets.
|
|
Il est souhaitable quÕun Objet global (dit Super-Objet) couvre la totalit de la gomtrie.
Le nom de ce Super-Objet sera utilis lors de la cration du Bloc, moins quÕil ne soit modifi ultrieurement pour raison dÕhomonymie. Si aucun Super-Objet nÕest dtect, il sera automatiquement cr. Son nom sera celui donn au Bloc. Etant automatiquement cr, il sera dot dÕune liaison rfrentielle cre galement automatiquement. Cette liaison ne reprsente donc pas forcment ni le meilleur point chaud, ni les meilleurs axes de rfrences. CÕest pourquoi il est souhaitable que le Super-Objet et sa liaison rfrentielle soient crs par lÕoprateur.
Un Bloc peut tre composite, cÕest--dire que certains des objets le composant sont eux-mmes des Instances.
Par exemple, dans la scne ci-dessous, les 4 chaises sont elles-mmes des Blocs instancis. La cration dÕun Bloc Ē SALLE A MANGER Č va donc entraner les instances des Chaises dans le Bloc.
|
|
La cration dÕune salle de restaurant par instanciation du Bloc Ē SALLE A MANGER Č va rintroduire le Bloc CHAISE dans les instances
|
|
Il sera alors possible
|
Soit de ne changer que les chaises |
|
Soit de changer lÕensemble entier ; |
Les Blocs composites sont donc des ensembles dÕobjets gomtriques et dÕobjets
instances. La combinaison de ces 2 types dÕobjets dans un Bloc est sans limite
et permet la cration de Blocs sophistiqus.
|
|
|
|
|
|
|
|
2 - Crer un Bloc partir de lÕObjet Courant |
|
|
|
Rappel : lÕObjet Courant est lÕobjet slectionn dans la liste des Objets du calque courant :
|
|
Pour crer un bloc partir de lÕobjet courant :
Drouler le menu contextuel de la fentre du Gestionnaire dÕObjets et choisir lÕitem :
|
La fentre de composition du nom du Bloc est prsente. Elle affiche la liste des Blocs visibles dans le projet. En cliquant dans cette liste, on transfre le nom choisi dans le champ dÕdition.
Entrer ou complter le nom du Bloc de manire ce que ce nom soit unique. La fentre refuse tout nom existant dj. Cliquer sur OK pour confirmer la cration ou Annuler pour lÕabandonner
Si un super-objet ne couvre pas la slection, il est automatiquement cr.
Si le super-objet ne porte pas une liaison rfrentielle, une liaison (*i_snap) est cre automatiquement, avec pour origine, le point chaud de la slection.
|
|
|
|
|
|
|
|
|
3 - Crer un Bloc partir dÕun Objet de Bureau |
|
|
|
Pour crer un Bloc partir dÕun Objet de Bureau :
|
Drouler le menu contextuel de lÕObjet de Bureau et slectionner lÕitem
LÕobjet choisi est dupliqu en un nouveau Bloc.
|
La fentre de composition du nom du Bloc est prsente. Elle affiche la liste des Blocs visibles dans le projet. En cliquant dans cette liste, on transfre le nom choisi dans le champ dÕdition.
Entrer ou complter le nom du Bloc de manire ce que ce nom soit unique. La fentre refuse tout nom existant dj. Cliquer sur OK pour confirmer la cration ou Annuler pour lÕabandonner
Si un super-objet ne couvre pas la slection, il est automatiquement cr.
Si le super-objet ne porte pas une liaison rfrentielle, une liaison (*i_snap) est cre automatiquement, avec pour origine, le point chaud de la slection.
|
Pour modifier le contenu dÕun Bloc :
Instancier ce Bloc dans un calque vide,
Geler lÕinstance ainsi cre,
Modifier ce qui doit lÕtre lÕaide des outils de modlisation / dessin,
Dtruire le Bloc dÕorigine,
Recrer un Bloc.
Pour dtruire dfinitivement un Bloc 3 mthodes sont possibles :
|
Appeler son menu contextuel et choisir la rubrique Effacer.
ou |
|
Cliquer-Glisser le Bloc dans la poubelle.
Il nÕy a pas de Annuler/Refaire (Undo/Redo) sur la destruction des blocs
|
|
ou
Cliquer-Glisser le Bloc depuis le Gestionnaire de Blocs dans la poubelle.
|
Si le Bloc est instanci dans le projet courant, le dialogue suivant est affich :
|
Il nÕy a, en principe, pas dÕinconvnient dtruire un bloc dj instanci, car les instances sont fonctionnellement indpendantes de leur Bloc pre. Le seul risque est de perdre la dfinition dÕun Bloc dans le projet. Cependant, un bloc peut toujours tre reconstruit partir dÕune de ses instances. Enfin la substitution des instances dÕun bloc par un autre bloc ncessite la prsence du bloc original pour sÕeffectuer. Si le Bloc original nÕexiste plus, il ne sera plus possible de remplacer ses instances.
Pour dtruire dfinitivement tous les Blocs,
|
cliquer dans lÕun dÕeux avec la touche Alt et glisser les dans la poubelle. Cette procdure est identique celle des Objets gomtriques. |
Les Blocs sÕenregistrent trois endroits :
1)
dans le document courant lors dÕun Enregistrer ou Enregistrer-sous.
2) dans lÕenvironnement courant lorsquÕon quitte 3D Turbo.
3) dans un fichier Bibliothque
Les Blocs sont rechargs au lancement de 3D Turbo et lÕouverture dÕun document.
|
Les Blocs mmoriss dans un fichier Bibliothque deviennent des Objets normaux, mais toujours quips de leurs principales caractristiques : le rfrentiel et le point chaud.
Il suffit de les re-glisser sur le Bureau et de les convertir en Blocs.
Le systme dÕobjets instancis de 3D Turbo est particulirement puissant car il sÕapplique nŌimporte quelles entits, quÕelles soient 3D ou 2D.
Une Instance est un objet copie dÕun Bloc ou copie dÕune autre instance de mme type, rsidant dans un calque.
Une Instance est donc un Objet dans un calque qui :
1) est typ "Instance" et dont nom commence par *i_xxxxxxxxx . Seul un objet pre (niveau 0) peut tre typ instance, ce qui permet ses fils d'tre de n'importe quel type (spline, ...). Un objet fils n'est donc jamais une instance.
2) dtient un point Chaud, qui est le premier point de cet objet.
3) dtient une liaison rfrentielle (snap) nomme "*i_snap" pour le positionnement par rotation (ce snap est issu du Bloc pre)
4) rfrence un Pre d'instance ( un "Bloc" ). Cette rfrence se fait par la racine du nom du Bloc pre
|
Si le Bloc pre porte le nom Chaise, ses instances porteront les noms
*i_Chaise#001 *i_Chaise#002 *i_Chaise#003 É..
Inversement, pour retrouver le nom du Bloc pre dÕune instance, il faut retirer le prfixe *i_ et le postfix de srie #xxx
Une instance nomme *i_Brique#050 est donc la 50 ime copie du Bloc nomm Brique.
Les instances sont des objets normaux. On peut donc les manipuler comme tels, les renommer, etc.. avec les avantages et inconvnients dcrits ci-aprs. |
Un objet Instance hrite des proprits de son Bloc pre.
Une Instance est compose de nÕimporte quel type et quantit dÕentits graphiques, de cotation et dÕobjets, compacts sous la forme dÕun Objet dans un calque.
LÕensemble des entits formant une Instance sont dans un objet pre de niveau 0 (dit Super-Objet) dont le nom est driv du nom de son Bloc pre.
|
|
Chaque instance est quipe dÕun rfrentiel de positionnement, sous la forme dÕune Liaison rfrentielle porte par le Super-Objet. Ce rfrentiel est hrit du Bloc pre. Le nom de ce rfrentiel est obligatoirement : *i_snap
|
|
Chaque Instance contient un Point Chaud, hrit de son Bloc pre, qui est le point par lequel lÕobjet sera tenu lors des oprations interactives. Ce point chaud est aussi, habituellement, lÕorigine du Rfrentiel de positionnement.
Les utilisateurs avertis auront compris quÕune Instance est, en somme, un Objet normal dont on a encadr les caractristiques.
Par consquent, il est parfaitement possible de crer une instance de toutes pices avec les fonctions de cration et dÕdition dÕobjet et de cration de snap, totalement indpendamment dÕun Bloc, ds lors quÕon en respecte les caractristiques.
En corollaire, un objet de type "instance" perd son type instance :
„ Si on le re-type autrement manuellement.
„ Si on enlve manuellement le prfixe *i_ de son nom.
„ Si on le gle ( ce qui le re-type Gomtrique et enlve le prfixe *i_ )
„ Dans certaines transformations (Symtrie, Retournement,...)
Le grand intrt des instances de 3D Turbo est que :
1) La dpendance au Bloc pre est faible. Si le bloc Pre n'existe plus, ses instances continuent d' exister et peuvent mme se cloner !
2) Les instances se comportent ( quelques exceptions prs) comme des objets normaux.
3) Elles sont la fois 3D et 2D
4) Et mieux encore : il est possible de reconstruire un Bloc pre gar partir d'une de ses instances !.
Ė la diffrence des objets classiques qui sont permanents, les Instances peuvent tre instantanment remplaces / substitues par un autre Bloc Cette substitution sÕeffectue sur demande de lÕoprateur. Elle est quasi-instantane, mme si les instances concernes ont t transformes par rotation et/ou homothtie.
Il nÕy a dÕintrt utiliser les Instances la place des Objets Gomtriques, que si on a lÕintention de les remplacer massivement pour quelque raison que ce soit, par exemple :
- insrer un type dÕhuisserie ou de mobilier, et les substituer par dÕautres,
- ou insrer des versions simplifies dÕun objet en cours dÕtude, et les substituer par une version dtaille en fin dÕtude,
- ou insrer des versions dÕun objet et les substituer par un objet similaire,
- ou insrer des versions dÕun Bloc 2D cot et enrichi dÕune certaine manire, et les substituer par le mme cot et enrichi diffremment.
Les Instances tant des objets normaux, elles se crent de la mme manire que les objets. Seules certaines oprations, expliques ci-aprs, sont interdites sur les Instances
Pour crer une instance dÕun Bloc, Cliquer/Glisser le Bloc dans le fentre de travail et le positionner de la manire habituelle.
|
Pour crer une instance dÕun Bloc, Cliquer/Glisser lÕimage Bloc dans le fentre de travail et le positionner de la manire habituelle.
Les faons de crer de multiples Instances sont nombreuses et correspondent globalement aux possibilits de duplication dÕobjets normaux, savoir :
Par collage si le contenu du Presse-Papier est une/des
instances,
Par collage multiple sur slection si le contenu du presse
Papier est une instance,
Par duplication d'un objet instance existant,
Par duplication rythme d'un objet instance existant,
Par duplication le Long de... d'un objet instance existant,
Etc..
NOTA: Les Symtries et les Retournements dtruisent l'tat d'instance.
Les fonctions qui modifient les instances sont, globalement, toutes les fonctions de transformation. Si la modification nÕest pas possible, le dialogue suivant en informe lÕoprateur :
|
|
Translation |
autorise si la slection ne contient que des instances compltes |
|
Rotation 2D |
autorise si la slection ne contient que des instances compltes |
|
Rotation 3D |
autorise si la slection ne contient que des instances compltes |
|
Homothtie |
autorise si la slection ne contient que des instances compltes et si les 3 facteurs d'chelles sont identiques, positifs et non nuls
|
|
Symtrie Retournement |
Autorise mais les objets rsultants perdent le statut d'instance |
|
Alignements de cote |
Interdit |
|
Alignements sur grille |
Interdit |
|
Alignement sur Direction |
Interdit |
|
Projection sur Direction |
Interdit |
|
Froissage |
Interdit |
|
Coupe |
Autorise mais les objets coups perdent le statut d'instance |
|
Coupe multiple |
Autorise mais les objets coups perdent le statut d'instance |
|
Profil de coupe intgr |
Autorise mais les objets coups perdent le statut d'instance
|
|
Profil de coupe non intgr |
Autorise |
Toutes autres constructions sur un objet instance restent autorises, mais sont perdues en cas de substitution du Bloc pre. ( Coupe, cration-effacement de vecteurs, trononnage, intersection, modification de facettes, de cotations,...).
Les Objets fils d'une instance restent des objets normaux. Il n'est pas recommand de les manipuler en dehors de leur pre instance.
Les modifications partielles ou modifications des fils d'une instance (effacement,É) sont permises mais perdues en cas de substitution.
Geler des instances cÕest leur faire perdre leur statut dÕinstance et leur faire gagner le statut dÕobjets normaux.
Pour geler des Instances :
Slectionner une instance parmi celles que lÕon souhaite geler,
Drouler le menu contextuel du Gestionnaire dÕObjets et choisir Ē Geler les instances Č
|
|
|
Toutes les Instances de mme gnration appartenant au groupe de visualisation sont transformes en objet gomtrique normal.
Cette fonction peut tre annule par Undo / Redo
Les Instances geles tant devenues des objets normaux, elles ne peuvent plus tre substitues.
Il est tout fait possible de redonner son statut dÕinstance une instance gele. Il suffit de la renommer ( lÕaide de lÕitem Ē RenommerÉ Č du menu contextuel) en insrant devant son nom le prfixe *i_ .
Substituer une instance signifie remplacer son contenu par le contenu dÕun autre Bloc, ou du mme Bloc modifi. Cette fonction justifie elle seule lÕexistence des Instances.
Pour substituer une instance par un Bloc :
- Slectionner une des instances substituer dans le Gestionnaire dÕObjets.
- Drouler le menu contextuel du Gestionnaire dÕObjets et choisir lÕitem ĒChanger le Bloc Pre parÉ Č
- Dans le menu listant tous les Blocs prsents dans le projet, choisir celui qui servira la substitution.
|
Cette fonction ne peut pas tre annule ou refaite par Undo / Redo
|
Avant la substitution
|
|
Pendant la substitution ( si elle dure plus de 1 seconde ! ) |
Aprs la substitution |
|
Les instances peuvent avoir t modifies par translation, rotation et homothtie.
La substitution prserve ces modifications comme le montrent les exemples ci-dessous.
|
|
|
|
|
|
Pour reconstruire un Bloc partir dÕune de ses instances, procder comme suit :
- Mettre lÕinstance dans une position significative lÕaide des outils de rotation, translation,É
- Geler lÕinstance
- Slectionner lÕinstance
- Crer un Bloc avec la Slection.
Pour extraire les blocs dÕun document sur disque et les
fusionner avec les Blocs du projet courant, utiliser le menu Fichier/FusionnerÉ
ou lÕicne et choisir le fichier fusionner.
Le dialogue de Fusion est prsent. Activer lÕonglet Blocs.
La liste des Blocs du document choisi est affiche :
|
Slectionner le ou les Blocs fusionner
Le panneau Blocs prsente la liste des Blocs dtects dans le document fusionner. Naviguer dans ce panneau lÕaide des outils habituels (Flches du clavier, É) Slectionner dans ce panneau le ou les Blocs fusionner. La zone dÕaffichage prsente le contenu du dernier Bloc slectionn.
Pour ajouter un Bloc la slection, cliquer avec la touche Maj
Pour ajouter-retirer un Bloc de la slection, cliquer avec la
touche Cmd ( ). Cliquer-Glisser avec
lÕune ou lÕautre touche pour ajouter-retirer une plage de Blocs
Cliquer Fusionner pour charger les Blocs slectionns sur le Bureau de 3D Turbo.
Extraction par Cliquer-Glisser
Slectionner dans le panneau le ou les Blocs fusionner.
Cliquer-Glisser lÕimage du Bloc sur le Bureau de 3D Turbo.
|