Physical Properties

All physical objects are composed of matter - configurations and arrangements of fundamental elements. A Physical Markup Language must necessarily describe at least some physical characteristics of objects, covering at least some portion of their form, function and composition.

A complete or comprehensive description is beyond the scope and utility of most users of the Physical Markup Language. We must consider the intended purpose of PML. The Physical Markup Language was not designed for the particular needs of the chemist or mechanical engineer, but for the more generic requirements of supply chain management, logistics, inventory monitoring, manufacturing control, consumer information and waste management.

With these applications in mind, exact descriptions are less important than overall characteristics, such as weight and volume. Our approach, therefore, is to include in the PML specification aggregated or high-level descriptions, together with extensions and allowances for industry specific data. In this way, common information can be shared by many users in a standard, open format; while application specific data can be crafted and managed by industrial organizations.

The physical characteristics described in PML will cover material and structure, as well as high-level aggregated characteristics. Most of the later type will be immediately useful for supply chain and logistics, such as shipping weight and total volume.

Therefore we introduce a phy (physical) element to contain (1) material properties, (2) object structure and (3) general physical characteristics.

<phy>. . .</phy>

Material Properties

We need to describe the material composition of a physical object. We assume this description is of a single, irreducible component of the physical object. In other words, although some objects may be composed of a complex assembles of parts and systems, their individual subcomponents are, in assumed, monolithic.

We define, therefore a mat (material) element that describes the material composition of a physical object.

<mat>. . .</mat>

Class

We use the class element, described in the previous chapter, to contain the name of the mateiral and references to its properties. Using class elements we can reference object materials to numerous established systems and standards.

 

Common materials or ingredients may have more than one name. Acetylsalicylic acid, for example, is common know as Aspirin®. Other types of names provide additional information, such as more detailed information on composition or the origin or manufacturer of the material. Aluminum is a valid name for a material, but 6061-T26 provides more specific information on alloying and heat-treatment. Ibuprofen is otherwise know as Advil®, Excedrin®, Motrin®, Motirn® IB, Provel® or Rufen®, and Nuprin® implies information on manufacturer, dosage and intended use. Each of these may be accomodated by a separate class entry within the mat element.

 

Codes

As with many elements in PML, the material element optional includes one or more code elements. These may reference international, national, local, industrial or corporate code numbers. The code element allows easy access to standard databases, compliance standards and legacy numbering systems.

The code element includes an optional label attribute indicating the type of code uses. Product codes, Material Safety Data Sheet (MSDS) numbers, federal regulatory codes, CAS Registry Number are all examples of material codes.

 

The names and codes serve primarily to reference additional information about the material. These are used by companies, shippers, regulators and emergency workers to access additional information on handling, storage, transport and disposal. While these codes are necessary for current classification and label requirements, they may be eventually augmented - or even replace - by the virtual Electronic Product Code.

Virtual EPC

As discussed in the previous chapter, each class element allows an optional epc element. This Electronic Product Code is "virtual," in that it is not encoded on a physical tag, but serves as a reference to on-line information using the same networking infrastructure. In other words, this virtual EPC code uses the ONS to look-up information in a PML file about the material class.

The fields in the virtual EPC code used here have a somewhat difference interpretation. The "product code" or "class" refers to the catalog, and the serial number to the "entry" into that catalog. The MSDS catalog, for example, may be assigned the number 0001AD2 and the serial number for Acrylamide the entry 00002D1E.

 

The advantage of the virtual EPC code is that all the material names, properties, safety information, etc. are referenced to a common, standard source without having to replicate information indefinitely within distributed PML files. In addition, more exhaustive descriptions are be afforded than is possible within a specific object PML file, given size and bandwidth requirements.

Composition

Most materials are not pure. Metals are alloyed, chemicals are mixed, foods are processed and liquids are blended. In order to describe admixture, the mat element allows one or more mat elements. These may represent, for example, an ingredient list for foods or alloying for metals.

Each mat element also provides an optional comp attribute, used to describe the nature of the composition. The composition may be an "aggregate", "mixture", "alloy", "compound" or any other description of composition.

<mat comp= string >
<mat>. . .</mat>
<mat comp= string >
<mat> . . . </mat>
<mat> . . . </mat>
<mat> . . . </mat>
. . .
</mat>
. . .
</mat>

Quantity

