# B-Rep

Nella modellazione solida, rappresentazione per contorni, spesso in passato abbreviata come B.rep (Boundary representation), è un modo per rappresentare delle superfici. Costituisce un formato di grafica vettoriale che rappresenta solo gli spigoli del solido, come dei fili tesi tra i vertici, e veste poi queste superfici con delle tessiture per rappresentarne la forma definitiva. B.rep è diventato anche un formato neutrale di disegni al calcolatore che aiuta lo scambio di dati tra diverse applicazioni CAD.

## Premessa

Nella progettazione e nella fabbricazione molti sistemi sono usati per gestire i dati tecnici dei prodotti. Ogni sistema ha il proprio formato, quindi la stessa informazione deve essere introdotta numerose volte in varie forme, portando ad eccessi e ad errori.
Il problema non riguarda solo la fabbricazione. La tridimensionalità aumenta la possibilità di errori ed equivoci tra gli operatori. Il National Institute of Standard ha stimato l'incompatibilità' di dati per un valore di 90 miliardi di dollari nell'industria (Manifatturiera, cantieristica, ecc..) Nel corso degli anni sono state proposte molte soluzioni.
Quelle che hanno avuto maggior successo sono state norme condivise per lo scambio dei dati. Le prime norme erano nazionali ed erano incentrate sullo scambio dei dati geometrici. Esse includevano:
* il SET in Francia
* il VDAFS in Germania
* la Descrizione di Scambio di Grafica Iniziale (IGES) negli Stati Uniti di America.
Finalmente se ne è occupata l'Organizzazione Internazionale per la Standardizzazione (ISO). Esiste lo standard internazionale

## Condivisione

Usando B-Rep, gli utilizzatori di programmi CAD possono scambiarsi i dati del modello prodotto in forma di diagramma del circuito modello wireframe, modelli liberi di superfici o modellazione solida 3D. Le applicazioni supportate includono i tradizionali CAD, CAM, CAE, modelli per l'analisi, e altre funzioni per la fabbricazione. È quindi una tecnica di modellazione geometrica 3D delle superfici solide, per rappresentare la superficie degli oggetti geometrici mediante "cucitura" di piccole piastrelle geometriche. Un solido è rappresentato da una collezione di elementi di superficie, ai limiti tra solido e non solido. Il metodo è stato sviluppato in maniera indipendente nei primi anni settanta da Ian Braid nell'University of Cambridge (per la parte CAD) e Baumgart in America (per la computer vision). Braid continuò il suo lavoro con la ricerca sul modellatore solido BUILD che è stato il precursore di numerose ricerche e sistemi di modellazione solida commerciali. Braid ha lavorato sui sistemi commerciali ROMULUS, (primo modellatore 3D, il precursore di Parasolid), e su ACIS. Parasolid e ACIS sono alla base di molti dei sistemi CAD commerciali di oggi.
I modelli di rappresentazione dei limiti delle superfici sono composti di due parti: topologica e geometrica (superfici, curve e punti). I principali punti topologici sono: facce, bordi e vertici. Una faccia è una porzione limitata della isosuperficie; uno spigolo è un pezzo limitato di una curva e un vertice si trova in un punto. Altri elementi sono la shell (una serie di facce collegate), il loop (una serie di bordi che delimitano una faccia) e loop-edge links (conosciuto anche come bordo alato o mezzo-bordo) che vengono utilizzati per creare il bordo dei circuiti. I bordi sono come i bordi di una tabella, delimitano una porzione di superficie.
In seguito Braids lavora sui solidi. Un team Svedese, guidato dal Professor Torsten Kjellberg, sviluppò la filosofia e i metodi per lavorare con modelli ibridi, wire-frames (struttura dei reticoli), coperture degli oggetti e dei modelli volumetrici durante i primi anni ottanta. In Finlandia, Marti Mäntylä ha prodotto un sistema di modellazione solida chiamato GWB. Negli USA Eastman e Weiler sono stati anche al lavoro sulle Boundary Representation. In Giappone anche il Professor Kimura ed il suo team alla Università di Tokyo produsse il suo sistema di modellazione B-rep.

## Descrizione

