Custom Units of Measure
Manifold uses units of measure in a variety of places such as in the units box
used with most projections. The definitions of units available to Manifold
are compiled into the product. User-supplied definitions may be loaded from .xml files found in the Config folder. If desired, users can add their own units of measure to incorporate
specialized, historical or local units of measure into Manifold.
Units are defined by .xml files in the following pattern:
<xml>
<unit>
<name>My Own Centimeter</name>
<nick>my cm</nick>
<nickArea>my sqcm</nickArea>
<scale>0.01</scale>
</unit>
<unit>
<name>Five-degree</name>
<nick>fd</nick>
<nickArea>my sqfd</nickArea>
<scale>5.0</scale>
<latLon>True</latLon>
</unit>
</xml>
Rules
- There can be any number of <unit> … </unit> entries within a single XML file between the <xml> tag at the beginning of the file and the </xml> tag at the end of the file.
- The name string supplied in the <name> attribute is mandatory and must be unique.
- The flag in the <latLon> attribute must be set to "True" for angular measurement units such as degrees or radians and set to "False" or omitted for ordinary measurement units.
- The value in the <scale> attribute is the size of the unit relative to a degree (if the latLon flag is True) or a meter (if the latLon flag is False).
- <nick> and <nickArea> names are nicknames (abbreviations) of the units of measure that will be used
by Manifold in various readouts. The <nickArea> name is used for the areal unit of measure, such as square meters.
To utilize newly created or modified units place the new or modified .xml file containing the units into the Config folder for Manifold (normally C:\Program Files\Manifold System Professional\Config) and restart Manifold.
When Manifold launches, the system will scan all .xml files in the Config folder. Any <unit> … </unit> entries found in any of those .xml files will be loaded into the system as available units.
Example
We've created a file in the Config folder called myunits.xml that contains units we would like to use with Manifold. We find it annoying
that English units like feet are derived from the physical dimensions of an
English king's body parts, so we will create new units based on our own body
parts. We also find working in units of five degrees more convenient than just one
degree at a time so we will create a new angular unit that is equivalent to
five degrees:
<xml>
<unit>
<name>Thumb</name>
<nick>thb</nick>
<nickArea>sq thb</nickArea>
<scale>0.05</scale>
</unit>
<unit>
<name>Arm</name>
<nick>arm</nick>
<nickArea>sq arm</nickArea>
<scale>0.50</scale>
</unit>
<unit>
<name>ArcHand</name>
<nick>ah</nick>
<nickArea>sq ah</nickArea>
<scale>5.0</scale>
<latLon>True</latLon>
</unit>
</xml>
When Manifold launches it will see the myunits.xml file in the Config folder and will read it to see what it contains. It will find definitions
for three new units of measure the file and will load them for use. Two of the
units are linear measures defined from meters while the third is an angular
measurement based on degrees.
One Thumb is equivalent to 0.05 meters, or five centimeters. One Arm is equivalent to 50 centimeters. Note that both of these units of measures
are linear measures since the latLon attribute is not present in them.
The definition for ArcHand says it is equivalent to five degrees. We have decided to call our unit an
"ArcHand" because a hand has five fingers just like this unit represents five
degrees. When reported on the status bar in drawings projected using ArcHands the
abbreviation will be ah or sq ah.
Tech Tip
Manifold cannot use any customizations if the .xml files do not contain XML that is exactly correct. A useful test before launching Manifold is to open
any newly created or modified .xml file in Internet Explorer. Internet Explorer will show a correct .xml file in a simple text format. If Internet Explorer cannot parse the .xml file, Manifold won't be able to either.
Back to Manifold Home Page