AutoXChange 2011 XML Reference
The Reference Manual describes the XML-based modification capabilities built into AutoXChange 2011. The command "-db=" is used to include XML-based modification instructions to AutoXchange 2010. These extensive capabilities described below allow the user to:
The XML-based modification capabilities in AutoXchange 2011 are for AutoCAD professionals that has drawings where graphical content needs to be updated on a frequent level, but where it is not feasible from an technical or econmical standpoint to use the authoring CAD application every time a graphical modification has to be done.
[TOP]
The following sample use cases show some of the ways the XML capability can be used.
The general use cases are typically AutoCAD users with a set of floor plans where the content of single or multiple sub-spaces within a floor-plan change status or purpose on a relative frequent basis. An update of the graphical information in the floor plans is therefore needed frequently, and it is not economically feasible to update the floor plans in the CAD authoring tool. The graphical content that changes is either available in a DB application, or is obtained by other means. One recommended extraction tool is: LinkList/XML
The core use-cases are:
[TOP]
The users drawings are typical floor plans, but do not
define the "room" or "area" definitions in a manner that can be consistently
obtained. Instead there is an external database that includes both the CAFM
information such as what the purpose of the area is, what furniture, people etc.that is in
the area, plus the coordinates of an outline that encloses the area.
The user then uses AX2011 to add new Block Definitions to the existing drawing
and create Object Node database linkages in the resulting DWF file. The new
Block Definitions include a polyline(s) that define the area for the room. They
can also define text, hyperlinks and hatching that is be added to the resulting
DWF file.
[TOP]
The user
has existing AutoCAD drawings that define each "room" or "area" by a unique
polyline. Their external database uses the AutoCAD entity handles to uniquely identify the polyline
or insert that defines the area.
The user need to change the color, hatching and/or linetype
of the existing polyline as the uses of the rooms changed. They also want to
add text within the area to explain the area use, add hyperlinks to link between
the drawing and other drawings or web pages, and to define database linkages for
the area.(AutoCAD entity handles)
[TOP]
LinkList/XML creates AutoCAD 2011-compatible XML files. It creates a correctly formatted XML file that lists all of the block definitions and polylines in the drawing.
The resulting XML file can be used as the starting point for changing the entities in the drawing.
For each Insert or Polyline defined in the AutoCAD file, LinkList/XML lists:
Sample XML file produced by LinkList/XML:
<?xml
version="1.0"?>
<Drawing>
<BlockRefs>
<BlockRef>
<Name>lote</Name>
<Handle>D5</Handle>
<Color>6</Color>
</BlockRef>
<BlockRef>
<Name>lote</Name>
<Handle>D9</Handle>
<Color>2</Color>
</BlockRef>
<BlockRef>
<Name>lote</Name>
<Handle>DD</Handle>
<Color>3</Color>
</BlockRef>
</BlockRefs>
<Polylines>
<Polyline>
<Handle>C7</Handle>
<Color>1</Color>
<Linetype>ByLayer</Linetype>
</Polyline>
</Polylines>
</Drawing>
[TOP]
The following topics describe how to modify existing polylines and inserts using the XML file. Each topic describes what is to be done, shows sample XML syntax and an image of the result.
[TOP]
The first section of the changes portion of the XML file allows the user to change existing Block References (Inserts). The section begins with a <BlockRefs> tag and ends with a </BlockRefs> tag. One or more <BlockRef> sections can be defined between the <BlockRefs>/</BlockRefs> tags.
The general syntax for the Block Reference changes section of the XML file is:
<BlockRefs>
<BlockRef>
...
</BlockRef>
<BlockRef>
...
</BlockRef>
<BlockRef>
...
</BlockRef>
</BlockRefs>
The following attributes can be modified:
[TOP]
The following allows the user to change the color for the insert. A new copy of the block definition will be created with all entities defined with color "ByBlock". This will force all of the entities to have the color defined here. If the color is defined as "ByBlock" then it will have the color of the block that contains the insert (or Black/White if this is a top level insert (an insert that is not inside another insert).
XML Syntax
<BlockRef>
<Name>lote
</Name>
<Handle>D5
</Handle>
<Color>6
</Color>
</BlockRef>
XML Specifics
Name
OPTIONAL
This is the name of the Block
Definition. This is actually optional, but makes the file easier to
read.
Handle
REQUIRED
This is the AutoCAD Entity Handle. It defines the
specific Block Reference (Insert) being modified.
Color
REQUIRED
This is the color to
change to.
[TOP]
The following allows the user to change the linestyle for the insert. A new copy of the block definition will be created with all entities defined with linestyle "ByBlock". This will force all of the entities to have the linestyle defined here. If the linestyle is defined as "ByBlock" then it will have the linestyle of the block that contains the insert (or "Continuous" if this is a top level insert (an insert that is not inside another insert). The default if nothing is listed is "Continuous".
XML Syntax
<BlockRef>
<Name>lote
</Name>
<Handle>D5
</Handle>
<Linestyle>Dashed
</Linestyle>
</BlockRef>
XML Specifics
Name
OPTIONAL This is the name of the Block
Definition. This is actually optional, but makes the file easier to
read.
Handle
REQUIRED This is the AutoCAD Entity Handle. It
defines the specific Block Reference (Insert) being modified.
Linestyle
OPTIONAL This is the linestyle to change
to.
[TOP]
The following syntax allows the user to apply a hatch to all polylines in a given Block Reference.
XML Syntax
<BlockRef>
<Name>lote
</Name>
<Handle>D5
</Handle>
<HatchType>ANSI33
</HatchType>
<HatchScale>2.5 </HatchScale>
<HatchAngle>45
</HatchAngle>
</BlockRef>
XML Specifics
Name
OPTIONAL This is the name of the Block
Definition. This is actually optional, but makes the file easier to
read.
Handle
REQUIRED This is the AutoCAD Entity Handle. It
defines the specific Block Reference (Insert) being modified.
HatchType
OPTIONAL This is the Hatch Type to use in
hatching all polylines in the given Block Reference.
HatchScale
OPTIONAL This
is the scale to use in creating the hatch. A larger scale will result in further distance between
lines in the hatch. The default is 1.0
HatchAngle
OPTIONAL This is the
angle to use in creating the hatch. The hatch will be created
rotated at the angle specified. The default is
0.
[TOP]
The following syntax allows the user to apply a hatch to a specific polyline in a given Block Reference. If the given polyline is not part of the given Block Definition then nothing will occur.
XML Syntax
<BlockRef>
<Name>lote
</Name>
<Handle>D5
</Handle>
<HatchType>ANSI33
</HatchType>
<HatchHandle>C7
</HatchHandle>
<HatchScale>2.5
</HatchScale>
</BlockRef>
XML Specifics
Name
OPTIONAL This is the name of the Block Definition. This
is actually optional, but makes the file easier to read.
Handle
REQUIRED This
is the AutoCAD Entity Handle . It defines
the specific Block Reference (Insert) being modified.
HatchType
OPTIONAL This is the Hatch Type to use in hatching all
polylines in the given Block Reference.
HatchHandle
REQUIRED This
is the AutoCAD Entity Handle
of the polyline in the Block Reference. It defines
the specific Polyline being
modified.
HatchScale
OPTIONAL This is the scale to use in creating the
hatch. A larger scale will result in further distance between lines in the
hatch. The default is
1.0
[TOP]
The following syntax allows the user to add a single line of text in the middle of the given Block Reference.
XML Syntax
<BlockRef>
<Name>lote
</Name>
<Handle>D5
</Handle>
<Text>Sample D5
</Text>
<TextHeight>.2
</TextHeight>
</BlockRef>
XML Specifics
Name | OPTIONAL This is the name of the Block Definition. This is actually optional, but makes the file easier to read. |
Handle | REQUIRED This is the AutoCAD Entity Handle. It defines the specific Block Reference (Insert) being modified. |
Text | REQUIRED The text string to add at the middle of the Block Reference. |
TextHeight | OPTIONAL The height (in World Coordinates) of the text to be added. |
[TOP]
The following syntax allows the user to add a multiple line text string in the middle of the given Block Reference.
The syntax is identical to the Single Line Text syntax except the text string contains Line End marks (\P).
XML Syntax
<BlockRef>
<Name>lote
</Name>
<Handle>D9
</Handle>
<Text>Sample D9\PSecond Line\PThird
Line
</Text>
<TextHeight>.2
</TextHeight>
</BlockRef>
XML Specifics
Name | OPTIONAL This is the name of the Block Definition. This is actually optional, but makes the file easier to read. |
Handle | REQUIRED This is the AutoCAD Entity Handle. It defines the specific Block Reference (Insert) being modified. |
Text | REQUIRED The text string to add at the middle of the Block Reference. The extra lines are marked using the Line End symbol "\P". The entire paragraph is centered in the middle of the insert. |
TextHeight | OPTIONAL The height (in World Coordinates) of the text to be added. |
[TOP]
The following syntax allows the user to add a hyperlink (URL) for the given Block Reference. All entities in the Block Reference will be part of the hyperlink (including any text added using the XML file).
The user can define a second string, the Hyperlink Comment, that will be displayed instead of the actual Hyperlink when the drawing is viewed.
XML Syntax
<BlockRef>
<Name>lote
</Name>
<Handle>D5
</Handle>
<Hyperlink>www.tailormade.com
</Hyperlink>
<Comment>Tailor
Made Software
</Comment>
</BlockRef>
XML Specifics
Name | OPTIONAL This is the name of the Block Definition. This is actually optional, but makes the file easier to read. |
Handle | REQUIRED This is the AutoCAD Entity Handle. It defines the specific Block Reference (Insert) being modified. |
Hyperlink | REQUIRED The hyperlink for this Block Reference. The Hyperlink can be Javascript commands, not just URLs. |
Comment | OPTIONAL The text string to display instead for the Hyperlink. |
[TOP]
Users can add textual database information to any existing Block Reference. One or more sets of information, known as Object Nodes, can be added to the Block Reference. The information is displayed in the Properties field in the DWF Viewer.
The following syntax allows the user to add a hyperlink (URL) for the given Block Reference. All entities in the Block Reference will be part of the hyperlink (including any text added using the XML file).
The user can define a second string, the Hyperlink Comment, that will be displayed instead of the actual Hyperlink when the drawing is viewed.
XML Syntax
One item only:
<BlockRef>
<Name>lote
</Name>
<Handle>DD
</Handle>
<ObjectNode Data1
="Desk"
Data2 ="
Oak - 3x6"
/>
</BlockRef>
More than one item:
<BlockRef>
<Name>lote
</Name>
<Handle>DD
</Handle>
<ObjectNodes>
<ObjectNode Data1="Desk" Data2=" Oak -
3x6"
/>
<ObjectNode
Data1="Chair" Data2="
Swivel - XLarge"
/>
</ObjectNodes>
</BlockRef>
Alternate syntax:
<BlockRef>
<Name>lote</Name>
<Handle>DD</Handle>
<ObjectNodes>
<ObjectNode>
<Data1>Desk
</Data1>
<Data2>Oak - 3x6
</Data2>
</ObjectNode>
<ObjectNode>
<Data1>Chair
</Data1>
<Data2>Swivel - XLarge
</Data2>
</ObjectNode>
</ObjectNodes>
</BlockRef>
XML Specifics
Name | REQUIRED This is the name of the Block Definition. This is actually optional, but makes the file easier to read. |
Handle | REQUIRED This is the AutoCAD Entity Handle. It defines the specific Block Reference (Insert) being modified. |
Data1 | REQUIRED Text field that is displayed first. Usually the data type. |
Data2 | REQUIRED Text field that is displayed second. Usually used for type specific data. |
[TOP]
The following allows the user to change the attributes for the insert.
XML Syntax
<BlockRef>
<Name>lote </Name>
<Handle>D5
</Handle>
<Attributes>
<Attribute Tag="tagValue" String="string" \>
</Attributes>
</BlockRef>
XML Specifics
Name
OPTIONAL This is the name
of the Block Definition. This is actually optional, but makes the file
easier to read.
Handle
REQUIRED This is the
AutoCAD Entity Handle. It defines the specific Block Reference (Insert)
being modified.
Attributes
REQUIRED Marks the set of
Attribute change commands. Required even if only one Attribute record is
defined.
Attribute
REQUIRED
Defines each Attribute change
commands.
Tag
REQUIRED
The Tag name for the Attribute
Definition
String
REQUIRED
The value to be used for that
Tag.
[TOP]
The second section of the changes portion of the XML file allows the user to change existing Polylines. The section begins with a <Polylines> tag and ends with a </Polylines> tag. One or more <Polyline> sections can be defined between the <Polylines>/</Polylines> tags.
The general syntax for the Polylines changes section of the XML file is:
<Polylines>
The following attributes can be modified:
[TOP]
The following allows the user to change the color a given polyline.
XML Syntax
<Polyline>
<Handle>C7
</Handle>
<Color>1
</Color>
</Polyline>
XML Specifics
Handle
REQUIRED This
is the AutoCAD Entity Handle. It defines the specific polyline
being modified.
Color
REQUIRED This is the color
to change to.
[TOP]
The following allows the user to change the linestyle for the polyline. The default if nothing is listed is "Continuous".
XML Syntax
<Polyline>
<Handle>D5
</Handle>
<Linestyle>Dashed
</Linestyle>
</Polyline>
XML Specifics
Handle
REQUIRED
This is
the AutoCAD Entity Handle. It defines the specific Polyline
being modified.
Linestyle
REQUIRED
This is the
linestyle to change to.
[TOP]
The following syntax allows the user to apply a hatch to the given polyline.
XML Syntax
<Polyline>
<Handle>D5
</Handle>
<HatchType>ANSI33
</HatchType>
<HatchScale>2.5
</HatchScale>
<HatchAngle>45 </HatchAngle>
</Polyline>
XML Specifics
Handle
REQUIRED This is the AutoCAD Entity Handle. It defines the
specific polyline being modified. A listing of standard AutoCAD hatch
patterns can be found at http://www.etecad.com/download/hatchpats.pdf . However,
users can define their own hatch patterns
also.
HatchType
REQUIRED This is the Hatch Type
to use to hatch the polyline.
HatchScale
OPTIONAL This is the scale to use
in creating the hatch. A larger scale will result in further distance
between lines in the hatch. The default is
1.0
HatchAngle
OPTIONAL This is the
angle to use in creating the hatch. The hatch will be created
rotated at the angle specified. The default is
0.
[TOP]
The following topics describe how to add new entities to the drawing file via the XML file. Each topic describes what is to be done, shows sample XML syntax and an image of the result.
The section begins with a <Add> tag and ends with a </Add> tag. One or more <AreaData> sections can be defined between the <Add>/</Add> tags.
The general syntax for the Block Reference changes section of the XML file is:
<Add>
<AreaData>
...
</AreaData>
<AreaData>
...
</AreaData>
<AreaData>
...
</AreaData>
</Add>
<Add>
<AreaData>
<Id>TI00003195</Id>
<Color>magenta</Color>
<ObjectNodes>
<ObjectNode Data1="Overview" Data2="RoomDetails"
/>
<ObjectNode Data1="Desk" Data2="Oak - 3x6" />
<ObjectNode Data1="Chair" Data2="Swivel - XLarge" />
</ObjectNodes>
<Outline>
<DataLine x1="6518" y1="6521" x2="5663" y2="6521" />
<DataLine x1="5663" y1="6521" x2="5663" y2="9656" />
<DataLine x1="5663" y1="9656" x2="1768" y2="9656" />
<DataLine x1="1768" y1="9656" x2="1768" y2="4051" />
<DataLine x1="1768" y1="4051" x2="6518" y2="4051" />
<DataLine x1="6518" y1="4051" x2="6518" y2="6521" />
</Outline>
<HatchType>ANSI32</HatchType>
<Hyperlink>www.cadviewer.com</Hyperlink>
</AreaData>
</Add>
Topics:
[TOP]
Currently AutoXChange 2011 allows the user to add one or more Block References (Inserts) via the XML file. Each insert must contain one or more line or polyline entities. Optionally it may also contain a text entity, database linkages and hyperlinks. Several items are required in the XML for all Block Reference additions.
XML Syntax
<AreaData>
<Id>TI00003195</Id>
<Color>magenta</Color>
</AreaData>
AreaData
REQUIRED This marks the
beginning and ending of the entity definition. Everything between the
<AreaData>/</AreaData> tags relates to a single Area definition
(or Block). There can be one
or many AreaData sections in
the XML file.
Id
REQUIRED This is the
name of the Block Definition. This must be unique and should not already
exist in the drawing. If the Id is not unique then all
such AreaData sections will be
combined into one.
Color
OPTIONAL This is the color to make the entities. If no
color is listed then
Black is used.
[TOP]
You can add an outline using either points or lines. When defining the outline using lines each line is listed separately. You must be careful that the lines form a closed polygon if you want it hatched.
XML Syntax
<Outline>
<DataLine
x1="6518" y1="6521" x2="5663" y2="6521" />
<DataLine
x1="5663" y1="6521" x2="5663" y2="9656" />
<DataLine
x1="5663" y1="9656" x2="1768" y2="9656" />
<DataLine
x1="1768" y1="9656" x2="1768" y2="4051" />
<DataLine
x1="1768" y1="4051" x2="6518" y2="4051" />
<DataLine
x1="6518" y1="4051" x2="6518" y2="6521" />
</Outline>
Alternate Syntax:
<Outline>
<DataLine>
<x1>6518</x1>
<y1>6521</y1>
<x2>5663</x2>
<y2>6521</y2>
</DataLine>
<DataLine>
<x1>5663</x1>
<y1>6521</y1>
<x2>5663</x2>
<y2>9656</y2>
</DataLine>
<DataLine>
<x1>5663</x1>
<y1>9656</y1>
<x2>1768</x2>
<y2>9656</y2>
</DataLine>
<DataLine>
<x1>1768</x1>
<y1>9656</y1>
<x2>1768</x2>
<y2>4051</y2>
</DataLine>
<DataLine>
<x1>1768</x1>
<y1>4051</y1>
<x2>6518</x2>
<y2>4051</y2>
</DataLine>
<DataLine>
<x1>6518</x1>
<y1>4051</y1>
<x2>6518</x2>
<y2>6521</y2>
</DataLine>
</Outline>
Outline
Denotes the start of the outline (polyline).
DataLine
Marks the start of a line to be added.
X1,
Y1
The
X and Y coordinates of the start of the line
X2,
Y2
The
X and Y coordinates of the end of the
line
[TOP]
You can add an outline using either points or lines. When defining the outline using points the points will form a single polyline. If the first and last points are not the same, an extra point will be added to ensure a closed polyline.
XML Syntax
<Outline>
<DataPoint x="10" y="35" />
<DataPoint x="20" y="35" />
<DataPoint x="20" y="45" />
<DataPoint x="10" y="45" />
</Outline>
Alternate Syntax:
<Outline>
<DataPoint >
<x>10</x>
<y>35</y>
</DataPoint >
<DataPoint
>
<x>20</x>
<y>35</y>
</DataPoint
>
<DataPoint
>
<x>20</x>
<y>45</y>
</DataPoint
>
<DataPoint
>
<x>10</x>
<y>45</y>
</DataPoint
>
</Outline>
Outline
Denotes the start of the
outline (polyline).
DataLine
Marks the start of a
line to be added.
X,
Y
The X
and Y coordinates of each point
[TOP]
You can hatch the new polyline by defining the HatchType and, optionally, the HatchScale.
XML Syntax
<HatchType>ANSI32</HatchType>
<HatchScale>1.5</HatchScale>
<HatchAngle>45</HatchAngle>
XML Specifics
HatchType
REQUIRED This is the Hatch Type
to use in hatching the polyline. A listing of standard AutoCAD hatch
patterns can be found at http://www.etecad.com/download/hatchpats.pdf
. However, users can define their own hatch patterns
also.
HatchScale
OPTIONAL This is the scale to use
in creating the hatch. A larger scale will result in further distance
between lines in the hatch. The default is
1.0
HatchAngle
OPTIONAL This is the
angle to use in creating the hatch. The hatch will be created
rotated at the angle specified. The default is
0.
[TOP]
The following syntax allows the user to add a hyperlink (URL) for the given Block Reference. All entities in the Block Reference will be part of the hyperlink (including any text added using the XML file).
The user can define a second string, the Hyperlink Comment, that will be displayed instead of the actual Hyperlink when the drawing is viewed.
XML Syntax
<Hyperlink>www.cadviewer.com</Hyperlink>XML Specifics
Name | This is the name of the Block Definition. This is actually optional, but makes the file easier to read. |
Handle | This is the AutoCAD Entity Handle. It defines the specific Block Reference (Insert) being modified. |
Hyperlink | The hyperlink for this Block Reference. The Hyperlink can be Javascript commands, not just URLs. |
Comment | The text string to display instead for the Hyperlink. |
[TOP]
The following topics describe how to add new text entities to the drawing file via the XML file. Text elements can be added to a given block or to the drawings ModelSpace. Each topic describes what is to be done and shows sample XML syntax.
The section begins with a <TextNodes> tag and ends with a </TextNodes> tag. One or more <TextNode> sections can be defined between the <TextNodes>/</TextNodes> tags.
The general syntax for the Block Reference changes section of the XML file is:
<TextNodes>
<TextNodes>
...
</TextNodes>
<TextNodes>
...
</TextNodes>
<TextNodes>
...
</TextNodes>
</TextNodes>
XML Sample
<TextNodes>Topics
[TOP]
The user can define text strings to be added to a given block or the ModelSpace of the drawing.
XML Syntax
<TextNode>
<String>A Text
String</String>
<Font>Arial</Font>
<Height>20.5</Height>
<x>10.0</x>
<y>10.0</y>
</TextNode>
TextNode
REQUIRED This marks the beginning
and ending of the text entity definition. Everything
between the <TextNode>/</TextNode> tags relates to a single
text definition. There can be one or many TextNode sections in the XML
file.
String
REQUIRED This is the text string to add
to the drawing. It can be a single or multiple line text
string. Add "\P" to the text string to define a line break in a
multiple line string.
Height
OPTIONAL
This is the height to use for the
string.
x
OPTIONAL
This is the horizontal offset (in drawing units)
for the center of the string. The default is
zero.
y
OPTIONAL This is the
vertical offset (in drawing units)
for the center of the string. The default is
zero.
[TOP]
The text strings can be added to a given block or the ModelSpace of the drawing. If the BlockName item is not defined then the string will be added to the drawing's ModelSpace.
XML Syntax
<BlockName>RA00000032</BlockName>
XML Specifics
BlockName
OPTIONAL This is the name of the
Block to add the text string to. If the
Block does not exist in the
drawing then the TextNode is ignored. If
no BlockName is defined then the TextNode is added to the ModelSpace
instead.
[TOP]