Rispetto alla modellazione geometrica generata dalla tecnica di rappresentazione Geometria Solida Costruttiva (CSG), che utilizza solo gli oggetti primitivi e le operazioni logiche abbinate dell'algebra di Boole, la boundary representation è più flessibile ed ha un set di operazioni molto più ricco. Questo fa della rappresentazione al contorno una scelta più indicata per i sistemi CAD. La tecnica CSG è stata utilizzata inizialmente da diversi sistemi commerciali perché facile da implementare. L'avvento di affidabili sistemi commerciali basati su kernel B-rep come Parasolid e ACIS, prima indicati, ha portato alla diffusa adozione di B-rep per CAD. Oltre alle operazioni booleane, B-rep ha estrusione (di ogni tipo), smussatura, meshing, disegno, shelling (riempimento), tweaking (modifiche) e altre operazioni che fanno uso di tutto questo.
La BREP è essenzialmente una rappresentazione in locale che collega facce, bordi e vertici. Un'estensione di questo è nel raggruppamento dei sub-elementi della forma in unità logiche, chiamate geometric features (caratteristiche geometriche), o più semplicemente features. Un lavoro pionieristico è stato fatto da Kyprianou a Cambridge (USA) anche utilizzando il sistema BUILD e continuato ed ampliato da Jared e altri. Le caratteristiche sono alla base di molti altri sviluppi, permettendo un "ragionamento geometrico" ad alto livello a proposito di forme per il confronto (verifica e comparazione), il processo di pianificazione, la costruzione, ecc.
La Boundary representation è stata inoltre estesa per rappresentare speciali tipi di modelli non solidi, chiamati non-manifold. Come descritto da Braid, i solidi normali in natura hanno la proprietà che, presso in ogni punto sul limite, una piccola sfera intorno al punto è divisa in due parti, una interna ed una esterna all'oggetto. Il modello non-manifold rompe questa regola. Un'importante sottoclasse di modelli non-manifold sono gli oggetti texture usati per rappresentare gli oggetti piani e integrare la modellazione delle superfici in un ambiente di modellazione solida.

## Standard

Nel mondo dello scambio di dati, STEP, the Standard for the Exchange of Product Model data definisce anche alcuni modelli di dati per le rappresentazioni dei bordi. I comuni generici modelli tipologici e geometrici sono definiti in ISO 10303-42 Geometric and topological representation. La seguente Application Integrated Resources (AICs) specifica le boundary models che sono i vincoli per le specifiche generiche geometriche e tipologiche:
* ISO 10303-511 Topologically bounded surface, definizione di una advanced face, che è una superficie delimitata dove la superficie è di tipo elementare (piana, cilindrica, conica, sferica o toroidale), o una superficie pulita. I bordi sono definiti da linee, coni, poligoni, superfici curve, o curve b spline
* ISO 10303-514 Advanced boundary representation, definisce un volume solido con vuoti possibili, che è composto da facce complesse
* ISO 10303-509 Manifold surface, un'area non intersecata in 3D composta da facce complesse
* ISO 10303-521 Manifold subsurface, una sub-area oltre la superficie manifold
* ISO 10303-508 Non-manifold surface, qualsiasi tipo di modifiche avanzate della superficie
* ISO 10303-513 Elementary boundary representation simile a ISO 10303-514, ma limitato solo alle superfici elementari
* ISO 10303-512 Faceted boundary representation un modello semplificato di superficie costruita solo con superfici piane

## Creazione di oggetti

La definizione delle istanze grafiche possono essere: nodo, bordo, faccia (inglese: vertex, edge, face) luogo. La geometria è determinata dalle coordinate dei punti. La topologia, ossia i rapporti fra i punti, descrive bordi e superfici. I bordi referenziati di questo esempio sono dei punti di riferimento su bordi e superfici.

### Esempio

