# Using Tetra 4D Enrich Templates

Developed by Tech Soft 3D, Tetra 4D Enrich is a plug-in for Adobe Acrobat that can be used to create rich interactive 3D PDFs without any additional code or JavaScript – adding advanced functionality is as simple as using your mouse within Acrobat.

Tetra 4D Enrich allows you to build interactivity between non–graphical data and 3D views to create advanced documents, with features such as view carousels, bills of materials, and aggregate data from PLM and ERP systems.

Please visit the Tetra 4D website for more information on Enrich.

Once you’ve created a PDF with Enrich, it can be used as a template by Advanced Publishing. The function `A3DPDFDocumentUpdateData` programmatically replaces the CAD file, attributes, and metadata that have been used to create the Enrich template inside Acrobat. During update, following operations are performed:

> - The 3D object from the specified PDF template is replaced by the CAD data stored in model file,
> - The external information defined by XML files if any (attributes, title block) are read
> - The Tetra4D Enrich widgets present in the template (Carousel of Views, Table) are updated based on the new 3D data and the read XML attributes file,
> - The generic actions (text output on part selection, change of rendering mode…), if any, are updated,
> - The text fields (title block) are updated based on the specified title block XML file if any, and on the new 3D data.

Please note that this function currently works only with PDF files created with Tetra4D Enrich.

## Parts Attributes Definition XML File

XML schema of files that enable the import of meta-data.

    <?xml version="1.0"?>
      <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
        <xsd:element name="attributes">
            <xsd:complexType>
                <xsd:sequence>
                    <xsd:element name="ATTRIBUTE">
                        <xsd:complexType>
                            <xsd:sequence>
                                <xsd:element name="NEW_ATTRIB">
                                    <xsd:complexType>
                                        <xsd:attribute name="name" type="xsd:string" use="required" />
                                        <xsd:attribute name="value" type="xsd:string" use="required" />
                                    </xsd:complexType>
                                </xsd:element>
                            </xsd:sequence>
                            <xsd:attribute name="key" type="xsd:string" use="required" />
                            <xsd:attribute name="attribute_value" type="xsd:string" use="required" />
                        </xsd:complexType>
                    </xsd:element>
                </xsd:sequence>
            </xsd:complexType>
        </xsd:element>
      </xsd:schema>

Multiple attributes and values can be specified for every key.

Sample of an XML file where several attributes (SUPPLIER, Price, SUPPLIER_REFERENCE) are imported and mapped to the 3D parts, using in that case “ItemNumber” as mapping key.

    <attributes>
        <ATTRIBUTE key="ItemNumber" attribute_value="H7894561">
            <NEW_ATTRIB name="SUPPLIER" value="Supplier D" />
            <NEW_ATTRIB name="SUPPLIER_REFERENCE" value="RefD02" />
            <NEW_ATTRIB name="Price" value="10.20" />
        </ATTRIBUTE>
    </attributes>

### Text Fields Values Definition XML File

XML schema to define values to populate text fields.

    <?xml version="1.0"?>
      <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
          <xsd:element name="Fields">
              <xsd:complexType>
                 <xsd:sequence>
                    <xsd:element name="Field">
                       <xsd:complexType>
                          <xsd:attribute name="key" type="xsd:string"/>
                          <xsd:attribute name="value" type="xsd:string"/>
                          </xsd:complexType>
                       </xsd:element>
                    </xsd:sequence>
              </xsd:complexType>
          </xsd:element>
      </xsd:schema>

Multiple attributes & values can be specified for every key.

Sample of an XML file where several values to populate text fields are defined. The mapping key are project, description, revision, and must be defined in the template using the Tetra4D Enrich feature “Set populate method for text fields”.

    <Fields>
        <Field key="project" value="Micro Engine" />
        <Field key="description" value="Spare Parts catalog" />
        <Field key="revision" value="2016/02/29" />
    </Fields>

Conversation saved
HOOPSY BETA

### Hello! I'm HOOPSY

Your multilingual generative AI assistant for documentation. Ask me anything about HOOPS Exchange in your own language, or choose a sample question below to start a conversation:

What is HOOPS Exchange?
What are the latest release notes for HOOPS Exchange?
How do I start evaluating HOOPS Exchange?
How do I write my first sample application?
How can I get assistance?

HOOPSY may store conversations according to OpenAI's policy. Responses may not always be accurate.

HOOPSY is thinking...