pattern-driven mapping from architectural plans to solid

6
Pattern-driven mapping from architectural plans to solid models of buildings Alberto Paoluzzi Giorgio Scorzelli Laboratorio CAD & PLM Dipartimento Informatica e Automazione Universit` a Roma Tre Via della Vasca navale 79, I-00146 Roma, Italy {paoluzzi,scorzell}@dia.uniroma3.it Abstract For the aim of producing geometric models of critical in- frastructures (e.g., governamental assets, nuclear plants, air- ports, railway and metro stations, hospitals, etc.) where var- ious security tools and control systems may be easily inte- grated, we discuss here a fast and inexpensive construction of digital models of complex buildings and infrastructures from line drawings of architectural plans, the only geomet- ric information widely available. The paradigmatic refer- ence is to PLM (Product Lifecycle Management), where geometric information provides the exchange/collaboration layer among all business data and departments. Our algo- rithmic approach is centered on the generation of BSP (Bi- nary Space Partition) models of buildings from architec- tural plans, through automatic translation into a symbolic intermediate geometric language, whereas detailed repre- sentations of whatever infrastructure portions are generated at run-time by a streaming data-flow process well-suited for implementation on the Cell BE architecture. Keywords VR platform, critical infrastructures, protec- tion and security, solid modeling, building reconstruction. 1 Introduction We are developing a VR (Virtual Reality) platform, named MOSIC (MOdeling Security of Critical Infrastructures), to make fast and inexpensive the 3D reconstruction of build- ings from 2D architectural drawings. Such 3D building models are used as the information integration layer for dis- parate, and loosely coupled, sensor and security software systems. In particular, the objective of the present work is to dis- cuss a geometric modeling approach that allows the semi- automatic reconstruction of multi-floor buildings starting from 2D design plans. Therefore, the aim of this paper is to discuss a fast reconstruction of 3D models of critical infras- tructures from line-drawings of architectural plans, using symbolic methods and geometric data structures like BSP (Binary Space Partition) trees. The run-time evaluation of the submodels of building portions interested to each pro- tection procedure or training simulation will provide the VR scene to be used for training of security forces and for solu- tion of crises at the operation and control centre. The generation of models of complex buildings from plants is a difficult and largely unsolved [9] inverse prob- lem. The difficulty of the reconstruction problem of 3D buildings from architectural plans is confirmed by the rar- ity of scientific literature on the topic (see [8, 16, 9, 17, 7]), as well as by the extreme scarcity of successful projects for detailed virtual reconstruction of actual complex buildings, when the required detail scales at the dimension of the sin- gle constructive element or the furniture element of the sin- gle room, and not at the urban landscape scale. The only significant example we are aware of concerns a 2003 project of virtual reconstruction of the MIT campus, where no more than some web documentation [17] seems to be available. For the development of the project discussed here, we capitalize on a novel parallel framework [3, 15] for high- performance solid and geometric modeling, that (i) com- piles the generating expression of the model into a dataflow network of concurrent threads, and (ii) splits the model into fragments to be distributed to computational nodes and gen- erated independently. The approach is well suited to Cell- BE (Broadband Engine) implementation, that someone be- lieves the reference architecture for advanced imaging, mod- eling and simulation of next decades. 2 Interpretation and 3D mapping of plants Our approach is centered about the generation of BSP (Bi- nary Space Partition) models of buildings from architectural plans. In particular it can be summarized as follows. First of all, input Autocad files with line-drawings of 2D architectural plants are transformed into double interval trees, to efficiently answer interactive proximity queries. Then semantics is assigned to small line subsets, via pattern-based recognition of the components of building fab- ric (internal partitions, external enclosures, vertical com- munication elements etc), and with subsequent translation into symbolic generating forms of the geometric language PLaSM [14, 13, 12, 5]. Later, the evaluation of symbolic scripts may produce either streaming solid models [15] or adjacency graphs of the critical infrastructure as a whole or of parts of the build-

Upload: others

Post on 26-Nov-2021

2 views

Category:

Documents


0 download

TRANSCRIPT

Pattern-driven mapping from architectural plansto solid models of buildings

Alberto Paoluzzi Giorgio ScorzelliLaboratorio CAD & PLM

Dipartimento Informatica e AutomazioneUniversita Roma Tre

Via della Vasca navale 79, I-00146 Roma, Italy{paoluzzi,scorzell}@dia.uniroma3.it

AbstractFor the aim of producing geometric models of critical in-frastructures (e.g., governamental assets, nuclear plants, air-ports, railway and metro stations, hospitals, etc.) where var-ious security tools and control systems may be easily inte-grated, we discuss here a fast and inexpensive constructionof digital models of complex buildings and infrastructuresfrom line drawings of architectural plans, the only geomet-ric information widely available. The paradigmatic refer-ence is to PLM (Product Lifecycle Management), wheregeometric information provides the exchange/collaborationlayer among all business data and departments. Our algo-rithmic approach is centered on the generation of BSP (Bi-nary Space Partition) models of buildings from architec-tural plans, through automatic translation into a symbolicintermediate geometric language, whereas detailed repre-sentations of whatever infrastructure portions are generatedat run-time by a streaming data-flow process well-suited forimplementation on the Cell BE architecture.

Keywords VR platform, critical infrastructures, protec-tion and security, solid modeling, building reconstruction.

1 IntroductionWe are developing a VR (Virtual Reality) platform, namedMOSIC (MOdeling Security of Critical Infrastructures), tomake fast and inexpensive the 3D reconstruction of build-ings from 2D architectural drawings. Such 3D buildingmodels are used as the information integration layer for dis-parate, and loosely coupled, sensor and security softwaresystems.

In particular, the objective of the present work is to dis-cuss a geometric modeling approach that allows the semi-automatic reconstruction of multi-floor buildings startingfrom 2D design plans. Therefore, the aim of this paper is todiscuss a fast reconstruction of 3D models of critical infras-tructures from line-drawings of architectural plans, usingsymbolic methods and geometric data structures like BSP(Binary Space Partition) trees. The run-time evaluation ofthe submodels of building portions interested to each pro-tection procedure or training simulation will provide the VR

scene to be used for training of security forces and for solu-tion of crises at the operation and control centre.

The generation of models of complex buildings fromplants is a difficult and largely unsolved [9] inverse prob-lem. The difficulty of the reconstruction problem of 3Dbuildings from architectural plans is confirmed by the rar-ity of scientific literature on the topic (see [8, 16, 9, 17, 7]),as well as by the extreme scarcity of successful projects fordetailed virtual reconstruction of actual complex buildings,when the required detail scales at the dimension of the sin-gle constructive element or the furniture element of the sin-gle room, and not at the urban landscape scale. The onlysignificant example we are aware of concerns a 2003 projectof virtual reconstruction of the MIT campus, where no morethan some web documentation [17] seems to be available.

For the development of the project discussed here, wecapitalize on a novel parallel framework [3, 15] for high-performance solid and geometric modeling, that (i) com-piles the generating expression of the model into a dataflownetwork of concurrent threads, and (ii) splits the model intofragments to be distributed to computational nodes and gen-erated independently. The approach is well suited to Cell-BE (Broadband Engine) implementation, that someone be-lieves the reference architecture for advanced imaging, mod-eling and simulation of next decades.

2 Interpretation and 3D mapping of plantsOur approach is centered about the generation of BSP (Bi-nary Space Partition) models of buildings from architecturalplans. In particular it can be summarized as follows.

First of all, input Autocad files with line-drawings of2D architectural plants are transformed into double intervaltrees, to efficiently answer interactive proximity queries.

Then semantics is assigned to small line subsets, viapattern-based recognition of the components of building fab-ric (internal partitions, external enclosures, vertical com-munication elements etc), and with subsequent translationinto symbolic generating forms of the geometric languagePLaSM [14, 13, 12, 5].

Later, the evaluation of symbolic scripts may produceeither streaming solid models [15] or adjacency graphs ofthe critical infrastructure as a whole or of parts of the build-

Figure 1: (a) Interior view of the first floor of a recon-structed building; (b) interior view of forth floor; (c) vectorgraphics (AutoCAD .dwg format) of 2D input architecturalplans: first floor; (c) fourth floor; (d) external view formnorth-east; (e) external view form south-east.

ing that are interested to some specific security or protectionprocedure;

Finally, control sensor systems, as well as protection andsecurity systems, are integrated on this geometric frame-work, where security procedures and training may be mod-eled, tested and operated using VR tools and methods.

2.1 Data structuresThe generation of complex geometric models is implemen-ted as a computational framework of pipelined processesthat progress concurrently, so that coarse approximations ofthe final value are obtained nearly instantly, long before theinput operands are fully processed [15]. This framework al-lows for (a) progressive generation of both complex partsand large-scale assemblies, and (b) adaptive on-demand re-finement. It relies on two components: BSP trees, and thekind of solid meshes known as polytopal complexes. Threegeometric data structures, namely (a) segment-trees, (b) Bi-nary Space Partition (BSP) trees, and (c) Hasse graphs ofthe containment relation between the k-cells of a d-dimen-sional mesh (0 ≤ k ≤ d) are used in the MOSIC platform.

Segment-trees A segment tree is a binary search treefor a given set of coordinates. The set of coordinates isdefined by the endpoints of the input line segments. Anytwo adjacent coordinates build an elementary interval. Ev-ery leaf corresponds to an elementary interval. Inner nodescorrespond to the union of the subtree intervals of the node.Each node v contains a container type (or a list, if it is one-dimensional) that will contain all intervals L, such that L

contains the interval of v but not the interval of the parentof v. 2D segment trees are used in MOSIC to efficientlyanswer proximity queries about drawing lines that partiallyoverlap or are contained in a given 2-dimensional interval.

BSP trees Binary Space Partition (BSP) is a method [10]for recursively subdividing a space into convex sets by hy-perplanes, i.e. by affine sets of codimension 1. This subdivi-sion gives rise to a representation of the scene by means of atree data structure known as BSP tree. This one is a binarytree with partitioning hyperplanes in the inner nodes andwith either IN or OUT labels in the leafs. A solid cell of thespace partition is labeled IN; an empty cell is labeled OUT.A node of a BSP tree represents the convex set generatedby the intersection of all the subspaces on the unique pathfrom the node to the root. The convex set of a node equalsthe disjoint union of the convex sets associated to its childnodes. BSP trees are largely used in graphics and compu-tational geometry applications as gaming and robotics. Re-cently they were adopted [11] for the highly efficient newgeometric kernel of the PLaSM language. In particular, theyare used to represent the polyhedral cells of the HPC (Hi-erarchical Polyhedral Complex) data structure [12] used bythe language.

Figure 2: (a) space partition by hyperplanes; (b) corre-sponding progressive BSP tree, whose nodes corrspond tohyperplanes and subtrees correspond to subspaces; (c) parti-tion of a 2D cell (a triangle, in this case) with an hyperplane;(d) Hasse diagram of the induced polytopal cell complex.

Hasse diagrams A cell complex K is a collection ofcompacts subsets of Ed, called cells, such that: (a) if c ∈ K,then every face of c is in K; (b) the intersection of any twocells is either empty or a face of both. A d-polytope is asolid, convex and bounded subset of Ed. A polytopal d-complex, or d-mesh, is a cell complex of d-polytopes andtheir k-faces (0 ≤ k ≤ d). A complete representation ofa d-mesh is given by its Hasse diagram, the directed graphof the cover relation of cells, whose nodes are the membersof the complex K, partially ordered by containment, andwhere there is an arc from node x to node y iff: (a) x ⊂ yand (b) there is no z such that x ⊂ z ⊂ y. In this case,

we say y covers x, or y is an immediate successor of x.Hasse diagrams are used in the PLaSM kernel as completerepresentation of the topology of K, that cannot be handledefficiently by BSP trees.

Figure 3: Ray-traced images of the reconstructed building.

2.2 Pattern-driven interpretation of 2D plansThe architectural plants in dwg format of the building arefirst transformed into a 2D interval tree associated to thetwo sets of coordinates of lines of the plant, supposed com-pletely lacking of topology and semantics information. Aniterative process of proximity query, semantics assignmentand pattern maching with automatic PLaSM coding is thenstarted by the operator, with the aim of semi-automaticallyidentify all the plant components with a specified meaningin the building fabric. All the recognized patterns are trans-lated into a parameterized generative symbolic form, addedto the scripted 3D model, and deleted from the interval treeand from the operator display of the 2D plant, while appear-ing in the 3D model view for visual validation. The processof pattern identification, pattern matching, symbolic trans-lation, and deletion, repeats until all the significant plantelement are identified, translated and removed.

2.2.1 Interpretation of DWG dataWe are using the OpenDWG C++ libreries developed bythe Open Design Alliance, to read and interpret the inputdrawing files, according to open industry-standard formatsfor Computer-aided design (CAD). When parsing the inputdata, most item types are just skipped over, including mostlayers of related information. CAD layer names are struc-tured as series of mandatory and optional fixed length fields,

composed as continuous alpha-numerical strings, accordingto ISO 13567, the international CAD layer standard.

2.2.2 Pattern identification and matchingAn interaction widget is used to fast select a subset of 2Dline drawings to be associated with a generating form pickedfrom a contextual menu organized by building subsystem.The selected set of lines is highlighted for visual approval,and elected as the reference pattern for the chosen gener-ating form. Next, the textual parameters of the generat-ing form are displayed for the sake of documentation, andeach of them is either associated by the user to one of thepattern lines or receives a textual value as actual parame-ter. Then a specialized agent explores the data structures(the segment trees) associated to the various drawings forsmart pattern matching, i.e. looking for patterns with sametopology and/or same numeric measures (depending on thegenerating form). For each match the generating form isautomagically instanciated, the resulting expression is eval-uated and the generated 3D geometric value is displayed inthe context of the other geometry generated by the samedrawing, for visual validation by the user. Finally, the set ofrecognized and translated patterns is removed from both thedisplay list and from its segment-tree representation. Eachgenerated expression is named according to standard nam-ing conventions from the UniClass NBS standard describedbelow, and added to the generated PLaSM source output.The interactive (a) symbol identification, (b) pattern match-ing and (c) symbolic translation process will continue un-til all the significant patterns are removed from the sourcedrawings.

2.2.3 PLaSM generating functionsIn order to give a synthetic picture of the symbolic trans-lation process, we discuss here some of the PLaSM func-tions used by the translation process. The top-level classi-fication of the generative functions may be assembled ac-cording to the semantics of the building fabric subsystems.We therefore distinguish between (a) structure, (b) verticalenclosures, (c) horizontal enclosures, (d) internal partitionsand (e) vertical communication elements. More in general,the classification of both spaces (Table F) and elements forbuilding (Table G) of the Unified Classification for the Con-struction Industry (UniClass), published in 1997 in UK byNational Building Specification (NBS) may be used to clas-sify the generating functions in compliance with the seman-tics of the generated submodels.

2.2.4 Work breakdown structureThe building frame is decomposed into beams and pillars(the foundations are not considered here). Both are gen-erated floor-wise, and repeated at different floors, possiblyafter elimination of some elements. Two main strategiesfor pillar locations may be chosen, depending on their reg-ularity. Individual pillar location works by standard pat-tern matching, by looking for the simple patterns of pillarboundary lines; grid-based pillar location works by setting

the local origins of a lattice of pillars by Cartesian productof lateral dimensions, followed by instancing the pillar ele-ments to be repeated at grid positions. Incomplete grids ofpillars are easy to setup by exploiting the intrinsic indexingof elements induced by the Cartesian product. Beams areeither generated by pattern matching of collinear lines, ifavailable in the drawings, or by Cartesian product of threesets of dimensions, after some smart manipulation of thesigned lateral dimensions of a grid of pillars. The Cartesianproduct of point-sets [4] is one of the most powerful opera-tors in the language, and greatly contributes to its awesomegeometric expressive power. Horizontal enclosures (floorsegments) are generated using another basic operation ofthe PLaSM language, i.e. as join of beam subsets, wherethe join of point-sets is defined as their convex hull. Eachvertical communication element, i.e. either a ramp or a stairor an elevator, is generated by choosing the appropriate gen-erating function (in a specialized library), and instancing itwith actual parameters, derived automatically by the draw-ing area selected by the operator as research pattern for thecommunication element.

Stair example The full code of a generating functionfor a double-ramp stair is shown below. The code con-tains the design knowledge necessary to generate a well-engineered stair when a reasonable volume for it is allo-cated, and includes the standard linear constraint relation-ship between step height and step width in meters.

Four real parameters, namely dx,dy,dz,dx1 must beinstanced at each function application. Dx,dy are the rect-angular sizes of the pattern area, dz is the inter-floor heightdifference, dx1 is the width of the landing light. Q is aprimitive operator that transforms either a number or a se-quence of numbers into a 1D cell complex. The operationsymbol * is strongly overloaded in the language, and rep-resents either a product of numbers, or a Cartesian productof point sets, or a product of functions. The reader is re-ferred to the online tutorial [14] for the very simple PLaSMsyntax.

DEF s t a i r ( dx , dy , dz , dx1 : : isrealpos ) = STRUCT:<wal l , l a n d i n g 1 , l a n d i n g 3 , T : 1 : dx1 , f l i g h t ,f l i g h t 2 , T:<1,3>:<dx2 , dz/2>, l a n d i n g 2 >

WHEREn s t e p h = FLOOR : ( ( dz/2) / 0 . 1 6 ) ,n s t e p w = n s t e p h - 1 ,s t e p h e i g h t = ( dz/2) / n s t e p h ,s t e p w i d t h = 0 . 6 5 - 2 * s t e p h e i g h t ,dx2 = n s t e p w * s t e p w i d t h ,dx3 = dx - dx1 - dx2 ,s t e p = S : 3 : -1 :

(q : s t e p w i d t h * q : ( dy/2) * q : 0 . 0 5 ) ,u n d e r s t e p = T : 3 : - 0 . 0 5 :

(q : 0 . 0 5 * q : ( dy/2) * q : s t e p h e i g h t ) ,f l i g h t = (STRUCT ∼ ## : n s t e p w ) : <

u n d e r s t e p , T : 3 : s t e p h e i g h t ,s t e p , T : 1 : s t e p w i d t h >,

f l i g h t 2 = (T:<1 ,2 ,3>:<dx2 , dy/2 , dz/2>∼S : 1 : -1) :f l i g h t ,

l a n d i n g 1 = S : 3 : -1 : (q : dx1 * q : dy * q : 0 . 2 ) ,l a n d i n g 2 = S : 3 : -1 : (q : dx3 * q : dy * q : 0 . 2 ) ,l a n d i n g 3 = T : 3 : dz : l a n d i n g 1 ,w a l l = T:<1,2>:<dx1 , dy/2 - 0.05 > :

(q : dx2 * q : 0 . 1 * q : dz )END ;DEF b a s e m e n t s t a i r = s t a i r :< 6 . 9 5 , 3 . 5 8 , 3 , 2 . 6 5 >;

Two images of the solid model produced by the evalua-tion of the basement stair symbol is given in Figure 4.

Figure 4: Two views of the solid stair model generated byapplication of the stair generating function on the actualparameter sequence < 6.95, 3.58, 3, 2.65 >

2.2.5 RemarksIt may be useful to notice that the output 3D generativesource code is between two and three orders of magnitudesmaller than the corresponding 2D dwg files. For instance,the building model shown in Figures 1 and 3 is scripted bya PLaSM source of 36 KB, including a lot of comments,whereas its production started from a quadruple of dwg filessumming-up to about 4 MB. The translation process willimprove and get faster as more as the system is used, and asmore as the library of parametrized generative macros getsbigger.

2.3 PLaSM scriptingPLaSM, (the Programming LAnguage for Solid Modeling)is a design language, developed by the CAD Group at theUniversity “Roma Tre” and previously at the University ofRome “La Sapienza”. The language is strongly influencedby FL (programming at Function Level), an advanced ap-proach to functional programming [2, 1] developed by the

Functional Programming Group leaded by John Backus andJohn Williams at the IBM Research Division in Almaden(California) in the first nineties.

PLaSM can be seen as a geometric extension of FL, al-lowing for a powerful algebraic calculus with dimension-independent geometric objects, that include polyhedral com-plexes and parametric polynomial and rational manifolds(curves, surfaces, curved solids, and higher-dimensional ob-jects). The language is a natural environment for geometriccomputations, where a complex shape is generated as an as-sembly of component shapes, highly dependent from eachother, and where (a) each part may result from computationswith other parts, (b) a generating function is associated toeach, (c) geometric expressions may appear as actual pa-rameters.

Language basics Every PLaSM program is a func-tion. When applied to some input argument, a program pro-duces some output value. Two programs are usually con-nected by using functional composition, so that the outputof the first program is used as input to the second program.According to the FL semantics, an arbitrary PLaSM scriptcan be written by using only three programming constructs:

application of a function to the actual value of its inputparameters, elements of the function domain, produc-ing the corresponding output value in the function co-domain;

composition of two or more functions allowing the pipe-lined execution of their ordered sequence;

construction of a vector function allowing the parallel ex-ecution of its component functions.

The language provides the full power of a Turing-completeprogramming language (with support for conditional, recur-sion, higher-level functional abstraction, etc.) while beinggeometry-oriented, with dimension-independent geometricprimitives and operators, allowing very terse definitions ofhighly complex models. The generated objects and assem-blies can then be exported in several formats and renderedby a VRML browser or imported into Java3D applications.

Platform tools Furthermore, the language is multidi-mensional by design, and this choice greatly increases itsexpressive power. PLaSM may currently export in VRML1,OpenInventor, VRML2, XML, and PovRay formats. Sev-eral multi-platform tools are available for PLaSM program-ming, including an easy-to-use Integrated Development En-vironment (Xplode), a functionally equivalent IDE pluginfor an industrial-strength open development platform (E-clipse [6]), a large set of libraries for dimension-independentgeometric modeling, documented in the book [12] publishedby Wiley, a visual programming framework based on onlytwo graphical tokens, and producing high-level executablecode (Visual PLaSM). Support is also given for Knuth’s Lit-erate Programming with LaTeX (via the listings package).

AcknowledgementsOne of the authors (A.P.) would like to acknowledge theeducation to component-based building design received byhis mentors Gianfranco Carrara and Enrico Mandolesi infirst graduate years at the Architecture and Town PlanningInstitute of the University of Rome “La Sapienza”. Theirunique view of the building product as a Work BreakdownStructure motivated most of the research that produced thePLaSM language.

REFERENCES

[1] Alexander Aiken, John H. Williams, and Edward L.Wimmers. The FL project: The design of a functionallanguage, 1991. Unpublished report.

[2] John Backus, John H. Williams, and Edward L. Wim-mers. An introduction to the programming lan-guage FL. In Research topics in functional pro-gramming, pages 219–247. Addison-Wesley Long-man Publ., Boston, MA, USA, 1990.

[3] C. Bajaj, A. Paoluzzi, and G. Scorzelli. Progressiveconversion from B-rep to BSP for streaming geometricmodeling. Computer-Aided Design and Applications,3(5 (6)), 2006. Preliminary version in CAD06, June19-23, Phuket Island, Thailand (Best paper award).

[4] F. Bernardini, V. Ferrucci, A. Paoluzzi, and V. Pas-cucci. Product operator on cell complexes. In ACMSMA ’93: Proceedings of the Second ACM Sympo-sium on Solid Modeling and Applications, pages 43–52. ACM Press, 1993.

[5] Jonathan R. Corney. A PLaSM Primer: Geo-metric Programming for Computer-Aided Design.Computer-Aided Design, 36(13):1421–1422, 2004.

[6] Steve Holzner. Eclipse. O’Reilly Media, 2004.

[7] Richard J. Howarth. Spatial models for wide-area vi-sual surveillance: Computational approaches and spa-tial building-blocks. Artif. Intell. Rev., 23(2):97–155,2005.

[8] Rick Lewis. Generating three-dimensional build-ing models from two-dimensional architectural plan.Technical Report UCB/CSD-96-902, University ofCalifornia, Berkeley, 1996.

[9] Rick Lewis and Carlo H. Sequin. Generation of3D building models from 2D architectural plans.Computer-Aided Design, 30(10):765–779, 1998.

[10] Bruce Naylor, John Amanatides, and WilliamThibault. Merging BSP trees yields polyhedral set op-erations. In SIGGRAPH ’90: Proceedings of the 17thannual conference on Computer graphics and interac-tive techniques, pages 115–124, New York, NY, USA,1990. ACM Press.

[11] A. Paoluzzi, V. Pascucci, and G. Scorzelli. Progres-sive dimension-independent Boolean operations. InSM ’04: Proceedings of the ninth ACM symposium

on Solid modeling and applications, pages 203–211,Aire-la-Ville, Switzerland, Switzerland, 2004.

[12] Alberto Paoluzzi. Geometric Programming for Com-puter Aided Design. John Wiley & Sons, 2003.

[13] Alberto Paoluzzi, Valerio Pascucci, and Michele Vi-centino. Geometric programming: a programmingapproach to geometric design. ACM Trans. Graph.,14(3):266–306, 1995.

[14] PLaSM. Web pages. http://www.plasm.net.

[15] G. Scorzelli, A. Paoluzzi, and V. Pascucci. Parallelsolid modeling using BSP dataflow. Journal of Com-putational Geometry and Applications, 2007.

[16] Clifford So, George Baciu, and Hanqiu Sun. Recon-struction of 3D virtual buildings from 2D architecturalfloor plans. In VRST ’98: Proceedings of the ACMsymposium on Virtual reality software and technology,pages 17–23, New York, NY, USA, 1998. ACM Press.

[17] Seth Teller. MIT building model generation (BMG)project. http://city.csail.mit.edu/bmg/, 2003.