L'esempio è riferito a un tetraedro costruito graficamente. La memorizzazione delle informazioni è fatto con un modello di database relazionale. La descrizione dell'oggetto può essere fatta in molti modi. Qui ci sono tre liste da definire:
* Lista nodi, che contiene le coordinate dei punti,
* Lista bordi (edge), che per ogni lato fa riferimento a due punti, e
* Lista aree, che per ogni area è definita da una sequenza chiusa di spigoli.
Per chiarire, è il senso di rotazione della sequenza dei bordi che definisce, la superficie è, per esempio, B; sinistra di esso, così specificata. Così è possibile in 2D, descrivere il verso dei fori opposti. In 3D è determinata in modo che sia la destra la superficie normale che, a sua volta, stabilisce il 'lato' che può essere usato. Va osservato, che quello che viene valutato non è l'ordine dei punti, ma i bordi.
Lista nodi :
| Nodo numero | x | y | z |
| 1 | 2 | -2 | 0 |
| 2 | -2 | 2 | 0 |
| 3 | 2 | 2 | 4 |
| 4 | -2 | -2 | 4 |
Lista bordi (edge) :
| Edge | Nodo numero 1 | Nodo numero 2 |
| 1 | 1 | 2 |
| 2 | 2 | 3 |
| 3 | 1 | 3 |
| 4 | 1 | 4 |
| 5 | 2 | 4 |
| 6 | 3 | 4 |
lista aree :
| Area | Sequenza di archi (Edge 1, Edge 2, …) |
| 1 | 1 2 3 |
| 2 | 3 6 4 |
| 3 | 2 5 6 |
| 4 | 1 4 5 |
Se si vuole descrivere un modello di volume, c'è bisogno di una quarta tabella, che enumera tutte le aree circostanti. L'utente ha bisogno - come la modellazione solida di cui si è detto sopra - di assicurare, il fatto che il sotto-campi racchiudono il volume completamente e senza che rimangano differenze (vuoti). La voce della colonna "Orientamento" setta se i vertici normali della prima superficie del volume, indicati nella lista delle superfici e dei limiti, sono mostrati all'interno o fuori del volume. Come nel 2D, per le superfici possono essere modellati i fori in esso presenti.
Lista volumi :
| Volume numero | Orientamento | Limiti dei bordi (Area 1, Area 2, …) |
| 1 | 1 | 1 2 3 4 |

## Evoluzione e confronto dei formati

Nonostante STEP abbia avuto molto successo, rimane ancora il problema della velocità dello sviluppo e dell'impiego. Molti critici mettono in evidenza che gli standard XML per il commercio su Internet si stanno sviluppando molto più velocemente.
Fondamentalmente, i dati dei prodotti sono molto diversi dai dati del commercio su internet come anticipi, saldi ecc. Il metodo tradizionale per comunicare le informazioni sui dati dei prodotti è creare un abbozzo ma, per comunicare un anticipo, il metodo tradizionale è creare un modello. Le informazioni degli abbozzi sono molto più complicate e articolate, è ciò rende STEP molto più difficile da sviluppare.
È in corso lo sviluppo di un formato XML per condividere con STEP i dati dei prodotti. Ma STEP divide i dati originali in entità multiple che non sono facili da capire per XML o per qualunque altro formato. L'obiettivo finale è che STEP crei automaticamente un documento XML.
Ogni protocollo di applicazione include un diagramma che descriva le funzioni che un ingegnere deve tener conto per perseguire il suo scopo e un modello di requisito di Applicazione che descriva le informazioni richieste da tali attività.
Queste richieste di informazioni vengono poi inserite in una serie comune di risorse integrate e il risultato è un modello di scambio di dati adatti allo scopo. L'obiettivo ultimo di Step è spiegare l'intero ciclo vitale di ogni tipo di prodotto, dalla progettazione concettuale al risultato finale. In ogni caso ci vorranno degli anni prima che questo obiettivo venga raggiunto.
B-Rep non è molto adatto per modelli di grandi dimensioni.
Oggi il vantaggio più tangibile per chi usa Step è l'abilità di scambiare dati di progetto come modelli solidi o modelli solidi articolati. Altri standard per lo scambio dei dati, come la più nuova versione di IGES, supportano lo scambio di materiali solidi, sebbene in minor parte secondo www.steptools.com.

## Pubblicazioni

Ulteriori informazioni sulla Boundary Representation sono disponibili nei seguenti testi in vari formati tipografici:
* Christoph Martin Hoffmann: Geometric & Solid Modeling, Morgan Kaufmann Publishers, San Mateo, California, Gennaio 1989, ISBN 1-55860-067-1
* Marti Mäntylä: "An Introduction to Solid Modeling", Computer Science Press, ISBN 0-88175-108-1, 1988.
* H. Chiyokura: "Solid Modelling with DESIGNBASE", Addison-Wesley Publishing Company, ISBN 0-201-19245-4, 1988.
* Ian Stroud: "Boundary Representation Modelling Techniques, Springer, ISBN 1-84628-312-4, 2006