The compound list as given above describes the types of materials that make up a composition, but not the amounts. Therefore each mat element includes an optional msr (or measurement) element indicating the amount, quantity or percentage of the material. The msr element is described in detail in Chapter 5.

 

This example is for illustration. It is likely this type of information would reside in a common or central repository and be reference via its virtual EPC number.

 

Type

Finally, we can use the mat element to describe different material aspects of the physical object. For example, we may just want to list the nutritional information or perhaps the fat content of food. We may be required to list only the hazardous materials in a product. Thus one ore more mat elements are allowed within the description of a single object. Each distinguished using a different label attribute.

 

<mat label= "nutrition" comp= "composition">
<mat><class><system> USFDA </system>
<name> Vitamin A </name></class>
<msr p=1>10</msr></mat>
<mat><class><system> USFDA </system>
<name> Vitamin C </name></class>
<msr p=1>100</msr></mat>
<mat><class><system> Element </system>
<name> Calcium </name></class>
<msr p=1>100</msr></mat>
<mat><class><system> Element </system>
<name> Iron </name></class>
<msr p=1>100</msr></mat>
<mat><class><system> USFDA </system>
<name> Vitamin D </name></class>
<msr p=1>10</msr></mat>
<mat><class><system> USFDA </system>
<name> Vitamin E </name></class>
<msr p=1>100</msr></mat>
<mat><class><system> USFDA </system>
<name> Thiamin </name></class>
<msr p=1>100</msr></mat>
<mat><class><system> USFDA </system>
<name> Riboflavin </name></class>
<msr p=1>100</msr></mat>
<mat><class><system> USFDA </system>
<name> Niacin </name></class>
<msr p=1>100</msr></mat>
<mat><class><system> USFDA </system>
<name> Vitamin B6 </name></class>
<msr p=1>100</msr></mat>
<mat><class><system> USFDA </system>
<name> Folic Acid </name></class>
<msr p=1>100</msr></mat>
<mat><class><system> USFDA </system>
<name> Vitamin B12 </name></class>
<msr p=1>100</msr></mat>
<mat><class><system> USFDA </system>
<name> Pantothenic Acid </name></class>
<msr p=1>100</msr></mat>
<mat><class><system> Element </system>
<name> Phosphorus </name></class>
<msr p=1>2</msr></mat>
<mat><class><system> Element </system>
<name> Magnesium </name></class>
<msr p=1>0</msr></mat>
<mat><class><system> Element </system>
<name> Zinc </name></class>
<msr p=1>100</msr></mat>
</mat>

Form

The Physical Markup Language provides a general description of the physical form of objects. This information is intended for general planning, such as for packing and shipping, as well as inventory management and storage.

There are many standards and formats for describing the physical shape of objects. Many of these come for applications in computer aided design (CAD), mechanical engineering, digital animation and computer games.

While previous standards for solid modeling provide some guidance in the development of the PML, the applications differ. Most solid modeling specifications are focused on the appearance of the object rendered on the computer screen. Others are intended for the engineering design, manufacturing and mechanical assembly.

The Physical Markup Language, on the other hand, is directed toward general object descriptions for industrial, commercial and consumer applications. In this sense, the structural definition must cover a wider range of objects - not just polyhedral solids - yet does not necessitate the complexity and detail of standard solid modelers.

Physical objects described by PML may include solids, liquids and gases. Even among solid objects, PML may need to describe flexible linear objects such as string, ropes, wires and cables, flexible planar objects such as cloth, paper, sheets and rubber, or compliant solid objects, such as sponges and cushions.

The following sections outline the components of the structure definition. These include (1) a bounding volume definition useful for planning, storage, shipping and transportation, (2) a geometry specification allows more detailed physical descriptions - particularly for objects not easily described by a simple volume and (3) general descriptive elements of overall physical characteristics - such as shipping weight, total volume, etc.

Bounding Volume

Often it is helpful to know the approximate volume of an object. This may be useful for general planning, packaging, storage and transportation. We define a bound element that allow optional box , cylinder or sphere elements.

As evident from their names, the box , cylinder or sphere elements imply a circumscribing volume around the object of a box, cylinder or sphere.

The specification for the box element is straight forward. The element contains three numbers separated by white space representing the height, width and depth of a rectangular solid. In accordance with the Physical Markup Language specification the dimensions are all measured in meters.

