GB2441352A - 3D document generator - Google Patents

3D document generator Download PDF

Info

Publication number
GB2441352A
GB2441352A GB0617294A GB0617294A GB2441352A GB 2441352 A GB2441352 A GB 2441352A GB 0617294 A GB0617294 A GB 0617294A GB 0617294 A GB0617294 A GB 0617294A GB 2441352 A GB2441352 A GB 2441352A
Authority
GB
United Kingdom
Prior art keywords
data
document generator
document
documents
pdf
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
GB0617294A
Other versions
GB0617294D0 (en
Inventor
Ian J Curington
Prashanth N Udupa
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Visual Technology Services Ltd
Original Assignee
Visual Technology Services Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Visual Technology Services Ltd filed Critical Visual Technology Services Ltd
Priority to GB0617294A priority Critical patent/GB2441352A/en
Publication of GB0617294D0 publication Critical patent/GB0617294D0/en
Priority to PCT/GB2007/050497 priority patent/WO2008026003A2/en
Publication of GB2441352A publication Critical patent/GB2441352A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/186Templates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Processing Or Creating Images (AREA)
  • Document Processing Apparatus (AREA)

Abstract

Disclosed is a 3D document generator 405 for technical data publishing, reporting and 3D PDF file generation. The 3D document generator comprises a plurality of data connection processes configured to accept 3D data from host application(s) 200 by various methods. The generator is configured for re-use within multiple distinct host applications, producing PDF format output containing embedded 3D content, without intermediate 3D data files.

Description

<p>I</p>
<p>3D Document Generator The present invention relates to the generation of documents containing 3D interactive content. More particularly it relates to the generation of PDF (portable document format) documents by means of a re-usable toolkit allowing various host applications containing 3D data to export that data in 3D PDF document format, suitable for distribution to recipients by file or network.</p>
<p>The generation, publication and distribution of information in PDF document format is well-known. The document format is the subject of standardisation efforts, with the currently published specification at PDF version 1.6 and is supported by many companies, most notably Adobe inc., who distribute the Adobe Reader for browsing and viewing PDF content.</p>
<p>The "3D Industry Forum" (3DIF) initiative involving Intel Inc., Adobe Inc. and others has led to the definition of a Universal 3D standard (U3D) which is now the subject of the published ECMA-363 standard specification (see references below).</p>
<p>U3D is a specification for downstream 3D CAD re-purposing and visualization. The syntax and semantics of U3D is the generic core of this specification and allows the development of implementations to read, write, visualize and share U3D files.</p>
<p>However, it is a complex specification and covers many low-level details of abstract data structures and attributes. The specification exceeds the technical complexity of many current 3D applications, scene-trees or 3D technical data sources. It should be noted that the U3D standard specifies geometry compression including Continuous level of detail (CLOD) methods.</p>
<p>Adobe inc. has published a specification for PDF version 1.6 (see references below) which allows for the possibility of 3D content embedding within a document.</p>
<p>In addition, Adobe Inc. now distributes the Adobe Reader version 7 which includes support for browsing and viewing PDF files which include embedded 3D content in U3D format. Recipients of such 3D PDF files may view them in the Adobe Reader, with enhanced interactivity including zoom magnification, smooth panning (left, right, up, down) and full 3D rotation under mouse control. However the Adobe Reader is unable to view U3D files directly as the content must first be embedded into PDF format by an authoring system.</p>
<p>Adobe Inc. have released an application product entitled "Acrobat 3D" which allows import of 3D content in U3D file format and subsequent generation of PDF file output with embedded 3D content suitable for viewing with the Adobe Reader. Several other companies offer comparable applications providing import of U3D files and export of PDF files with 3D content. While the Acrobat 3D application allows editing of view placement and general scene attributes, it does not allow generation, specification or editing of actual 3D geometry; they must be imported from external geometry sources.</p>
<p>To encourage support of the U3D specification, Intel Inc. have released an open source library which allows software developers to generate U3D file content, as a sample implementation of the ECMA-363 standard specification, including continuous level of detail (CLOD) geometric compression techniques. The sample implementation provides a complex input data specification, where many technical details must be satisfied within the generation layer to create U3D output.</p>
<p>To support generation of PDF files from within host applications or other systems, a wide variety of software libraries, software development kits (SDKs), printer drivers or conversion utilities are commercially available or available in open source to generate 2D text and graphics content, including the Adobe PDF Library software development kit (SDK).</p>
<p>Author(s) of applications which include or process 3D data are faced with significant complexity and development effort to create 3D PDF content. As the specifications for both U3D and PDF are published, new software may be written following these specifications, with considerable effort. Various practical issues also arise due to the Adobe Reader only supporting a subset of the U3D specification.</p>
<p>Some author(s) may chose to adopt the U3D sample implementation from Intel. Here significant development effort must be made to transform native 3D data content into the required input structures for the U3D sample implementation library. This step then allows generation of U3D files, not PDF files. A further step is then required by the author(s) to embed U3D content into PDF format documents using another software library or utility application.</p>
<p>It is appreciated that existing applications exhibit a very wide range of internal designs, data Structures and software architecture. Some examples of this range of possible architectures are the Visualization Tool Kit (VTK), AVS/Express from Advanced Visual Systems Inc. (AVS), Open Scene Graph (OSG). Each of these contain distinct 3D data structures, distinct internal architectures, such that internal methods for exporting 3D data to PDF require distinct solutions. In some applications the appropriate place to source 3D data is at the raw computational mesh stage, while in others it is at the graphics scene-tree viewer output stage.</p>
<p>The initial U3D motivation has started with manufacturing and CAD applications. Increasingly there is a strong need for technical data publishing and reporting in other industries for complex 3D data. A prime example is in the Oil industry with complex 3D subsurface geological and geophysical data models where 3D surface, fault, borehole and measured data structures must be communicated in context. Traditionally such applications are only used interactively with reports produced on paper or large 2D image output formats. As the data structures inherent in geological applications differ significantly from manufacturing CAD, current data conversion tools either produce poor results or fail to provide appropriate data paths.</p>
<p>As a result, authors(s) of applications wishing to simply add a "save as 3D PDF" path into existing software are faced with a complex and large development effort.</p>
<p>It is an objective of the invention to address one or more of the disadvantages associated with existing methods faced by author(s) of applications.</p>
<p>The present invention was developed in response to the foregoing problems associated with 3D data publishing, reporting and 3D PDF file generation. The present invention introduces a 3D document generator with preferred embodiment as a re-usable software development toolkit (SDK) providing a direct path from host application 3D data to PDF output with 3D interactive content, allowing the addition of "save as 3D PDF" services within host applications with significantly less development effort than previously possible and eliminating the step of first creating a U3D file followed by a PDF embedding step. In particular the software development toolkit eliminates the need for separate U3D and PDF conversion phases, while automatically generating attributes where attributes may be unspecified or incomplete in the host application, and eliminating the requirement for intermediate files. In key respects the 3D document generator has an improved and novel connector process architecture which offers flexibility and efficiency benefits to application author(s).</p>
<p>According to a first aspect of the present invention the 3D document generator comprises several data connection processes, where each process is suitable for connection by a host application with particular input source data structure requirements, where each may or may not be connected while used within any given host application. With an implicit emphasis appropriate for 3D technical data sources, such data Structures contain geometric primitives including but not limited to vertices.</p>
<p>Such connection processes or "connectors" each have distinct data structures such that they may be used at the most appropriate place within a host application, simplifying integration tasks. The 3D document generator includes all services required to directly generate PDF format documents which include 3D embedded content. Such PDF content is most often, but not exclusively viewed using the Adobe Reader application.</p>
<p>Furthermore, this aspect provides a 3D document generator for use by host applications that directly generates 3D PDF content without any requirement for intermediate storage such as U3D files or other geometric model file formats. The preferred embodiment generates U3D content according to the ECMA-363 specification and/or the U3D content accepted by the Adobe Reader application as a practicality, but is not restricted to such 3D data specifications.</p>
<p>Further, by virtue of providing a set of connection services or "connectors", the 3D document generator is preferably packaged in a re-usable system that may be deployed and utilised in a wide variety of host applications. The 3D document generator provides a common platform that allows direct generation of 3D PDF content within applications with greatly simplified integration steps.</p>
<p>It is also possible to configure the 3D document generator to operate as a dynamic web reporting service. In this context it may be used in a Three-Tier web architecture, where web site reporting requests generate 3D PDF content which may be streamed to the recipient over a network. This example is described in more detail below and is illustrated in Figure 1.</p>
<p>According to a second aspect of the invention there is provided a process to associate animation or other dynamic behaviour scripts with embedded content in the generated 3D PDF output. Animation or any dynamic, time or event dependent changes to the 3D content may be specified in one of two principle ways. In the first, attribute modifier channels are associated with nodes within the 3D model structure.</p>
<p>These are available for play-back by the Adobe Reader or other viewing system. The second is the association of animation scripts external to 3D content, embedded and included within the 3D PDF generated output. Such scripts are introduced at the PDF stage of the generation process. Such animation scripts may control visibility, transformations, camera views, object rendering attributes, etc. A typical use of such scripts is the association of event buttons within the PDF document, where these events may cause execution of associated scripts. Such scripts may play animations involving geometric objects, lights, camera views, etc. Scripts are optional and may be absent for Static scenes. Several scripts may be embedded, for instance a simple object rotation plus exploded parts view animations. The default style of animation script currently employed by the Adobe Reader is a form of "Java Script", however the 3D document generator is primarily script independent.</p>
<p>According to a third aspect of the invention there is provided facility to process input data to the 3D document generator including geographically referenced numerical coordinate information, including but not limited to UTM latitude, longitude and elevation (or depth) information. Such data sources may be provided by host applications involving mapping, GPS, Geographic Information System (GIS) data, geological or geophysical field survey data, oceanographic, meteorological, environmental or other geo-spatial data context. In general geo-spatial data is processed with methods appropriate to produce content for interactive navigation and viewing by recipients without requiring intermediate file conversions or coordinate system conversions.</p>
<p>According to a fourth aspect of the invention there is provided input facilities for a wide range of geometric and scientific data, including coordinate lists, connectivity lists, points, lines, polygons, polyhedrons, triangle strips, meshes, cells, splines, surfaces, grids, adaptive mesh refinements, multi-block grids, voxels, normals, colors, color indexes, color look-up tables, textures, reflection maps, transformations, transparency, shaders, object hierarchies, hyperspectral colors, displacements or time-dependent attributes. The input data may be simply 3D coordinate vertices comprising X, Y, Z spatial locations with a connectivity list defining triangular polygons, or may be a 3D irregular computational mesh with numerical node or cell values. In the later case, the 3D document generator is configured to apply visualization interpretation operators, providing geometric objects appropriate for document output. An example of such visualization interpretation is where a 2D mesh with geographically referenced coordinates and associated temperature values are converted into a geometric mesh object with an attached texture map showing temperatures according to a color index.</p>
<p>The 3D document generator may comprise one or more of: software, hardware and firmware. In one embodiment the 3D document generator is implemented in software in the form of a software development kit (SDK) which includes a C++ library for re-use among a variety of host applications.</p>
<p>According to a fourth aspect of the invention there is provided conversion services within the 3D document generator to compress, reduce or simplify geometric objects, including generation of continuous level of detail (CLOD) structures, suitable for variable fidelity graphical presentation during rendering. The important feature of CLOD services is that it is not within the host application geometric view and rendering pipeline, nor is it within the view and rendering pipeline of the Adobe Reader, rather is an independent service which exists for the purpose of 3D document creation.</p>
<p>According to a fifth aspect of the present invention time-varying or 4D models may be processed and represented within the 3D document generator. For avoidance of doubt, 4D models are generally considered to include 3D models that vary over time.</p>
<p>This may be as trivial as a position or color change over time, or as significant as each time state having no characteristic shared (zero temporal coherence). In the later case the 3D document generator places individual nodes within the output hierarchy, where each node describes the State of the model at a point in time. In this way models may have varying number of coordinates, varying connectivity, changing polygons, changing coordinate positions, animated textures, and other dynamic attributes.</p>
<p>According to the degree of temporal coherence within the 4D model, either attribute modifier channels may be assigned, or animation scripts used to selectively present time-dependent model states to the document recipient.</p>
<p>According to a sixth aspect of the present invention model meta-data may be co-published along with 3D models. In many technical applications the 3D model alone is insufficient to communicate key information; context and meta-data must also be available. While 3D formats such as VRML have existed for many years, there has not been a convenient way to associate meta-data with such models. The PDF document structure is principally a text, image and 2D illustration rich publishing format and as such is ideally suited to meta-data. With the inclusion of 3D interactive content, both the 3D model and meta-data may be presented to the recipient on the same document page. Accordingly, the present invention provides a meta-data connector for the host application(s) for populating meta-data content within the generated output.</p>
<p>Various aspects of the invention can provide re-usable 3D document generator libraries, components, or plug-ins. Other aspects may form the basis of specialized applications or data conversion utility programs. The presence or absence of visible graphics within the host application is immaterial to the present invention, as it provides connection processes ("connectors") for both graphical and non-graphical portions of the host application architecture.</p>
<p>GLOSSARY OF TERMS</p>
<p>coordinate lists: spatial coordinates comprising x, x-y, or x-y-z positional values connectivity lists: primitive shapes defined by indexes into coordinate list points: individual atomic locations at a coordinate with optional data lines: collections of line segments defined by two or more points polygons: planar N-sided geometric shapes joining three or more points polyhedrons: 3D shapes enclosing volumetric regions with polygonal surfaces triangle strips: array of connected triangles with optimal connectivity scheme meshes: structured or unstructured collections of connected polygons or polyhedra, may be a polygon surface or a volumetric cells: 1D, 2D, or 3D primitives, with associated data splines: curved lines or surfaces in 2D or 3D space, such as NURBS, Catmull-Rom Splines or B-Splines surfaces: generally collections of connected planar primitives grids: structured 2D, 3D, 4D lattices including vertices and cells adaptive mesh refinements (AMR): hierarchical grid Structures with multiple levels multi-block grids: N instances of Grids, each with local Structure voxels: cuboid or hexahedral cells, normally in a 3D lattice, often uniform spacing with data associated with cells normals: surface normals, vector quantities pointing away from surface colors: RGB or Alpha-ROB color values (Red-Green-Blue) color indexes: indexes into a color system rather than explicit storage color look-up tables: Arrays of color values used by index systems textures: Monochrome or color images applied to geometric surfaces reflection maps: Texture-mapped images used for reflection or environment maps transformations: coordinate transformation matrices for rotation, scale, translate, shear, perspective or other geometric spatial operation transparency: variable opacity, allowing partial visibility of objects shaders: special surface shading rules, attributes or micro-programs object hierarchies: collections of objects into tree structure relationships hyper-spectral colors: Colors using multiple spectral bands rather than ROB displacements: Modifier vector values, often used to displace vertices time-dependent attributes: Multiple values associated with an object sampled over time, arrays of attributes, or rules governing when certain attributes apply time varying input data: Where host application(s) hold values which may vary over time, either in real-time from an external source such as a sensor, or historic or simulated time. When used in combination with 3D objects, may be referred to as 4D (four dimensions).</p>
<p>geometric compression: Reduction in the storage requirements of a geometric object or collection of objects. May be loss-less or lossy compression.</p>
<p>geometric reduction: Reduction in both storage requirements of a geometric object and complexity, such as reducing polygon count or reducing connectivity or vertices to achieve a reduction. Generally lossy compression.</p>
<p>level of detail simplification: The generation of reduced versions of a geometric object, where the appropriate version may be selected during display based on display rate or distance from viewer.</p>
<p>continuous level of detail processes: An optimisation of level of detail simplification, where instead of storing a fixed collection of various object resolutions, a continuously varying object fidelity is possible.</p>
<p>U3D: Universal 3D. This is a 3D model format described by the 3DIF organization.</p>
<p>PDF: Portable Document Format. This is a document format created by Adobe for describing documents that look the similar across all supported platforms and</p>
<p>contains 3D content specification.</p>
<p>Interface: A programming Construct that comprises of a abstract class.</p>
<p>Typically interfaces do not offer any predefined functionality; but they offer a predefined structure into which the functionality can be implemented.</p>
<p>Interfaces are implemented by the programmer to react when the system issues commands to the interface. Each interface is used by the library for a specific purpose.</p>
<p>API: Application Programming Interface, is a class method that has a predefined functionality.</p>
<p>Palettes: Palettes can be thought of as "register books" in U3D that contains the names of objects and pointers to them. Different types of objects are stored in different palettes.</p>
<p>For example there is a model resource palette, light resource palette, view resource palette, texture resource palette, shader resource palette etc. Each palette holds objects of a specific type; and objects can be accessed by their names.</p>
<p>This mechanism of storing objects is a substitute for the age-old reference counting mechanism of referencing objects. The palette mechanism decouples garbage collection from object usage because all objects are referenced via their object names and not direct pointers. Hence the question of reference counting does not arise here.</p>
<p>REFERENCES</p>
<p>Adobe Reader: http://www.adobe.com/products/acrobat/readstep2.html</p>
<p>PDF 1.6 Specification:</p>
<p>http://partners.adobe.com/public/devcloper/en/pdf/PDFReference 16.pdf 3DIF Organization: http://www.3dif.org/</p>
<p>ECMA-363 Specification:</p>
<p>http://www.ecma-international.orgJpublications/standards/Ecma..3o3htm U3D Sample Implementation: http://sourceforge.net/proj ects!u3d/</p>
<p>BRIEF DESCRIPTION OF THE DRAWINGS</p>
<p>Embodiments of the present invention will now be described, by way of example only, with reference to the accompanying drawings where like numerals refer to like parts and in which: Figure 1 shows a schematic representation of a three tier web reporting system, where internet web services allow users to receive dynamically generated 3D content; Figure 2 shows a schematic representation of the 3D document generator architecture and internal components; Figure 3 shows a schematic representation of public interfaces presented to the host application author(s) for management of the 3D document generation process; Figure 4 shows a schematic representation of 3D document generation system where host application data is converted using a public interface, where internal interfaces are used with interface exposure; Figure 5 shows a schematic representation of 3D model data structure showing scene graph and node relationships; Figure 6 shows a schematic representation of a scene tree consisting of one root node with multiple view, light and model nodes; and Figure 7 shows a schematic representation of connection options between host application(s) and the 3D PDF Generation System.</p>
<p>DETAILED EMBODIMENTS</p>
<p>Figure 1 shows the event flow through the internet web services embodiment of the 3D document generator. In this case, users access 3D data through a website.</p>
<p>The event flow is organized across three tiers of infrastructure supporting web access, namely the user or data recipient's local web browser tier (100), generally at a remote location; the web server tier (105) responsible for processing HTTP Internet traffic, presenting and allowing navigation through web pages, resolving hyper-links, and managing requests to back-end services and; the technical data tier (110), or back-end, where storage, data-bases and specialised services are activated and managed by the web server tier (105). During the event flow, the user accesses a web page, making a request for a technical report (115). This request is handled by the web server which starts the management process (120), which requests the initial technical tier service.</p>
<p>The technical tier (110) then loads report meta-data (125) by accessing a stored technical database (145) which may contain both meta-data and 3D technical data content. The web server receives this result and proceeds to build a summary report page from the meta-data (130), passing that summary report back to the user. The user upon receiving the report makes further selections and requests a technical report for 3D content (135). This report is managed by the web server which initiates the requested content building process (140). The technical tier accesses detailed content from database (145), proceeding to dynamically generate 3D PDF content using the PDF3D document generator services (160). The 3D document generator is thus involved in converting and interpreting original 3D model information, coupled with meta-data to generate a complete PDF document containing embedded 3D content as well as other contextual report information. The resulting PDF content is passed to the web server which manages the transfer of the document to the user (150). As it arrives and is opened by the user (155), full 3D rotation, scale, translation, object selection interactions are available to the recipient of the document. By using this three-tier design, PDF documents do not need to be persistent within server storage systems, rather can be generated on-the-fly by user initiated requests.</p>
<p>Figure 2 shows the 3D document generator internal architecture and major components. As the 3D document generator embodiment may be a library with a defined external interface, API, provided in the form of a software development kit (SDK), we see in this diagram that any number of diverse and distinct host application(s) 200 may chose to utilize the services of the document generator. Any of such host applications may use the generator by reference to two categories of process; conversion and export. If the application finds it appropriate to populate geometric objects with scene-graph organisation, the Scene Graph Connector (205) is available.</p>
<p>Here the data organisation is hierarchical, with nodes, meshes and attributes. At each JO position in the scene-tree hierarchy, nodes may be inserted to hold model entities (208). According to geometric mesh, grid, polygon or polyhedral types, Mesh connectors are provided to allow population of geometric model entities (206).</p>
<p>Attributes are then associated at both model node level or at mesh primitive level (207). Alternatively various scientific, technical or 3D multi-media data types may be present in the host-application, where a scene-tree may not be the most appropriate technique. A set of technical data source access connectors are provided which assist matching to many common data types (210). As these types may not be exactly what is required for document generation, the connectors call on services within a Data Model Visualization Object Generator suite (215). Here technical data is interpreted to create visualization data objects which may substitute or represent key characteristics of the technical data for presentation. For instance, The mesh may require reduction such as sub-sampling or the rejection of degenerate polygons, or missing data values removed in the Mesh & Data Geometry Filtering block (216). Specific types of meshes may benefit from algorithms performing computational mesh simplification (not to be confused with Continuous level of detail or CLOD) at the data preparation stage (217), such as triangle reduction on TINs (triangular networks) based on curvature or rectilinear decimation based on data gradients. At this stage it may be advantageous to substitute numerical field values with color textures, which may be compressed at later stages using image compression techniques (218).</p>
<p>As the U3D specification requires a high level of detail, it is often the case that such specification is incomplete, or at least the application programmer responsible for the host application using the 3D document generator may not wish to be forced to provide a great deal of default information, or additional derived information that may be time consuming to create. Using the Automatic Default Scene Creation (230) services, virtually any amount of information may be absent or unspecified, with this module taking actions to provide reasonable and intuitive defaults. For instance the Camera (231) default module mayanalyse the object size and position, then automatically calculate appropriate camera positions, view frustum, angle, etc. to allow good object visibility. Similarly if no lights are specified, rather than a default scene with no lights (black, nothing visible), default lights appropriate to light object surfaces are specified (232). If a single object arrives without a hierarchy, a default hierarchy with root node and model node are defined (235). Similarly default surface rendering attributes (233) or default animation behaviour (234) may be completed internal to the document generator.</p>
<p>In the present embodiment the processed input data, model, geometry, textures and attributes are assembled into a data structure (245) according to U3D specification ECMA-363, using some elements of the U3D sample implementation services (240).</p>
<p>As part of this assembly process, converted models may be compiled into a compressed or reduced structure, using continuous level-of-detail (CLOD) services (240). The important architectural feature is that such CLOD generation is independent of the host application graphics pipeline and is independent from any software used by the recipient for viewing the resulting 3D PDF content, most notably the Adobe Reader. Hence the CLOD generation or compilation step is isolated and independent from layers outside of the 3D document generator which allows for freedom of host application design.</p>
<p>To assist preparation and operations during the 3D model export phase, the Meta-Data connectors (220) are used by the host application to set non-geometric aspects of the 3D PDF content. A variety of services are available for specification, where the host application may supply additional information about the model with the expectation that this information will be published within the generated document accompanying the interactive 3D content. This meta-data may for example include a title (221) to label the 3D view port; a caption (222) to provide a text box explanation of 3D view port content or user instructions; numerical units, labels, axes to assist the viewer in interpreting 3D information, date and author (224) of the document for attribution reference, etc. The metadata connectors also include specification for the 3D view port or multiple view ports within the PDF document page such as layout, and attributes of the PDF document itself (225).</p>
<p>Once all relevant information is assembled, the 3D document generator performs the PDF document generation embedding (250) the U3D and meta-data into the output document. The document itself may be a new creation, or the content may be appended or pre-pended into an existing PDF document. The document may then be stored as a PDF output file (260) or sent by transfer or streaming through network services, including but not limited to the internet (270) for viewing by recipients through web-browsers (275), where web-browsers may include or launch PDF viewer services, including but not limited to the Adobe Reader.</p>
<p>Figure 3 shows a high level view of public interfaces available to host applications (310). Any host application wishing to use the 3D document generator, uses 3D PDF Public Interface (300) methods. These interfaces are generally used in sequence or logical order as shown in the drawing. The first step is initialization (301) of the 3D document generator. The second step is to use the various connectors previously described to connect the host application 3D data to the document generator 3D model (302). The next step is to Convert the model into the internal U3D data structures (303) which may involve further internal data transformations such as visualization object generation, texture generation, CLOD, etc. The next steps are to specify preferences for the output PIDF document (304) and populate any meta-data (305) through Connector interfaces. Finally the export process (306) is specified, including details export file format, filename, destination, etc., while reporting status back to the host application.</p>
<p>Figure 4 shows a view of both internal and public interfaces to the 3D document generator. The host application (400) uses the provided 3D PDF Interface (405) to connect, populate and convert 3D content. Internally, the 3D document generator may use one or more other internal interfaces (410). These may include, for illustration, a visualization sub-system interface (411), U3D service interface (412) and/or PDF document handling service interface (413).</p>
<p>In Figure 5 sonic interfaces are registered with the PDF3D Library. Although the interfaces belong to the Internal Software System (410); they are implemented in a format specified by the PDF3D Library. When the "Convert" use case is executed the PDF3D library should begin the conversion process. While performing the conversion the PDF3D should issue commands to the registered interfaces in a predefined order that helps in easy conversion of 3D models.</p>
<p>Figure 5 shows a portion of the structure involved in assembling U3D model data structures (510). The host application or other derived data source (500) provides mesh specifications (501) appropriate to allow initiation of the geometry compiler (502). The geometry compiler assembles and unifies information for the data structure and provides services such as geometric compression, continuous level of detail (CLOD) generation. The geometry compiler output is a CLOD mesh resource (503).</p>
<p>The 3D scene graph hierarchy (511) references Node Palette (512) which includes references to scene nodes, and Generator Palette (513) which includes references to resources used by nodes. The Node Palette (512) references a Root Node (520) and at least one Model Node (530). The Model Node (530) then references mesh resources which in turn reference the CLOD Mesh Resource (503).</p>
<p>Figure 6 shows a possible node hierarchy. The U3D data structure includes nodes arranged in a hierarchy, where some nodes are involved in models and attributes such as described in Figure 5, while other specify views and lights. In the Figure 6 example, a single root node (520) references a number of other nodes. These include 1 to N View nodes (601), containing information about view positions, orientations.</p>
<p>Also shown are 1 to N Light nodes (602), specifying light position, type, color and other illumination parameters. Also referenced, as mentioned earlier, are 1 to N model nodes (603), referencing the scene tree data Structures of Figure 5.</p>
<p>Figure 7 shows the connection relationships between a host application (200) and the 3D PDF Generation System (405). The host application architecture shown is merely a possible example for illustration, as the internal architecture of host applications very widely. The example shown is typical of an engineering analysis, where finite-element or fluid dynamics analysis simulation results are processed and reviewed. At the start of the host application technical data sources are accessed (701), generally from files and loaded into memory structures. During a numerical analysis phase (702), simulation, data filtering, data selection or derived quantity computations are performed. At this stage data structures are appropriate for numerical analysis but may not be appropriate for direct graphical display. To aid interpretation, Visualization Objects are generated (703) which are geometric and colored models designed for interactive display. Such visualization operations may produce bounding boxes, slice planes, Contour maps, legends, isosurfaces or vector arrow objects, or replace mesh attributes with texture maps. The resulting geometric objects are then suitable for display using a Scene Graph (704) display architecture. The Scene Graph (704) assembles geometric entities into a logical tree structure, with local transformations and attributes. As part of the scene graph management, level of detail (LOD) (705) techniques may be used to both generate LOD and traverse LOD data structures to optimize interactive 3D display performance. The Scene Graph (704) system traverses graphical information for display and responds to events from the window manager or user interactions, using System Support Layers (706), such as window manager event services, in addition, the host application (200) may provide paths for saving graphical representations of the 3D scene, such as in CGM, Postscript, MPEG, AVI, VRML, X3D, HDF5, Flash, 2D PDF, SVG, DXF, DWG, XML or other output formats (710).</p>
<p>In addition image representations may be saved such as GIF, TIFF, JPEG, PNG, BMP formats.</p>
<p>As previously described, the 3D PDF Generation System (405) or 3D document generator, provides a number of optional connection processes (connectors) for use by the host application (200). Once sufficient information is provided, internal layers of the 3D document generator are able to associate animation scripts (223), local level of detail generation (240), automatic default scene creation (230), and meta-data support within PDF embedding processes (250).</p>
<p>The host application (200) would normally issue one or more API calls to set up a PDF file into which the 3D model would be placed. API calls are provided to specify the following aspects of the PDF file: 1. Name of the PDF file 2. Path of the PDF file (relative or absolute) 3. Size of the pages in the PDF file. Standard sizes like A0, Al, A2, A3 etc are supported. The host application may also specify custom page sizes.</p>
<p>4. Viewport into which the 3D object shall be placed. The viewport coordinates are specified in terms of a quadruple where each component is a floating point number between 0.0 and 1.0.</p>
<p>The important points of interest in Figure 7 are the multiple connection options coupling the host application (200) and the 3D PDF Generation System (405). The possible connection points may be where technical data sources (701 to 210) are used, whereby the 3D document generator produces independent data visualization content; and/or where aspects of numerical simulation (702) may provide information to metadata connectors (220) (such as numerical ranges or geographical references); and/or Visualization Object generation (703) in the host application (200) may be used in conjunction with Visualization Object generation (215) within the 3D document generator (405). As distinct from graphical output files (710) produced and/or directly managed by the host application Scene Graph system support layers (706), the 3D document generator produces output in PDF format (260) including fully interactive 3D content.</p>
<p>As a further example of the use of the 3D document generator within a host application, we show an integration example with the Visualization Tool Kit (VTK, see references above). Here most applications based on VTK process and analyse technical data, often 3D, presenting data visualization results in interactive viewer windows. As such, VTK contains it's own scene tree and graphics pipeline. Within the context of typical VTK application usage, the 3D document generator PDF3D Library may be connected to current VTK scenes allowing export of scene content, using a subset of available data connection processes. The following pseudo-code illustrates this process: VTKScene scene; II Create Scene (www.vtk.org) scene.SetDataFileName( infile); scene.ln itializeScene 0; PDF3DlnterfaceDesc desc; II Prepare for conversion desc. Scenelnterlace = new VTKScenelnterface; desc.Modellnterf ace = new VTKModellnterface; desc. Lightlnterface = new VTKLightlnterface; desc.Viewlnterface = new VTKViewlnterface; PDF3DConversionManager converter; /1 create PDF3D converter converter.SetlnterfaceDesc( desc); I/link interface to scene ((VTKScenelnterface*) (desc.Scenel ntertace)) ->Set\/TKScene( &scene); ((VTKModellntertace*) (desc. Model lnterface))->SetCLODGenerationEnabled (false); converter.lnitialize0; I/initialize the converter converter.Convert0; II perform the conversion PDF3DExporter exporter; II export into PDF exporter.SetOutputFormat( PDF3DExporter: : PDF); exporter.SetOutputFileName( outfile); exporter.GetPDFOptions.Title = "Some Title"; II Meta-data exporter.GetPDFOptions .Author = "Author"; exporter. GetPD FOptions() . Creator = "Creator'1; exporter.GetPDFOptions .Producer = "Producer"; exporter. Export("3D Document Generator Page Title"); Insofar as embodiments of the invention described above are implementable, at least in part, using an instruction configurable programmable processing device such as a Digital Signal Processor, FPGA, microprocessor, other processing devices, data processing apparatus or computer system, it will be appreciated that program instructions for configuring a programmable device, apparatus or system to implement the foregoing described methods is envisaged as an aspect of the present invention. The program instructions (such as, for example, computer program instructions) may be embodied as source code and undergo compilation for implementation on a processing device, apparatus or system, or may be embodied as object code, for example. The skilled person would readily understand that the term computer in its most general sense encompasses programmable devices such as referred to above, and data processing apparatus and computer systems.</p>
<p>Suitably, the program instructions are stored on a carrier medium in machine or device readable form, for example in solid-state memory, magnetic memory such as disc or tape, optically or magneto-optically readable memory, such as compact disk read-only or read-write memory (CD-ROM, CD-RW), digital versatile disk (DVD) etc., and the processing device utilises the program instructions or a part thereof to configure it for operation. The program instructions may be supplied from a remote source embodied in a communications medium such as an electronic signal, radio frequency carrier wave or optical carrier wave. Such carrier media are also envisaged as aspects of the present invention.</p>
<p>Although the invention has been described in relation to the preceding example embodiments, it will be understood by those skilled in the art that the invention is not limited thereto, and that many variations are possible falling within the scope of the invention. For example, methods for performing operations in accordance with any one or combination of the embodiments and aspects described herein are intended to fall within the scope of the invention.</p>
<p>The scope of the present disclosure includes any novel feature or combination of features disclosed therein either explicitly or implicitly or any generalisation thereof irrespective of whether or not it relates to the claimed invention or mitigates any or all of the problems addressed by the present invention. The applicant hereby gives notice that new claims may be formulated to such features during the prosecution of this application or of any such further application derived therefrom. In particular, with reference to the appended claims, any number of features from any one or more claims may be combined in any appropriate manner and not merely in the specific combinations enumerated in the claims.</p>
<p>For the avoidance of doubt the term "comprising", as used herein throughout the description and claims is not to be construed solely as meaning "consisting only of".</p>

Claims (1)

  1. <p>CLAIMS</p>
    <p>1. A 3D document generator, comprising: a plurality of data connection processes; and at least one of said data connection processes are configured to accept 3D input data; and each said data connection process is configured to accept a distinct data type; and generated documents are of PDF format including integral 3D content; and said 3D document generator is configured for re-use within a plurality of distinct host applications; and input 3D data is supplied by procedures in said host applications without passing intermediate 3D data files to said generator.</p>
    <p>2. A 3D document generator according to Claim 1, comprising output methods producing computer readable documents; and said documents are either stored files or streamed as network data.</p>
    <p>3. A 3D document generator according to Claims I or 2, wherein at least one of said data connection processes accepts geometric entities including vertices.</p>
    <p>4. A 3D document generator according to Claims 1 to 3, wherein PDF document generation does not require use of any intermediate or alternative file type containing 3D data.</p>
    <p>5. A 3D document generator according to Claims 1 to 4, wherein said generator comprises automatic attribute generation where input data source attributes are incomplete.</p>
    <p>6. A 3D document generator according to any preceding claim, wherein 3D said PDF format documents contain data according to ECMA-363 specification.</p>
    <p>7. A 3D document generator according to any preceding claim, comprising; said documents include scripts controlling actions of said integral 3D content.</p>
    <p>8. A 3D document generator according to any preceding claim, wherein said integral 3D content includes geographically referenced numerical coordinate information.</p>
    <p>9. A 3D document generator according to any preceding claim, wherein the generation process comprises one or more of: software, hardware and firmware.</p>
    <p>10. A 3D document generator according to any preceding claim, wherein the generation process comprises one or more of: geometric compression, geometric reduction, level of detail simplification, or continuous level of detail processes.</p>
    <p>11. A 3D document generator according to any preceding claim, wherein the generation process accepts time varying input data and produces output suitable for replay of said time varying data.</p>
    <p>12. A 3D document generator according to any preceding claim, wherein at least one of said data connection processes are configured to accept meta-data; and said meta-data is included is reported or present in the generated output.</p>
    <p>13. A 3D document generator according to any preceding claim, wherein 3D input data comprises one or more of: coordinate lists, connectivity lists, points, lines, polygons, polyhedrons, triangle strips, meshes, cells, splines, surfaces, grids, adaptive mesh refinements, multi-block grids, voxels, normals, colors, color indexes, color look-up tables, textures, reflection maps, transformations, transparency, shaders, object hierarchies, hyper-spectral colors, displacements or time- dependent attributes.</p>
    <p>14. An interactive graphics application or utility comprising a 3D document generator according to any preceding claim.</p>
    <p>15. An automated information reporting service comprising a 3D document generator according to claims 1 to 13.</p>
    <p>16. A method of operating a computer system for generating 3D documents comprising a computer system: a plurality of data connection processes; and at least one of said data connection processes are configured to accept 3D input data; and each said data connection process accepting a distinct data type; and generating PDF format output including integral 3D content; and said 3D document generator is configured for re-use within a plurality of distinct host applications; and accepting input 3D data by procedures in said host applications without passing intermediate 3D data files to said generator.</p>
    <p>17. A method according to Claim 16, further comprising output methods producing computer readable documents; and said documents are either stored files or streamed as network data.</p>
    <p>18. A method according to Claims 16 or 17, further comprising at least one of said data connection processes accepts geometric vertices.</p>
    <p>19. A method according to Claims 16 to 18, further comprising PDF document generation which does not require use of any intermediate or alternative file type containing 3D data.</p>
    <p>20. A method according to Claims 16 to 19, further comprising automatic attribute generation where input data source attributes are incomplete.</p>
    <p>21. A method according to Claims 16 to 20, further comprising the generation of documents containing data according to ECMA-363 specification.</p>
    <p>22. A method according to Claims 16 to 21, further comprising the generation of documents as stored document files or streamed over a network to recipients.</p>
    <p>23. A method according to Claims 16 to 22, further comprising the generation of documents with scripts controlling actions of said integral 3D content.</p>
    <p>24. A method according to Claims 16 to 23, further comprising the generation of documents with geographically referenced numerical coordinate information.</p>
    <p>25. A method according to Claims 16 to 24, further comprising one or more of: geometric compression, geometric reduction, level of detail simplification, or continuous level of detail processes.</p>
    <p>26. A method according to Claims 16 to 25, further comprising acceptance of time varying input data and produces output suitable for replay of said time varying data.</p>
    <p>27. A method according to Claims 16 to 26, further comprising at least one of said data connection processes are configured to accept meta-data; and, said meta-data is reported or present in the generated output.</p>
    <p>28. A method according to Claim 18, further comprising 3D input data with one or more of: coordinate lists, connectivity lists, points, lines, polygons, polyhedrons, triangle strips, meshes, cells, splines, surfaces, grids, adaptive mesh refinements, multi-block grids, voxels, normals, colors, color indexes, color look-up tables, textures, reflection maps, transformations, transparency, shaders, object hierarchies, hyper-spectral colors, displacements or time-dependent attributes.</p>
    <p>29. A method of automated information reporting comprising a 3D document generator according to Claims 16 to 28.</p>
    <p>30. Apparatus for implementing the method of claims 16 to 29, comprising; input means for receiving 3D data from a plurality of external sources; and output means for sending generated 3D documents.</p>
    <p>31. A computer readable medium containing instructions for causing a processor to perform at least part of the method of any one of claims 16 to 29.</p>
    <p>32. A computer program implementing at least part of the 3D data document generator of any one of claims 16 to 29, or for operating the computer system of claim 30.</p>
    <p>33. A method for configuring a computer system for generating 3D documents substantially as described herein, and with reference to Figures 1 to 7 of the drawings.</p>
    <p>34. A communications network substantially as described herein, and with reference to Figures 1 to 7.</p>
    <p>35. An interactive graphics application or utility substantially as described herein, and with reference to Figures 1 to 7.</p>
    <p>36. An automated information reporting service substantially as described herein, and with reference to Figures 1 to 7.</p>
    <p>37. A non-interactive data conversion application or utility, substantially as described herein, and with reference to Figures 1 to 7.</p>
    <p>38. A 3D document generator, comprising: a plurality of data connection processes; and at least one of said data connection processes are configured to accept 3D input data; and each said data connection process is configured to accept a distinct data type; and generated documents are of PDF format including integral 3D content; and said 3D document generator is configured for re-use within a plurality of distinct host applications.</p>
    <p>39. A method of operating a computer system for generating 3D documents comprising: a plurality of data connection processes; and at least one of said data connection processes are configured to accept 3D input data; and each said data connection process accepting a distinct data type; and generating PDF format output including integral 3D content; and said 3D document generator is configured for re-use within a plurality of distinct host applications.</p>
GB0617294A 2006-09-01 2006-09-01 3D document generator Withdrawn GB2441352A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
GB0617294A GB2441352A (en) 2006-09-01 2006-09-01 3D document generator
PCT/GB2007/050497 WO2008026003A2 (en) 2006-09-01 2007-08-20 3 d pdf document generator and method for generating 3d pdf documents

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB0617294A GB2441352A (en) 2006-09-01 2006-09-01 3D document generator

Publications (2)

Publication Number Publication Date
GB0617294D0 GB0617294D0 (en) 2006-10-11
GB2441352A true GB2441352A (en) 2008-03-05

Family

ID=37137225

Family Applications (1)

Application Number Title Priority Date Filing Date
GB0617294A Withdrawn GB2441352A (en) 2006-09-01 2006-09-01 3D document generator

Country Status (2)

Country Link
GB (1) GB2441352A (en)
WO (1) WO2008026003A2 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103197908B (en) * 2013-04-09 2015-10-21 广东粤铁瀚阳科技有限公司 Based on pdf document display packing and the system of information display platform
CN108920432B (en) * 2018-06-25 2022-07-05 广州文冲船厂有限责任公司 Method and device for converting 3D PDF file, terminal equipment and storage medium
CN111415398B (en) * 2019-01-08 2024-01-05 杭州海康威视数字技术股份有限公司 Method and device for displaying annotation on display screen
KR102308457B1 (en) * 2020-10-08 2021-10-01 삼성엔지니어링 주식회사 The embodiment method of 3D PDF drawing from 3D modeling of plant
CN115098100B (en) * 2022-06-24 2024-03-26 华南理工大学 Digital twin body assembly driving method oriented to industrial application scene based on cloud protogenesis
CN117475093B (en) * 2023-12-28 2024-04-16 齐马(海南)科技有限公司 Automatic conversion method from geometric representation based on XML Meng Ka to three-dimensional CAD model

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5857064A (en) * 1995-04-03 1999-01-05 Object Technology Licensing Corporation System for imaging complex graphical images
EP1087342A2 (en) * 1999-08-23 2001-03-28 Fuzie Inc. Method of creating animation image data files

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5857064A (en) * 1995-04-03 1999-01-05 Object Technology Licensing Corporation System for imaging complex graphical images
EP1087342A2 (en) * 1999-08-23 2001-03-28 Fuzie Inc. Method of creating animation image data files

Also Published As

Publication number Publication date
WO2008026003A3 (en) 2008-05-22
WO2008026003A2 (en) 2008-03-06
GB0617294D0 (en) 2006-10-11

Similar Documents

Publication Publication Date Title
Schilling et al. Using glTF for streaming CityGML 3D city models
Döllner et al. Integrating urban GIS, CAD, and BIM data by service-based virtual 3D city models
KR101130407B1 (en) Systems and Methods for Providing an Enhanced Graphics Pipeline
US8612040B2 (en) Automated derivative view rendering system
Di Benedetto et al. SpiderGL: a JavaScript 3D graphics library for next-generation WWW
Bhandarkar et al. Migrating from IGES to STEP: one to one translation of IGES drawing to STEP drafting data
Robinet glTF: Designing an open-standard runtime asset format fabrice robinet, Re mi Arnaud, Tony Parisi, and Patrick Cozzi
GB2441352A (en) 3D document generator
Frey Medit: An interactive mesh visualization software
CN114969586A (en) BIM (building information modeling) graphic engine loading method and device based on WEB side
Arroyo Ohori azul: A fast and efficient 3D city model viewer for macOS
Fradin et al. A Hierarchical Topology‐Based Model for Handling Complex Indoor Scenes
Li et al. A framework for interactive online 3d visualization of electric information
Schinko et al. Modeling procedural knowledge: A generative modeler for cultural heritage
Breunig et al. Advancing DB4GeO
Lee 3d urban modeling and rendering with high resolution remote sensing imagery on mobile 3d and web 3d environments; system architecture and prototype implementation
Milosavljević et al. An architecture for open and scalable WebGIS
Polys Publishing Paradigms for X3D
US20030163604A1 (en) Method and apparatus for design and manufacturing application feature interoperability
Ding et al. Lightweight display of railway four-electricity BIM model based on glTF format and WebGL technology
Becker et al. Building an interoperable GIS: Integration of an object-oriented GIS database kernel and a visualization framework
Agbossou Urban Built Environment Visual Features Modeling for 3D GeoSimulation Using USD Standard Specifications
Gupta Visualization of plasma edges using VTK and Adobe Flash
Ohlenburg et al. Internal and external scene graphs: a new approach for flexible distributed render engines
Leissler A generic framework for the development of 3D information visualization applications

Legal Events

Date Code Title Description
WAP Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1)