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 dentits (objets) et, au cours du projet, de leur en substituer dautres, 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 nimporte quels types et quantit dentits gomtriques, 3D, 2D ou mixtes 2D/3D, de cotations, dobjets pres et fils. Mais un Bloc contient toujours :
- un super-objet qui regroupe lensemble et porte le nom du Bloc.
- Un Liaison Rfrentielle (snap) servant de rfrentiel de positionnement et de dimensionnement.
Ces 2 lments sont crs automatiquement, sils nont pas t crs manuellement par lutilisateur.
Les Blocs apparaissent sous la forme dObjets de Bureau rsidant sur le Bureau de 3D Turbo. Pour les distinguer des Objets Gomtriques qui sont bords dun filet noir, les Blocs sont bords dun 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 davoir 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 dutiliser 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 nimporte quel type et quantit dentits graphiques, de cotation et dobjets, compacts sous la forme dun Objet de Bureau.
Super-Objet :
Lensemble des entits devant former un Bloc sont regroupes automatiquement (sil 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.
|
|
Chaque Bloc est quip dun rfrentiel de positionnement, sous la forme dune Liaison rfrentielle porte par le Super-Objet. Ce rfrentiel sera choisi de manire reflter les caractristiques privilgies de lobjet : 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 dune instanciation interactive. Il est recommand que ce point chaud soit aussi, logiquement, lorigine 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 litem Crer un Bloc avec la Slection .
Le Bloc nouvellement cr apparat dans le coin haut gauche du Bureau :
|
2) partir de lobjet courant slectionn dans le Gestionnaire dObjets
|
en choisissant litem Crer un Bloc avec lObjet .
Le Bloc nouvellement cr apparat dans le coin haut gauche du Bureau :
|
3) partir dun Objet de Bureau existant via le menu contextuel des Objets de Bureau :
|
en choisissant litem 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 dentits 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 litem
.
|
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 labandonner
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 dune liaison rfrentielle *i_snap sur un Bloc ne cre probablement pas une liaison reprsentative de lattitude de lobjet dans lespace.
Cest pourquoi il est souhaitable que cette liaison soit cre manuellement par loprateur laide de longlet Snaps de lՎditeur dobjets. En effet, si des Blocs reprsentent des objets similaires pouvant se substituer lun lautre, (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 dun Bloc peut provenir dun ensemble de calques. Cependant, lors de linstanciation de ce Bloc, toute la gomtrie sera dpose dans le calque courant. Il peut donc tre utile dՎviter lusage du type de trait du calque pour les vecteurs dun 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 dun bloc avec moins de 3 points sera refuse avec le message :
Au moment de la cration dun Bloc, sa gomtrie peut avoir t organise en Objets.
|
|
Il est souhaitable quun 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 quil ne soit modifi ultrieurement pour raison dhomonymie. Si aucun Super-Objet nest dtect, il sera automatiquement cr. Son nom sera celui donn au Bloc. Etant automatiquement cr, il sera dot dune liaison rfrentielle cre galement automatiquement. Cette liaison ne reprsente donc pas forcment ni le meilleur point chaud, ni les meilleurs axes de rfrences. Cest pourquoi il est souhaitable que le Super-Objet et sa liaison rfrentielle soient crs par loprateur.
Un Bloc peut tre composite, cest--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 dun Bloc SALLE A MANGER va donc entraner les instances des Chaises dans le Bloc.
|
|
La cration dune 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 lensemble entier ; |
Les Blocs composites sont donc des ensembles dobjets gomtriques et dobjets
instances. La combinaison de ces 2 types dobjets dans un Bloc est sans limite
et permet la cration de Blocs sophistiqus.
|
|
|
|
|
|
|
|
2 - Crer un Bloc partir de lObjet Courant |
|
|
|
Rappel : lObjet Courant est lobjet slectionn dans la liste des Objets du calque courant :
|
|
Pour crer un bloc partir de lobjet courant :
Drouler le menu contextuel de la fentre du Gestionnaire dObjets et choisir litem :
|
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 labandonner
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 dun Objet de Bureau |
|
|
|
Pour crer un Bloc partir dun Objet de Bureau :
|
Drouler le menu contextuel de lObjet de Bureau et slectionner litem
Lobjet 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 labandonner
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 dun Bloc :
Instancier ce Bloc dans un calque vide,
Geler linstance ainsi cre,
Modifier ce qui doit lՐtre laide des outils de modlisation / dessin,
Dtruire le Bloc dorigine,
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 ny 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 ny a, en principe, pas dinconvnient dtruire un bloc dj instanci, car les instances sont fonctionnellement indpendantes de leur Bloc pre. Le seul risque est de perdre la dfinition dun Bloc dans le projet. Cependant, un bloc peut toujours tre reconstruit partir dune de ses instances. Enfin la substitution des instances dun bloc par un autre bloc ncessite la prsence du bloc original pour seffectuer. Si le Bloc original nexiste plus, il ne sera plus possible de remplacer ses instances.
Pour dtruire dfinitivement tous les Blocs,
|
cliquer dans lun deux avec la touche Alt et glisser les dans la poubelle. Cette procdure est identique celle des Objets gomtriques. |
Les Blocs senregistrent trois endroits :
1) dans le document courant lors dun Enregistrer ou Enregistrer-sous.
2) dans lenvironnement courant lorsquon quitte 3D Turbo.
3) dans un fichier Bibliothque
Les Blocs sont rechargs au lancement de 3D Turbo et louverture dun 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 dobjets instancis de 3D Turbo est particulirement puissant car il sapplique nimporte quelles entits, quelles soient 3D ou 2D.
Une Instance est un objet copie dun Bloc ou copie dune 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 le 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 dune 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 nimporte quel type et quantit dentits graphiques, de cotation et dobjets, compacts sous la forme dun Objet dans un calque.
Lensemble 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 dun rfrentiel de positionnement, sous la forme dune 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 lobjet sera tenu lors des oprations interactives. Ce point chaud est aussi, habituellement, lorigine du Rfrentiel de positionnement.
Les utilisateurs avertis auront compris quune 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 dobjet et de cration de snap, totalement indpendamment dun Bloc, ds lors quon 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 dexister 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 seffectue sur demande de loprateur. Elle est quasi-instantane, mme si les instances concernes ont t transformes par rotation et/ou homothtie.
Il ny a dintrt utiliser les Instances la place des Objets Gomtriques, que si on a lintention de les remplacer massivement pour quelque raison que ce soit, par exemple :
- insrer un type dhuisserie ou de mobilier, et les substituer par dautres,
- ou insrer des versions simplifies dun objet en cours dՎtude, et les substituer par une version dtaille en fin dՎtude,
- ou insrer des versions dun objet et les substituer par un objet similaire,
- ou insrer des versions dun Bloc 2D cot et enrichi dune 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 dun Bloc, Cliquer/Glisser le Bloc dans le fentre de travail et le positionner de la manire habituelle.
|
Pour crer une instance dun Bloc, Cliquer/Glisser limage 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 dobjets 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 nest pas possible, le dialogue suivant en informe loprateur :
|
|
Translation |
autorise si la slection ne contient que des instances compltes ou des parties dune seule instance.
|
|
Rotation 2D |
autorise si la slection ne contient que des instances compltes ou des parties dune seule instance.
|
|
Rotation 3D |
autorise si la slection ne contient que des instances compltes ou des parties dune seule instance. |
|
Homothtie |
autorise si la slection ne contient que des instances compltes ou des parties dune seule instance. 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.
Les modifications partielles ou modifications des fils d'une unique instance (sauf leffacement) sont rpercutes intgralement sur toutes les instances de la mme famille.
Geler des instances cest leur faire perdre leur statut dinstance et leur faire gagner le statut dobjets normaux.
Pour geler toutes les instances dun mme type (cest dire issues dun mme pre) :
Slectionner une instance parmi celles que lon souhaite geler,
Drouler le menu contextuel du Gestionnaire dObjets 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 dinstance une instance gele. Il suffit de la renommer ( laide de litem Renommer du menu contextuel) en insrant devant son nom le prfixe *i_ .
Procder comme prcdemment mais choisir le menu dynamique Geler les instances Slectionnes .
Substituer une instance signifie remplacer son contenu par le contenu dun autre Bloc, ou du mme Bloc modifi. Cette fonction justifie elle seule lexistence des Instances.
Pour substituer une instance par un Bloc :
- Slectionner une des instances substituer dans le Gestionnaire dObjets.
- Drouler le menu contextuel du Gestionnaire dObjets et choisir litem 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 dune de ses instances, procder comme suit :
- Mettre linstance dans une position significative laide des outils de rotation, translation,
- Geler linstance
- Slectionner linstance
- Crer un Bloc avec la Slection.
Pour extraire les blocs dun document sur disque et les
fusionner avec les Blocs du projet courant, utiliser le menu Fichier/Fusionner
ou licne et choisir le fichier fusionner.
Le dialogue de Fusion est prsent. Activer longlet 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 laide des outils habituels (Flches du clavier, ) Slectionner dans ce panneau le ou les Blocs fusionner. La zone daffichage 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 lune ou lautre 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 limage du Bloc sur le Bureau de 3D Turbo.
|