<bound>
<box> height width depth </box>
</bound>
The cylinder is represented by a height and diameter.
<bound>
<cylinder> height diameter </cylinder>
</bound>
The sphere is simply represented by diameter.
<bound>
<sphere> diameter </sphere>
</bound>
In order to specify tolerance and accuracy, the bound element also allows msr elements.
<bound>
<box>
<msr> height </msr>
<msr> width </msr>
<msr> depth </msr>
</box>
</bound>
<bound>
<cylinder>
<msr> height </msr>
<msr> diameter </msr>
</cylinder>
</bound>
<bound>
<sphere>
<msr> diameter </msr>
</sphere>
</bound>

Geometry

Beyond bounding volumes, PML allows more complex geometric descriptions, included the linear, planar and solid objects. In particular, the geo element describes extruded objects, thin planar objects and general solids.

Extrusions

We define an extrude element for circular, tubular or general extruded shapes. The extrude element includes a type attribute that accepts three values: "round" , "tube" and "shape" .

If the attribute type is set to "round" the extrude element expects two floating point numbers (separated by white space) and interprets these as length and diameter.

<geo>
<extrude type="round">
length diameter
</extrude>
</geo>

Again the measurement definition is premitted to define accuracy and tolerances.

 

<geo>
<extrude type="round">
<msr> length </msr>
<msr> diameter </msr>
</extrude>
</geo>

 

If the type attribute is set to "tube" the extruded profile is annular and the extrude element accepts three numbers length, inner and outer diameters. Again both three numbers separated by white space or three measurement elements are accepted.

<geo>
<extrude type= "tube">
length inner-diameter outer-diameter
</extrude>
</geo>
<geo>
<extrude type= "tube">
<msr> length </msr>
<msr> inner-diameter </msr>
<msr> outer-diameter </msr>
</extrude>
</geo>

 

Finally, if the type attribute is set to "shape" the extruded profile is defined by a length and an arbitrary polygon. We include an array element (previously defined) that accepts an array of spatial points, which define the extruded cross section.

The points are separated from one another with a comma ",". Each two dimensional point is defined by two floating point numbers separated by white space.

<geo>
<extrude type="shape">
<msr> length </msr>
<array>
x1 y1,
x2 y2,
. . .
xn yn
</array>
<extrude>
</geo>

 

Sheets

Planar shapes such as plastic sheets and cloth are defined using the same method as extruded profiles. Simply the length (that is the "thickness") is small relative to the size of the profile.

 

Solids

Of the many ways to define a three dimensional solid, this version of PML defines a simple specification. The geo element accepts a shape element that contains an array of vertices, defined by the array element, and an array of indices, defined by the index element. The shape element is thus an indexed array of polygons that form an arbitrary polyhedron.

 

<shape>
<array>
x1 y1 z1,
x2 y2 z2,
. . . ,
xn yn zn
</array>
<index>
i1 i2 . . . i2 ,
. . .
i1 i2 . . . i2 ,
<index>
</shape>

 

General

Often the exact shape and material of an object is not known, but the overall physical properties are, such as the weight and volume. Often these are further classified based on packaging. So that we may specifications for gross weight, net weight, shipping weight, etc.

PML allows an easy mechanism to record these and other general characteristics using the msr element previously described. Therefore the physical properties specification allows one or more msr elements, which can describe any overall physical characteristic such as net weight and shipping volume.

<msr label= "physical property" > value </msr>

<msr label=" physical property "> value </msr>

. . .

<msr label=" physical property "> value </msr>

 

 

 

Specification: Physical Properties

 

<phy>
<mat label= string comp= string >
<class> . . . </class>
. . .
<class> . . . </class>
<mat><msr> . . . </msr></mat>
. . .
<mat><msr> . . . </msr></mat>
</mat>
<bound>
<box> height width depth </box>
<cylinder> height diameter </cylinder>
<sphere> diameter </sphere>
</bound>
<geo>
<extrude type="round"> length diameter </extrude>
<extrude type="tube">
length inner-diameter outer-diameterr </extrude>
<extrude type="shape">
<msr> length </msr>
<array>
x1 y1,
x2 y2,
. . .
xn yn
</array>
<extrude>
<shape>
<array>
x1 y1 z1,
x2 y2 z2,
. . . ,
xn yn zn
</array>
<index>
i1 i2 . . . i2 ,
. . .
i1 i2 . . . i2 ,
<index>
</shape>
</geo>
<msr> . . . </msr>
. . .
<msr> . . . </msr>
</phy>