Adb Api
Adb Api
Miscellaneous
IADBConditionList
IADBMsgQueue
IADB
Methods Description
Sub Initialise(UserName Initialise the ADB application and logon to ADB
As String, Password As
String)
Sub UnInitialise Close all database connections. Must be called once before application
terminates
Function Exists(Project Returns True if the named Entity exists. Type:
As String, Name As String, Component=0,Assembly=1,Room=2,Department=3,Activity=4,Project
Type As Integer) As Class=5,Department Class=6,Room Class=7,Assembly
Boolean Class=8,Component Class=9,Activity Class=10, Cat1=11, Cat2=12,
Cat3=13, User=14, Grp=15, P=16, UsrLayer=17, Brand=18, Model=19,
Supplier=20
Function GetLastError() Returns an IADB_MsgQueue object holding the full error stack for the
As Object last error
Function Is this code already in use by a Department, Room, Assembly or
IsCodeInUse(Project As Component within the specified Project
String, Code As String) As
Boolean
Function Messaging support – used for Web Services and AutoCAD
ProcessMessage(Msg As Msg – Message number see Appendix
Integer, K1 As String, K2 K1 – Public key (username)
As String, Param1 As K2 – Private key (password)
String, Param2 As String, Param1,2,3 - Parameters
Param3 As String) As
String
‘ Uninitialise ADB
oADB.UnInitialise
Methods Description
Function AsXml() As String Returns the project definition as an XML string
see Appendix for definition.
Sub Close() Reset all Project attributes. The Project must be
Open.
Function ComponentSchedule() As Object Generate a Project Component Schedule.
Sub Delete() Delete the Project
Sub DeleteUnusedDate(Type As Integer) Delete unused entities. 1 = Dept, 2 = Room, 3 =
(note typo) Assy, 4 = Component, 5 = Activity
Function FromXml(lpszXml As String) As String Creates a project entity from a project definition
as an XML string see Appendix for definition.
Function GetLastError() As Object Returns an IADB_MsgQueue object holding the
full error stack for the last error
Function IsDirty() As Boolean True if the Project has been modified since it was
Opened
Function IsOpen() As Boolean True if the Project has been Opened
Sub Open() Read the Project details from the ADB database.
The Name property must be set before calling this
method
‘ Close
oProject.Close
Project Example 2
‘ Output the Component Schedule for a Project – it is assumed ADB has been initialised
‘ Output
Debug.Print oSchedule.Name, oSchedule.Description, _
oSchedule.NewCount, oSchedule.Group
‘ Next Item
oSchedule.MoveNext
Wend
Endif
Methods Description
Function ActivitySchedule() As Object Returns a Department Activity Schedule
IADBActivitySchedule
Sub AddChild(ChildType As Integer, Name As Add a child of the specified type (0 = Component,
String, NewCount As Long, TransferCount As 1 = Assembly, 2 = Room) to the Department.
Long) The approprate RoomSchedule must also be open.
Note: the ADB Explorer only supports adding
Roo ms to Departments.
Function AssemblySchedule() As Object Generate an Assembly Schedule for this
Department
Function AsXml() As String Returns the Department definition as an XML
string see Appendix for definition.
Sub Close() Reset all Department attributes and close any
open schedules. The Department must be Open.
Function ComponentSchedule() As Object Returns a Department Component Schedule.
IADBComponentSchedule
Sub Delete() Delete the Department
Sub DeleteChild(ChildType As Integer, Name As Delete a child of the specified type (0 =
String, NewCount As Long, TransferCount As Component, 1 = Assembly, 2 = Room) from the
Long) Department. The approprate RoomSchedule must
also be open. Note: the ADB Explorer only
supports deleting Rooms from Departments.
Function FromXml(lpszXml As String) As String Creates a Departmententity from a Department
definition as an XML string see Appendix for
definition.
Function GetLastError() As Object Returns an IADB_MsgQueue object holding the
full error stack for the last error
Function IsDirty() As Boolean True if the Department has been modified since it
was Opened
Function IsOpen() As Boolean True if the Department has been Opened
Sub Open() Read the Department details from the ADB
database. The Name & Project properties must be
set before calling this method
‘ Open a Department
Dim oDepartment As IADBDepartment
Set oDepartment = New IADBDepartment
‘ Close
oDepartment.Close
Department Example 2
‘ Create new Department – it is assumed ADB has been initialised
‘ Open a Department
Dim oDepartment As IADBDepartment
Set oDepartment = New IADBDepartment
‘ Save the Department and set the revision date to the current date
oDepartment.Save True, True
‘ Close
oDepartment.Close
‘ Open a Department
Dim oDepartment As IADBDepartment
Set oDepartment = New IADBDepartment
‘ Save the Department and set the revision date to the current date
oDepartment.Save True, True
Department Example 4
‘ Output the Room Schedule for a Department – it is assumed ADB has been initialised
‘ Open a Department
Dim oDepartment As IADBDepartment
Set oDepartment = New IADBDepartment
‘ Output data
Debug.Print oSchedule.Name, oSchedule.Description, oSchedule.NewCount
‘ Next record
oSchedule.MoveNext
Wend
Endif
Department Example 5
‘ Output the Component Schedule for a Department - it is assumed ADB has been initialised
‘ Open a Department
Dim oDepartment As IADBDepartment
Set oDepartment = New IADBDepartment
‘ Output data
Debug.Print oSchedule.Name, oSchedule.Description, _
oSchedule.Group , oSchedule.NewCount
Endif
Methods Description
Function ActivitySchedule() As Object Returns a Room Activity Schedule
IADBActivitySchedule
Sub AddChild(ChildType As Integer, Name As Add a child of the specified type (0 = Component,
String, NewCount As Long, TransferCount As 1 = Assembly, 2 = Activity) to the Room. The
Long) approprate Schedule must also be open.
Function AssemblySchedule() As Object Returns an Assembly Schedule
IADBAssemblySchedule for the Room
Function AsXml() As String Returns the Room definition as an XML string see
Appendix for definition.
Sub ChildDisposition(Type As Integer, Name As Adjust the New & Transferred counts for the
String, NewCount As Long, TransferCount As specified child entity. NewCount + TransferCount
Long) must equal the current total count. Components:
ChildType = 0
Sub ClearSubEntityMask() Remove any previously set Sub-Entity filters
Sub Close() Reset all Room attributes and close any open
schedules. The Room must be Open.
Function ComponentSchedule() As Object Returns a Room Component Schedule.
IADBComponentSchedule
Sub Delete() Delete the Room
Sub DeleteChild(ChildType As Integer, Name As Delete a child of the specified type (0 =
String, NewCount As Long, TransferCount As Component, 1 = Assembly, 2 = Activity) from
Long) the Room. The approprate Schedule must also be
open.
Function FromXml(lpszXml As String) As String Creates a Room entity from a Room definition as
an XML string see Appendix for definition.
Function GetLastError() As Object Returns an IADB_MsgQueue object holding the
full error stack for the last error
Sub GetSpaceBox(X1 As Double, Y1 As Double, Get the coordinates of two opposite corners of a
Z1 As Double, X2 As Double, Y2 As Double, Z2 bounding cube which fully encloses the Room
As Double)
Function IsDirty() As Boolean True if the Room has been modified since it was
Opened
‘ Space data
Debug.Print oRoom.Area, oRoom.Height
‘ Personnel
Debug.Print oRoom.Personnel
‘ Planning Relationships
Debug.Print oRoom.PlanningRelationships
‘ Environmental Data
Debug.Print oRoom.WinterTemperature
‘ Close
oRoom.Close
‘ Space data
oRoom.Area = 20.0
oRoom.Height = 2400
‘ Personnel
oRoom.Personnel = “1-Patient, 2-Others”
‘ Planning Relationships
oRoom.PlanningRelationships = “Adjacent to staff base”
‘ Environmental Data
oRoom.WinterTemperature = 21.0
‘ Save the Room and set the revision date to the current date
oRoom.Save True, True
‘ Close
oRoom.Close
‘ Open a Room
Dim oRoom As IADBRoom
Set oRoom = New IADBRoom
‘ Output data
Debug.Print oActSchedule.Name, oActSchedule.Description
‘ Next record
oActSchedule.MoveNext
Wend
‘ Output data
Debug.Print oAssySchedule.Name, oAssySchedule.Description, _
oAssySchedule.NewCount
‘ Next record
oAssySchedule.MoveNext
Wend
‘ Open the Component schedule
Dim oCompSchedule As IADBComponentSchedule
Set oCompSchedule = oRoom.ComponentSchedule
oCompSchedule.Open
‘ Output data
Debug.Print oCompSchedule.Name, oCompSchedule.Description, _
oCompSchedule.NewCount, oCompSchedule.TransferCount, _
oCompSchedule.Group
‘ Next record
oCompSchedule.MoveNext
Wend
Methods Description
Function ActivitySchedule() As Object Returns an Assembly Activity Schedule
IADBActivitySchedule
Sub AddChild(ChildType As Integer, Name As Add a child of the specified type (0 = Component,
String, NewCount As Long, TransferCount As 1 = Assembly, 2 = Activity) to the Assembly. The
Long) approprate Schedule must also be open.
Function AssemblySchedule() As Object Returns an Assembly Schedule
IADBAssemblySchedule for the Room
Function AsXml() As String Returns the Assembly definition as an XML string
see Appendix for definition.
Sub ClearSubEntityMask() Remove any previously set Sub-Entity filters
Sub Close() Reset all Assembly attributes and close any open
schedules. The Assembly must be Open.
Function ComponentSchedule() As Object Returns a Assembly Component Schedule.
IADBComponentSchedule
Sub Delete() Delete the Assembly
Sub DeleteChild(ChildType As Integer, Name As Delete a child of the specified type (0 =
String, NewCount As Long, TransferCount As Component, 1 = Assembly, 2 = Activity) from
Long) the Assembly. The approprate Schedule must also
be open.
Function FromXml(lpszXml As String) As String Creates an Assembly entity from an Assembly
definition as an XML string see Appendix for
definition.
Function GetLastError() As Object Returns an IADB_MsgQueue object holding the
full error stack for the last error
Sub GetSpaceBox(X1 As Double, Y1 As Double, Get the coordinates of two opposite corners of a
Z1 As Double, X2 As Double, Y2 As Double, Z2 bounding cube which fully encloses the Room
As Double)
Function IsDirty() As Boolean True if the Assembly has been modified since it
was Opened
Function IsOpen() As Boolean True if the Assembly has been Opened
Sub Open() Read the Assembly details from the ADB
database. The Name & Project properties must be
set before calling this method
‘ Close
oAssembly.Close
‘ Save the Assembly and set the revision date to the current date
oAssembly.Save True, True
‘ Close
oAssembly.Close
‘ Output data
Debug.Print oActSchedule.Name, oActSchedule.Description
‘ Next record
oActSchedule.MoveNext
Wend
‘ Output data
Debug.Print oAssySchedule.Name, oAssySchedule.Description, _
oAssySchedule.NewCount
‘ Next record
oAssySchedule.MoveNext
Wend
‘ Open the Component schedule
Dim oCompSchedule As IADBComponentSchedule
Set oCompSchedule = oAssembly.ComponentSchedule
oCompSchedule.Open
‘ Output data
Debug.Print oCompSchedule.Name, oCompSchedule.Description, _
oCompSchedule.NewCount, oCompSchedule.TransferCount, _
oCompSchedule.Group
‘ Next record
oCompSchedule.MoveNext
Wend
‘ Close
oComponent.Close
‘ Open the Component and set the Description and other properties
oComponent.Open
oComponent.Description = “DEFIBRILLATOR”
oComponent.Class = “2301”
oComponent.Group = “3”
oComponent.Cost = 2000.0
‘ Save the Component and set the revision date to the current date
oComponent.Save True, True
‘ Close
oComponent.Close
‘ Open a Component
Dim oComponent As IADBComponent
Set oComponent = New IADBComponent
‘ Output data
Debug.Print oModSchedule.Name, oModSchedule.Description, _
oModSchedule.Brand, oModSchedule.Supplier, _
oModSchedule.Cost, oModSchedule.IsDefault
‘ Next record
oModSchedule.MoveNext
Wend
Methods Description
Function AsXml() As String Returns the Activity definition as an XML string
see Appendix for definition.
Sub Close() Reset all Activity attributes. The Activity must be
Open.
Sub Delete() Delete the Activity
Function FromXml(lpszXml As String) As Creates an Activity entity from an Activity
String definition as an XML string see Appendix for
definition.
Function GetLastError() As Object Returns an IADB_MsgQueue object holding the full
error stack for the last error
Function IsDirty() As Boolean True if the Activity has been modified since it was
Opened
Function IsOpen() As Boolean True if the Activity has been Opened
Sub Open() Read the Activity details from the ADB database.
The Name & Project properties must be set before
calling this method
‘ Close
oActivity.Close
‘ Open the Activity and set the Description and other properties
oActivity.Open
oActivity.Description = “Washing Activity”
oActivity.Class = “3310”
‘ Save the Activity and set the revision date to the current date
oActivity.Save True, True
‘ Close
oActivity.Close
Methods Description
Function AsXml() As String Returns the Brand definition as an XML string see
Appendix for definition.
Sub Close() Reset all Brand attributes. The Brand must be
Open.
Sub Delete() Delete the Brand
Function FromXml(lpszXml As String) As Creates an Brand entity from an Brand definition
String as an XML string see Appendix for definition.
Function GetLastError() As Object Returns an IADB_MsgQueue object holding the
full error stack for the last error
Function IsDirty() As Boolean True if the Brand has been modified since it was
Opened
Function IsOpen() As Boolean True if the Brand has been Opened
Sub Open() Read the Brand details from the ADB database.
The Name & Project properties must be set before
calling this method
‘ Close
oBrand.Close
‘ Open the Brand and set the Description and other properties
oBrand.Open
oBrand.Description = “Hewlett Packard”
‘ Save the Brand and set the revision date to the current date
oBrand.Save True, True
‘ Close
oBrand.Close
Methods Description
Function AsXml() As String Returns the Supplier definition as an XML string
see Appendix for definition.
Sub Close() Reset all Supplier attributes. The Supplier must be
Open.
Sub Delete() Delete the Supplier
Function FromXml(lpszXml As String) As Creates an Supplier entity from an Supplier
String definition as an XML string see Appendix for
definition.
Function GetLastError() As Object Returns an IADB_MsgQueue object holding the
full error stack for the last error
Function IsDirty() As Boolean True if the Supplier has been modified since it was
Opened
Function IsOpen() As Boolean True if the Supplier has been Opened
Sub Open() Read the Supplier details from the ADB database.
The Name & Project properties must be set before
calling this method
‘ Close
oSupplier.Close
‘ Open the Supplier and set the Description and other properties
oSupplier.Open
oSupplier.Description = “Agilent”
‘ Save the Supplier and set the revision date to the current date
oSupplier.Save True, True
‘ Close
oSupplier.Close
Methods Description
Function AsXml() As String Returns the Model definition as an XML string see
Appendix for definition.
Sub Close() Reset all Model attributes. The Activity must be
Open.
Sub Delete() Delete the Model
Function FromXml(lpszXml As String) As Creates an Model entity from an Model definition
String as an XML string see Appendix for definition.
Function GetLastError() As Object Returns an IADB_MsgQueue object holding the
full error stack for the last error
Function IsDirty() As Boolean True if the Model has been modified since it was
Opened
Function IsOpen() As Boolean True if the Model has been Opened
Sub Open() Read the Model details from the ADB database.
The Name & Project properties must be set before
calling this method
‘ Close
oModel.Close
‘ Close
oModel.Close
IADBProjectBrows eList
IADBDepartmentBrows eList
IADBRoomBrowseList
IADBAss emblyBrows eList
IADBComponentBrows eList
IADBActivityBrowseList
IADBModelBrows eList
IADBBrandBrows eList
IADBSuppli erBrowseList
Commo m Properties
IADBDepartmentBrows eList
IADBRoomBrowseList
IADBComponentBrowseList
IADBBrandBrowseList
IADBSuppli erBrowseList
IADBModelBrowseList
Commo n Methods
Methods Description
Sub Close() Reset all BrowseList attributes. The BrowseList
must be Open.
Function GetLastError() As Object Returns an IADB_MsgQueue object holding the
full error stack for the last error
Function IsDirty() As Boolean True if the BrowseList l has been modified since it
was Opened
Function IsOpen() As Boolean True if the BrowseList l has been Opened
‘ Close
oRoomBL.Close
' Close
oRoomBL.Close
' Close
oCompBL.Close
' Close
oCompBL.Close
Commo m Properties
IADBRoomSchedule
IADBSequencedRoomSchedule
IADBAssemblySchedule
IADBComponentSchedule
IADBModelSchedule
Commo n Methods
Methods Description
Sub Close() Reset all Schedule attributes. The BrowseList must
be Open.
IADBModelSchedule
Methods Description
Sub AddModel(sName As String, sDescription As As support for Models etc. was added at a later
String, sModelCode As String, sModelType As date the an the Add method has been assigned to
String, sBrand As String, sBrandCode As String, the ModelSchedule tarther than the Component
sSupplier As String, sSupplierCode As String, Entity.
fPrice As Double, dDate As Date) sDescription, sModelType, sBrand, sSupplier,
fPrice and date are not used and should be assigned
place holder values e.g. “” for strings 0.0 for reals
and Now for dates.
Sub Delete (sCode as String) Delete the Model specified by its code from the
schedule.
Sub Save Save the Model schedule to the database
' Output
Debug.Print oSchedule.Name, oSchedule.Description, _
oSchedule.NewCount, oSchedule.Group
ScheduleExample2
' Output
Debug.Print oSchedule.Name, oSchedule.Description, _
oSchedule.NewCount, oSchedule.Group
ScheduleExample3
' Output
Debug.Print oSchedule.Name, oSchedule.Description, _
oSchedule.NewCount
ScheduleExample4
' Output the Room Schedule for an aplhanumeric ordered, room ordered
' or sequenced Department
' - it is assumed ADB has been initialised
' Output
If oDepartment.Order = "S" Then
Debug.Print oSchedule.Name, oSchedule.Description, oSchedule.Quantity
ElseIf oDepartment.Order = "R" Then
Debug.Print oSchedule.Name, oSchedule.Description, oSchedule.RoomNumber
Else
Debug.Print oSchedule.Name, oSchedule.Description, oSchedule.NewCount
End If
Error handling
ErrorHandlingExample1
ErrorHandlingExample1_err:
End Sub
Message based processing provides an alternative method of accessing and updating ADB data
competely through XML. It is the only method of using the ADB API with web services and
AutoCAD.
IADB
Methods Description
Sub Initialise(UserName Initialise the ADB application and logon to ADB
As String, Password As
String)
Sub UnInitialise Close all database connections. Must be called once before application
terminates
Function Messaging support – used for Web Services and AutoCAD
ProcessMessage(Msg As Msg – Message number see Appendix
Integer, K1 As String, K2 K1 – Public key (username)
As String, Param1 As K2 – Private key (password)
String, Param2 As String, Param1,2,3 - Parameters
Param3 As String) As
String
Messaging Example 1
Messaging Example 2
' Extracting data from a Project Department Browse List returned as XML
' – it is assumed ADB has been initialised
' Use Document Object Model (DOM) parser to extract the data
' This requires a reference to DOM parser - Microsoft XML, v3.0 will do
Dim oDOMDoc As DOMDocument
Dim oXMLNodeList As IXMLDOMNodeList
Dim oXMLNode As IXMLDOMNode
Dim oXMLChildNode As IXMLDOMNode
Messaging Example 3
' Process the message - note the password must be prepended with [PLAINTEX T]
Dim sXML As String
sXML = oADB.ProcessMessage(218, "manager", "[PLAINTEXT]adb", "DEMO1",
"B0303", "")
' Extracting data from a Room returned as XML – it is assumed ADB has been initialised
' Process the message - note the password must be prepended with [PLAINTEX T]
Dim sXML As String
sXML = oADB.ProcessMessage(218, "manager", "[PLAINTEXT]adb", "DEMO1",
"B0303", "")
' Use Document Object Model (DOM) parser to extract the data
' This requires a reference to DOM parser - Microsoft XML, v3.0 will do
Dim oDOMDoc As DOMDocument
Dim oXMLNode As IXMLDOMNode
Dim oXMLAtts As IXMLDOMNamedNodeMap
' Get the main Entity element this will enable retrieval of the attributes
Set oXMLNode = oDOMDoc.selectSingleNode("ADBEntity")
Dim sCode As String
' Get the Description element this will enable retrieval of the attributes
Set oXMLNode = oDOMDoc.selectSingleNode("ADBEntity/Description")
Dim sDescription As String
sDescription = oXMLNode.Text
Debug.Print sCode, sDescription
Messaging Example 5
' Filtered Project Room List – it is assumed ADB has been initialised
' Process the message - note the password must be prepended with [PLAINTEX T]
' P1 is the Project code
' P2 is the Filter string e.g. [Code like 'C%']
Dim sFilter As String
sFilter = "[Code like 'C%']"
Dim sXML As String
sXML = oADB.ProcessMessage(14, "manager", "[PLAINTEXT]adb",
"ADB204", sFilter, "")
' Room, Assembly or Component graphic definition as XML – it is assumed ADB has been
initialised
' Process the message - note the password must be prepended with [PLAINTEX T]
' P1 Project code
' P2 Room or Assembly code
' P3 View Code -3,-P,-E,SE,TE,RE
Dim sXML As String
sXML = oADB.ProcessMessage(500, "manager", "[PLAINTEXT]adb", "ADB204",
"EA1631", "-P")
Key:
PC – Project Code
EC – Entity Code
REC – Replacement Entity Code
CS – Connect stri ng
e.g. PROVIDER=MICROS OFT.JET.OLEDB.4.0;DATA SOURCE = C:\PROGRAM
FILES\DHEFD\ACTIVITY DATABASE\PROJECTS\ADB204.MDB
Tree view
100 List of servers
101 List of projects
PC FS 102 List of departments
PC FS 103 Department room schedule
PC FS 104 Room assembly schedule
PC FS 105 Assembly component schedule
Entity
PC 200 User has write access to project
UR XMLED 201 Update Project
UR XMLED 202 Update Department
UR XMLED 203 Update Room
UR XMLED 204 Update Assembly
UR XMLED 205 Update Component
UR XMLED 206 Update Activity
UR XMLED 207 Update Model
UR XMLED 208 Update Supplier
UR XMLED 209 Update Brand
XMLI 210 Delete Department Rooms
XMLI 211 Delete Room Assemblies, Components and Activities
XMLI 212 Delete Assembly Sub-Assemblies, Components and Activitie
XMLI 213 Delete Component Models
XMLI 214 Add Department Rooms
XMLI 215 Add Room Assemblies, Components and Activities
XMLI 216 Add Assembly Sub-Assemblies, Components and Activities
XMLI 217 Add Component Models
PC EC Get the full entity properties – USE FOR ALL ENTITIES
218 EXCEPT ACTIVITES
PC EC 219 Check if any entity with this code already exists in the Projec
220 Update and entities properties and schedules
PC EC 221 Check if Project with this code exists
PC EC 222 Check if a Department with this code exists in the Project
PC EC 223 Check if a Room with this code exists in the Project
PC EC 224 Check if a Assembly with this code exists in the Project
Project
Department
Assembly
Component
Activity
Interface Entity
<ADBEntity Project=”DEMO1”
TargetProject=””
EntityType="R”
EntityName=”B0303”
TargetEntityName=””
Suffix=””
UpdateRevisionDate=”Yes”
RevisionDate=”24-Aug-2007”
Notes=””
User1=””
User2=””
User3=””
User4=””
User5=””
Class=””
Description=”Single Bedroom”>
<ChildEntityChangeList Project=”DEMO1" EntityType=”C”>
<ChangeListItem EntityName=”OUT010”
Quantity=”4” ID=”” InstanceAttribute=””>
<ChangeListItem EntityName=”CHA017”
Quantity=”2” ID=”” InstanceAttribute=””>
….
</ChildEntityChangeList>
</ADBEntity >
Note:
1. Quantity is the actual quantity and not the change
2. ID is the instance ID and only used for Room Ordered Departments
3. InstanceAttribute is the Room Number or Sequence Number
Audit
<ICLEntityHistory>
<ICLEntityHistoryEntry>
<pk> </pk>
<entityid> </entityid>
<entitycode> </entitycode>
<entitydescription> </entitydescription>
<version> </version>
<who> </who>
<what> </what>
<why> </why>
<when> </when>
<requestedby> </requestedby>
<authorisedby> </authorisedby>
Supplier
Model
<ICL_GFXVectorList Count="6">
<ICL_GFXLine LineStyle="CONTINUOUS" Layer="0" X1="0.00" Y1="-172.50"
Z1="0.00" X2="0.00" Y2="-230.00" Z2="0.00"/>
<ICL_GFXArc LineStyle="CONTINUOUS" X="0.00" Y="-100.00" Z="0.00"
Radius="42.50" Phi1="3.14" Phi2="0.00"/>
<ICL_GFXLine LineStyle="CONTINUOUS" Layer="0" X1="0.00" Y1="0.00" Z1="0.00"
X2="0.00" Y2="-100.00" Z2="0.00"/>
<ICL_GFXLine LineStyle="CONTINUOUS" Layer="0" X1="72.50" Y1="-100.00"
Z1="0.00" X2="-72.50" Y2="-100.00" Z2="0.00"/>
<ICL_GFXArc LineStyle="CONTINUOUS" X="0.00" Y="-100.00" Z="0.00"
Radius="72.50" Phi1="3.14" Phi2="0.00"/>
<ICL_GFXPolyline Flags="1" LineStyle="CONTINUOUS">
<ICL_GFXPolylineVertex X="-7.59" Y="-187.53" Z="0.00" T1="14.75" T2="14.75"
Bulge="1.00"/>
<ICL_GFXPolylineVertex X="7.66" Y="-187.53" Z="0.00" T1="14.75" T2="14.75"
Bulge="1.00"/>
</ICL_GFXPolyline>
</ICL_GFXVectorList>
</ICL_GFXBlock>
<ICL_GFXBlock Name="OUT215" Layer="A642_1" Type="Primitive"
Description="SOCKET outlet telephone, wall mounted" View="-P" SheetSize="0"
SheetScale="0.02" Group="1" Level="" X1="-1.00" Y1="0.00" Z1="0.00" X2="0.00"
Y2="0.00" Z2="0.00" Phi="0.00">
<ICL_GFXVectorList Count="9">
<ICL_GFXPolyline Flags="1" LineStyle="CONTINUOUS">
<ICL_GFXPolylineVertex X="-6.25" Y="-150.00" Z="0.00" T1="12.50" T2="12.50"
Bulge="1.00"/>
<ICL_GFXPolylineVertex X="6.25" Y="-150.00" Z="0.00" T1="12.50" T2="12.50"
Bulge="1.00"/>
</ICL_GFXPolyline>
<ICL_GFXLine LineStyle="CONTINUOUS" Layer="0" X1="-21.88" Y1="-131.48"
Z1="0.00" X2="-54.09" Y2="-131.48" Z2="0.00"/>