Professional Documents
Culture Documents
AspenBasicEngV7 3 Admin
AspenBasicEngV7 3 Admin
Version: V7.3
March 2011
Copyright 1981 2011 Aspen Technology, Inc. All rights reserved.
Aspen Basic Engineering and the aspen leaf logo are trademarks or registered trademarks of Aspen Technology,
Inc., Burlington, MA.
All other brand and product names are trademarks or registered trademarks of their respective companies.
This documentation contains AspenTech proprietary and confidential information and may not be disclosed, used,
or copied without the prior consent of AspenTech.
ASPENTECH MAKES NO WARRANTY OR REPRESENTATION, EITHER EXPRESSED OR IMPLIED, WIT RESPECT TO
THIS DOCUMENTATION, ITS QUALITY, PERFORMANCE, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR
PURPOSE.
Aspen Technology, Inc.
200 Wheeler Road
Burlington, MA 01803-5501
USA
Phone: (781) 221-6400
Toll free: (888) 996-7001
Website http://www.aspentech.com
Contents
1 About this Guide...................................................................................................1
About Aspen Basic Engineering ..........................................................................1
Related Documentation .....................................................................................1
Technical Support ............................................................................................2
Online Technical Support Center ..............................................................2
Phone and E-mail ...................................................................................3
2 Knowledge Bases and the Rules Editor.................................................................5
Overview of KB API ..........................................................................................6
Rules ....................................................................................................7
Methods ................................................................................................9
Events ................................................................................................ 11
Demons .............................................................................................. 12
Sorts and Filters................................................................................... 15
Writing Compiled KB Code............................................................................... 19
AZQDataService Interface ..................................................................... 19
Registering KB Items ............................................................................ 20
Defining Methods ................................................................................. 21
Defining Rules ..................................................................................... 22
Defining Demons.................................................................................. 22
Defining Events.................................................................................... 24
Defining Sorts...................................................................................... 24
Defining Filters .................................................................................... 25
Global Variables ................................................................................... 26
Handling Arguments ............................................................................. 26
Implementing Data Service Modules in .NET ............................................ 26
Installation and the Config File............................................................... 27
Writing Rules Editor Script............................................................................... 28
Writing the KB Module .......................................................................... 28
Compiling the KB Module ...................................................................... 33
Loading the KB Module ......................................................................... 33
Running the KB Module ......................................................................... 33
Events ................................................................................................ 34
Dynamic Properties .............................................................................. 39
Configuration File ................................................................................. 40
Rules Editor Menus ............................................................................... 41
Rules Editor Toolbar ............................................................................. 44
AZDBQuery Library Object Reference................................................................ 44
AZQKBDialog ....................................................................................... 44
3 Datasheets and the Datasheet Definer ..............................................................47
Datasheets .................................................................................................... 47
Datasheet Definer .......................................................................................... 48
Contents
iii
iv
Contents
About Labels........................................................................................ 75
Graphics Definer ............................................................................................ 75
Starting the Graphics Definer................................................................. 76
7 Defining Symbols and Labels: Worked Examples...............................................77
Example of Creating a New Label ..................................................................... 77
Creating a New Label File ...................................................................... 78
Specifying Label Characteristics ............................................................. 79
Placing and Specifying Value Fields......................................................... 82
Placing and Specifying Plain Text............................................................ 86
Placing and Associating Units Fields ........................................................ 86
Drawing Supplementary Graphics........................................................... 88
Defining a Datum for the Label .............................................................. 88
Defining a Mass Balance Insert Point for the Label.................................... 89
Compiling the New Label File ................................................................. 90
Example of Creating a New Symbol .................................................................. 90
Creating a New Symbol File ................................................................... 90
Drawing a New Symbol ......................................................................... 91
Specifying Symbol Characteristics .......................................................... 91
Specifying Parts and Tool Tips................................................................ 92
Defining a Datum for the Symbol ........................................................... 94
Adding Dimensions to the Symbol .......................................................... 94
Saving the New Symbol File .................................................................. 94
8 Extracting Legacy Symbols and Labels ..............................................................95
Overview of Extracting Symbols and Labels ....................................................... 95
Symbols: Extracting from AutoCAD to the Graphics Definer ................................. 96
Preparation and Background Information ................................................ 96
Converting Symbols from AutoCAD to the Graphics Definer ....................... 98
Labels: Extracting from AutoCAD to the Graphics Definer .................................... 99
Preparation and Background Information ................................................ 99
Converting Labels from AutoCAD to the Graphics Definer ........................ 100
Extracting Legacy Symbols and Labels from Other Packages.............................. 102
Working with Extracted Symbols and Labels .................................................... 102
9 Graphics Definer Menus and Toolbar Buttons ..................................................103
Menus......................................................................................................... 103
File Menu .......................................................................................... 103
Edit Menu.......................................................................................... 104
View Menu ........................................................................................ 104
Definer Menu ..................................................................................... 105
Insert Menu....................................................................................... 106
Format Menu ..................................................................................... 106
Tools Menu........................................................................................ 106
Toolbar Buttons ........................................................................................... 107
Main Toolbar...................................................................................... 107
View Toolbar...................................................................................... 108
Graphics Definer Toolbar ..................................................................... 108
Ribbon Toolbar................................................................................... 109
Draw Toolbar ..................................................................................... 110
Parametric Symbols...................................................................................... 111
Contents
vi
Contents
Contents
vii
viii
Contents
Contents
ix
This guide details the Aspen Basic Engineering processes applicable to a user
with Administrative rights.
The following topics are covered:
Piping Systems.
Using the Graphics Definer (including defining symbols and labels, with
worked examples and extracting legacy symbols and labels.
Administration application.
Bridge.
Related Documentation
In addition to this document, the following documents are provided to help
users learn and use the Aspen Basic Engineering applications.
Title
Content
Getting
Started Guide
On-line Help
Technical Support
Online Technical Support Center
AspenTech customers with a valid license and software maintenance
agreement can register to access the Online Technical Support Center at:
http://support.aspentech.com
You use the Online Technical Support Center to:
Send suggestions.
Technical advisories.
Product updates.
Operating Hours
North America
South America
Europe
Compiled KB code can offer better performance because each module is only
loaded one time during server startup and is not scanned by virus protection
software. Starting in Version 7.3, out-of-the-box KB functions are delivered as
VB.NET projects. Visual Basic 2008 can be used to view and change these
projects, and can be downloaded free from Microsoft at
http://www.microsoft.com/exPress.
This chapter contains information on:
Overview of KB API
Overview of KB API
A KB can consist of a number of different items:
Events that runs when certain Aspen Basic Engineering events occur,
such as the creation of an object or the issuing of a datasheet
Demons that run when attributes of a specified class change their values
Filters that limit the number of items in a list, e.g., the MajorEquipment
Filter causes nozzles and other sub-objects to be excluded
The script simply reads the values of two object attributes, concatenates
them together, and assigns this new value to the ItemNumber attribute.
NamePrecedent, OID, and ItemNumber are all attributes of the classes
derived from PlantItem in the Aspen Basic Engineering data model. The OID
(Object Identifier) is an important system attribute, and each object in the
Aspen Basic Engineering database has a unique integer value for this
attribute. It is frequently used in the scripting language to look up objects.
Rules
Rules have global scope and are not tied to a particular object. Examples
include a function to refresh the project name or to condition heat curves for
all shell and tube heat exchangers.
Rules can use dialog boxes for an easy way to present the user with options
or to ask Yes-or-No questions. Reply Definitions implement the action based
on the users response.
Rule Definitions
Rules are the simplest KB routines. They are completely general functions and
have no special parameters available to them.
Rule Attributes
Required Attributes:
None
Optional Attributes:
Attribute
Meaning
DisplayName
Interactive
True, False
Secure
True, False
ScaleSymbols Rule queries the user for the types of symbols to be scaled,
e.g., arrow, a scaling factor, and the drawings to be manipulated. The Reply
Method will perform the scaling based on the users selection. Since the rule
has global scope, the user is able to select a drawing from a list of drawings
in the workspace using a Combo Box. The name of the Reply Method is
ScaleSymbolsReply.
The inputs parameter defines the value specified by the user, e.g., the
value of inputs("SymbolClass")would be Arrow if the user selected
Arrow as the type of symbol to be scaled.
These two parameters are dictionary objects, so that the values are returned
by specifying the appropriate key value. In the example, SymbolClass is a
dictionary key for Inputs to retrieve the type of symbol to be scaled.
Meaning
Possible Values
Class
Optional Attributes:
Attribute
Meaning
Class
Interactive
True, False
Secure
True, False
DisplayName
inputs
userdata
Methods
Methods define procedures tied to objects by class.
Methods can use dialog boxes for an easy way to present the user with
options or to ask Yes-or-No questions. Reply Definitions implement the action
based on the users response.
Method Definitions
Methods are routines which relate to a particular object; a method runs on
objects for its defined class. Methods can be run from the application menus
or they can be run programmatically. For example, a method can be run from
other methods and rules by passing the method name as a RunMethod
argument, such as Self.RunMethod("AutoName") runs the AutoName
method defined for the class to which Self belongs. Methods are inherited
through the class hierarchy so that a method defined on PowerPort would be
inherited by objects of class MechanicalPowerPort. The inheriting class can
however also declare a method with the same name. The server will
automatically call the method defined for the subclass. For example, if a
method is defined for both the Pump and CentrifugalPump class, the server
will call the Pump Method for all pumps except centrifugal pumps.
Method Attributes
Required Attributes:
Attribute
Meaning
Possible Values
Class
Optional Attributes:
Attribute
Meaning
Class
Interactive
True, False
Secure
True, False
Displayname
The inputs parameter provides the values that the user selected on the
dialog.
These last two parameters are VBScript dictionary objects, so that the values
are returned by specifying the appropriate key value.
Meaning
Possible Values
Class
Optional Attributes:
10
Attribute
Meaning
Class
Interactive
True, False
Secure
True, False
DisplayName
Events
Event Definitions
The Aspen Basic Engineering server raises events when certain actions have
occurred, such as the issuing of a document or the creation of an object. The
events listed below are predefined within the system.
The Event Name is the name that should be used in the Attribute section of
the Event declaration. A reference to the object on which the Event has
occurred is either passed as an argument or can be referenced using the
built-in Self variable for Rules Editor Scripts. There may be a second
parameter called EventData that provides an additional reference for the
event as described in the table below.
When declaring an Event, you must also specify the class of the object in the
Attributes section. This specifies the class of object on which the event can
occur, and provides a means of providing different actions on different classes
of object for the same event:
Event Name
Event Description
Object Reference
EventData Parameter
CreateObject
AZQObject The
created object
Empty
DeleteObject
AZQObject The
deleted object
Empty
CloneObject
AZQObject The
created object
CopyObject
AZQObject The
created object
ChangeClass
AZQObject
ModifyAttribute
AZQObject The
owning object
IAZQAttributeModifyEvent
object. This has two read
only properties
Attribute:AZQAttribute,
Index:long
SubmitDocument
AZQDocument The
document
CheckDocument
AZQDocument The
document
IssueDocument
AZQDocument The
document
WithdrawDocument
AZQDocument The
document
As well as these events provided by the system, you can define your own
events in external modules.
11
Event Attributes
Required Attributes:
Attribute
Meaning
Possible Values
Class
Optional Attributes:
Attribute
Meaning
Possible Values
Class
Example: Event
The following is a small CreateObject example to set the Created By and
Created Date document attributes:
[?Class = Document?]
AZEvent CreateObject ()
' Update necessary information on creating a document
' Should get the user and date and set these on the document
strUser = GetUserName
dteToday = date
self.createdby = strUser
self.createddate = dteToday
end AZEvent
Demons
Demon Definitions
Demons are used when you want a rule to run when an attribute changes.
Since the demon only runs when specific attributes change, demons offer
much better performance than the code based on the Modify Attribute Event.
A Demon consists of two parts:
12
The Pattern defines the attributes that trigger the demon, e.g., the
SetHotFluidAllocation demon for Shell and Tube Heat Exchangers runs
when an inlet or outlet temperature changes.
The Action is the routine that runs when the monitored attribute or
attributes change.
Demon Operation
Demons are registered against specific Aspen Basic Engineering classes. Like
Methods and Events, a Demon can be specified for the class, or the class can
inherit the Demon from its parent class.
When an object is first created, any demons defined for its class (or any
inherited classes) are run. During this first run, the system examines the
pattern part of the demon and determines which Aspen Basic Engineering
data model attributes are read. The system records these attributes so that it
can monitor them for when they change. The action section of the demon is
not run at this time.
When the monitored attributes subsequently change, the Demon is fired again
and the Pattern section is invoked. This time, the system records any new
attributes sampled by the Pattern, and the Pattern makes calls to run the
Action section.
The Action section is used to update Aspen Basic Engineering attributes and
perform other actions. In this way, actions are associated with attributes that
have changed in the Pattern section.
The Pattern and Action sections are coded separately.
Pattern Section
This is the part of the demon that is executed in full whenever the demon is
invoked. Any attribute referenced in this section becomes part of the demons
trigger. For this reason, the pattern should sample only those attributes that
should be monitored for change to improve performance. The Pattern controls
when an Action is invoked by making a call to the PerformAction method. For
example:
[?Class=Pump?]
AZDemon SampleDemon
AZPattern()
Cap = self.Capacity
CMin= Self. MinimumCapacity
CMax= Self. MaximumCapacity
demon.PerformAction Cap, Cmin, CMax
End AZPattern
AZAction()
End AZAction
End AZDemon
The above Demon is run when the Pump is first created to include the
Capacity, MinimumCapacity, and MaximumCapacity attributes within its
trigger. Subsequently, if any of these attributes change, the Pattern is called.
An action is triggered by the call to PerformAction. It is essential for the
Pattern code to only access attributes that should become part of the trigger
for activating the Demon.
13
Action Section
This part of the demon is executed only when called by the AZPattern code.
The AZAction may contain user defined parameters. It is the users
responsibility to ensure that sufficient and matching parameters are supplied
in the call to PerformAction.
Properties:
Property
Type
Meaning
SuspendTrigger
Boolean
Matched
Boolean (Read
Only)
Method
Parameters
Return
Purpose
PerformAction
BeginLoop
None
Methods:
RepeatLoop
See BeginLoop
EndLoop
See BeginLoop
Enumerate
Collection:
Variant
An enumerator
of Collection
items
Automatically handles
Matched state inside the
loop
Example: Demon 1
[?Class=Pump?]
AZDemon SampleDemon
AZPattern()
Pre = self.NamePrefix
C = 0
For Each Nozzle in demon.Enumerate( self.Nozzles)
C = C + 1
14
Demon Attributes
Mandatory Attributes:
Attribute
Meaning
Possible Values
Class
Optional Attributes:
Attribute
Meaning
Possible Values
Class
15
Sorts can be made case sensitive by adding a c or C to follow the < and
>. Finally, you can force a sort to be alphanumeric by adding a * in the
attribute definition (by default the sort is interpreted numerically where
possible).
Sort Attributes
Required Attributes:
Attribute
Meaning
Possible Values
Key
Optional Attributes:
Attribute
Meaning
Possible Values
Key
DisplayName
Example: Sort
[?Key= <* Key1,
Key=<Key2?]
AZSort Sort1()
Key1 = self.Type
Key2 = self.ItemNumber
end AZSort
This example alphanumerically sorts a list of object names in ascending order
of their Types. Where there are two entries of the same type, they are sorted
to appear in descending name order.
Sorts can also be used to organize collections of objects in the script. The
following example lists all piping systems to the KBs trace window in
alphanumeric order.
[?Key= >*Key1?]
AZSort NameSort()
Key1 = self.ItemNumber
16
end AZSort
AZRule ListPipingSystemst()
set cPS = ClassStore.FindClass("PipingSystem")
set mPS = cPS.Members
mPS.Sort = " NameSort "
mPS.refresh
for each oPS in mPS
server.trace 1, oPS.ItemNumber
next
end AZRule
Filter Attributes
Required Attributes:
Attribute
Meaning
Possible Values
Class
Optional Attributes:
Attribute
Meaning
Possible Values
Class
DisplayName
17
Functioning of a Filter
A Filter works on two levels:
1
For instances of classes which match the above, the filter can return TRUE
or FALSE.
You can provide a filter that has no VBScript code, in which case filtering is
done purely on the classes named in the attributes.
Example: Filters
[?
Class=SignalPort,
Class= MaterialPort
?]
AZFilter PortFilter()
End AZFilter
This filter passes any instance of classes SignalPort or MaterialPort and
any objects of classes that were derived from either of these two classes.
[?Class=MaterialPort?]
AZFilter PortFilter ()
if self.Name = "Inlet" then
PortFilter = true
else
PortFilter = false
end if
End AZFilter
This filter passes any instance of class MaterialPort whose Name attribute is
equal to Inlet.
18
AZQDataService Interface
The Aspen Basic Engineering Server can load any user supplied data service
as long as it supports the AZQDataService interface. The AZQDataService
interface provides methods to register different KB routines with the server
and to control execution of these KB routines.
To support the AZQDataService interface in your VB.NET Assembly:
1
Use the Implements key word to declare that your main class will
implement the AZDBQuery.AZQDataService interface
19
Registering KB Items
The Server calls the Register Function on startup for each configured KB
project to find out which KB constructs (methods, Rules, Demons) the project
supports.
To define the KB items you are implementing, you must implement the
Register method.
To implement the Register method:
1. Call IAZQDataServiceRegistrar::SetServiceName. This uniquely
identifies the DataService to the Aspen Basic Engineering Server.
2. Call the appropriate Add methods to define the KB item.
More information about the Add methods for defining each type of KB item is
listed in the Defining Methods section.
20
Example
The following defines a single demon to define hot fluid allocation for a shell
and tube heat exchanger. The SetServiceName function defines the name
space for the KB and is similar to Module Name in the AZKBS Scripts.
Public Sub Register(ByVal Registrar As
AZDBQuery.AZQDataServiceRegistrar) Implements
AZDBQuery.IAZQDataService.Register
Registrar.SetServiceName("ShellAndTubeHeatExchangers")
'Demons
Registrar.AddDemon(1, "SetHotFluidAllocation",
"ShellAndTubeHeatExchanger", False, False)
End Sub
Defining Methods
To define a Method:
1. Call IAZQDataServiceRegistrar::AddMethod from the Register
method.
2. Implement the method handler in IAZQDataService:RunMethod.
Description
iMethodID as Long
MethodName as string
classes as string
displayname as string
description as string
interactive as boolean
secure as boolean
casefixed as boolean
Description
iMethodID as long
MethodName as string
Object as IAZQObject
Args as Variant()
Globals as IAZQGlobals
21
For each method defined using AddMethod, you will need to branch based on
iMethodID in order to handle the correct method call.
Defining Rules
To define a Rule:
1. Call IAZQDataServiceRegistrar::AddRule from the Register method
2. Implement the rule handler in IAZQDataService:RunRule.
Description
iRuleID as Long
RuleName as string
displayname as string
description as string
interactive as boolean
secure as boolean
casefixed as boolean
Description
iRuledID as long
RuleName as string
Args as Variant()
Globals as IAZQGlobals
For each rule defined using AddRule, you will need to branch based on iRuleID
in order to handle the correct rule call.
Defining Demons
To define a Demon
1. Call IAZQDataServiceRegistrar::AddDemon from the Register method.
2. Implement the Pattern matching section of the demon handler in
IAZQDataService:RunDemonPattern.
3. Implement the Action section of the demon handler in
IAZQDataService:RunDemonAction.
22
Description
iDemonID as Long
DemonName as string
classes as string
secure as boolean
casefixed as boolean
Description
iDemonID as long
DemonName as string
Object as IAZQObject
pDemon as
IAZQDemonControl
Globals as IAZQGlobals
The Demon Control object pDemon is the same object as Demon in the
rules language. Call pDemon.PerformAction in order to fire the action section
of the demon.
Description
iDemonID as long
DemonName as string
Object as IAZQObject
pDemon as
IAZQDemonControl
Args as Variant()
Globals as IAZQGlobals
For each Demon defined using AddDemon, you will need to branch based on
iDemonID in both the Pattern and Action handlers in order to handle the
correct demon call.
23
Defining Events
To define an Event:
1. Call IAZQDataServiceRegistrar::AddEventSink from the Register
method.
2. Implement the method handler in IAZQDataService:NotifyEventSink.
Description
iSinkID as Long
eEventID as variant
classes as string
displayname as string
secure as boolean
Description
SinkID As Long
Object As IAZQObject
SinkData() As Variant
Globals As IAZQGlobals
For each event defined using AddEventSink, you will need to branch based on
iSinkID in order to handle the correct event call.
Defining Sorts
To define a Sort:
1. Call IAZQDataServiceRegistrar::AddSort from the Register method
2. Implement the method handler in IAZQDataService:GetSortValues.
24
Arguments
Description
iSortID as Long
SortName as string
displayname as string
description as string
keys() as variant
Description
iSortID As Long
SortName As String
Object As IAZQObject
Globals as IAZQGlobals
For each event defined using AddSort, you will need to branch based on
iSortID in order to handle the correct sort call.
Defining Filters
To define a Filter:
1. Call IAZQDataServiceRegistrar::AddFilter from the Register method.
2. Implement the method handler in IAZQDataService:FilterObject.
Description
iFilterID as Long
FilterName as string
classes as string
displayname as string
description as string
Description
iFilterID As Long
FilterName As String
Object As IAZQObject
Object to be filtered
Globals As IAZQGlobals
Globals object
25
Global Variables
When you write rules in the KBEditor, the rules language defines certain
global variables that are available for the script. When you write these same
rules in Visual Basic, these global variables are not defined. Each of these
globals can be accessed from variables that are passed in through the
argument list of the assorted KB handler methods. The following table lists
these globals variables and how you would access them from the arguments:
KB Global Variable
Server
Globals
ObjectStore
Globals.ObjectStore
ClassStore
Globals.ClassStore
Response
Globals.Response
Self
Object
Handling Arguments
The handler methods for Methods, Rules, and Demons all have a variant array
args as an argument. In the rules language, these arguments would be
listed in the declaration of the AZMethod, AZRule, or AZDemon action section.
In Visual Basic, these arguments are passed as an array.
For a Method or Rule which is handling the reply from a KBDialog (an
AZMethodReply or AZRuleReply), the first argument is a Scripting.Dictionary
object. This dictionary corresponds to the Inputs variable in the rules
language.
You can pass arguments to a method when calling Object.RunMethod or to a
Demon Action handler when calling pDemon.PerformAction. In each case, you
must create a Variant array, set the values of each element, and pass the
array to either RunMethod or PerformAction as the args optional argument.
26
27
Message boxes
28
Comments
These may appear anywhere within the source file. These styles of
comment are recognized:
o
/* comment */
o
comment to end of line
o
// comment to end of line
o
REM comment to end of line
Module Name
The name of the KB module must not be the same as the module name
for any other KB file that is loaded into the workspace. The name appears
as [!Modulename=modulename !] at the beginning of the source file. Only
comments may appear before this.
Private Code
You can define an optional private section to the file. It can contain any
valid VBScript code, including variables, classes, functions and
subroutines, which can be used by any script within the module. Anything
in the private section is not visible outside of this module. The section
starts with [?Private Code?] and finishes with [?End Private Code?].
The remainder of the file consists of Event, Method, Rule, Filter, Sort, and
Demon routines. A routine is described in the module by certain attributes
such as a display name. These attributes are in an attribute block that
appears at the very start of the routine between [? and ?] characters.
[?
AttributeName = AttributeValue,
AnotherAttribute = AnotherValue
?]
AZKBKeyword RoutineName( possible parameters)
VBScript code
End AZKBKeyword
where AZKBKeyword is one of:
AZEvent
AZMethod
AZMethodReply
AZRule
AZRuleReply
AZSort
AZFilter
29
The dialog box is created programmatically in the script where user interface
elements are added to it. The dialog box does not appear until the method or
rule that calls it has completed. When the dialog box closes, another routine
is called to allow the script to continue execution.
set NameObj = dlg //The dialog is displayed when the method ends
end AZMethod
AZMethodReply NameReply ()
End AZMethodReply
After the user closes the dialog box, the specified reply method (or rule) is
called.
Displaying a dialog box is a little different if it is invoked from an Event. As
Aspen Basic Engineering supports transactions on the server, it does not allow
for user interaction whilst a transaction is in progress; this would cause the
transaction processing on the server to be held up until the dialog box was
closed. Events typically occur as part of a transaction and so any dialog boxes
that are needed are entered into a queue until the transaction completes. The
dialog box is then displayed. For the rule writer, this means that instead of
assigning the dialog to the routine return value, they need to enter it into a
queue called the KB Dialog queue, which is done by calling the servers
QueueKBDialog method.
30
Server.QueueKBDialog dlg
end AZEvent
Cancel displays a cancel button on the dialog. If the user clicks this
button, one of two things happen. If a script has been added to the dialog
box by the AddScript method and this script contains a function called
Cancel, this function is called. If this function returns true, the dialog
closes and the script is completed. If the function returns false, the user is
returned to the dialog and the script resumes. If there is no script called
Cancel associated with the dialog box, then clicking Cancel closes the
dialog and the script stops executing.
ReturnTo specifies the name of the routine to be called when the user
clicks OK.
The OK button is always present. When it is clicked, the dialog box closes and
the Reply method or rule is called unless a script has been added to the dialog
by the AddScript method containing a function called Validate. If the
Validate function exists, it is called. If it returns true, the dialog closes and
the script continues; if the function returns false, the user is returned to the
dialog and the script resumes. This provides a mechanism for validating the
inputs on the dialog.
The most useful dialog methods are:
You cannot specify the layout of these visual elements. The OK and Cancel
buttons appear at the bottom of the dialog box. The other items appear
vertically underneath each other in the order in which they were created.
Combo Boxes and Radio Button Groups are the most complex visual element
to add to a dialog box. First, an object is added to the Dialog that represents
the ComboBox or Radio Button, e.g.:
Set Combo = dlg. AddComboBox ("Title", Text, )
This object can then be used to further populate the Combo Box or Radio
Button Group, e.g.:
Combo.AddOption First List Item Key1
Combo.AddOption Second List Item Key2
adds two items to the Combo Box. See the AZQuery class reference for
further information.
31
Server.TRACE 1, userdata(Case1)
Message Boxes
Because KB scripts run on the server, the VBScript MsgBox will not work.
Therefore, the KB Dialogs must communicate any screen input from the
server back to the client.
Two other server methods of the AZGlobals object display simple message
boxes:
For example:
if not Self.Temperature.HasValue then
Server. SendWarningMessage No Temperature value specified
32
A message like:
E:\Test.azkbs(8) :error : Object doesn't support this property or
method: 'self.ItemNumb'
is displayed in the Run Errors pane. You can double-click this message to go
to the line where the error occurred.
33
Loading the module in this way would not ensure that the module was loaded
every time the workspace was loaded. To do this, you must place the
compiled module in the KB directory and ensure it is referenced in the
workspace configuration file, (see Configuration.)
Events
The previous example would be more useful if it ran when an object was first
created, as it could then give an object a default name. This can be
accomplished with an Event. Whenever an object is created in Aspen Basic
Engineering, the CreateObject event is fired. We can write a routine to
capture this event as follows:
// A Simple naming rule module
[!Modulename=SimpleNaming !]
[?Private Code?]
Function IncrementName(NamePrefix)
Num = 0
if Num = ObjectStore.Globals.ProcessEquipmentCounter.HasValue
then
Num = ObjectStore.Globals.ProcessEquipmentCounter
end if
Num = Num + 1
ObjectStore.Globals.ProcessEquipmentCounter = Num
IncrementName = NamePrefix & Num
End Function
[?End Private Code?]
'Set the name on the create event
[?Class=PlantItem?]
AZEvent CreateObject()
Prefix = Self.NamePrecedent
Self.ItemNumber = IncrementName(Prefix)
end AZEvent
This event is called whenever a new PlantItem object is created. There are
several changes from the previous Method. First, the Event calls a Function,
IncrementName, which is called and declared in the normal way except that
the IncrementName function definition itself is enclosed in a Private Code
section. Private Code gives you a convenient place to insert helper functions
that you only need to use within the module. They are not visible to any
routines in other modules. Only one Private Code section is allowed in a
module but it can have as many subroutines, functions, and variables as you
want.
The IncrementName function takes the name prefix as an argument, looks up
a global counter which it increments and stores, and finally returns the
concatenation of the name prefix and this number. This global counter is
stored in the ProcessEquipmentCounter attribute on the Globals object in the
Aspen Basic Engineering Data Model. This is accessed the first time in the
function with lines like:
Num = ObjectStore.Globals.ProcessEquipmentCounter
ObjectStore is one of three Global Variables the system provides to the script
writer and it represents an AZObjectStore object. Aspen Basic Engineering
34
AZQObjectStore Methods
AZObjectStore is one of the objects found in the AZDBQuery library. You can
see the contents of this type library using a Class Viewer on AZDBQuery.dll
and by referring to the online help for the Rules Editor, AZDBQuery Library
Object Reference in the Knowledge Base Language topics. Some of the most
useful methods of AZObjectStore are shown in the following table:
Method
Return Type
CaseID(CaseName)
String
CaseName(CaseID)
Long
CreateObject("<classname
>)
AZQObject
FindObject(OID)
AZQObject
GlobalCases
Variant
Globals
AZObject
GoverningCase
Long
ObjectClass(OID)
Property
Description
Description
In the previous example, the Globals property shown in the table is used to
get an AZObject that represents the Globals object. It is very easy at this
stage to be confused by the terms class and object, as these terms are used
by both the Aspen Basic Engineering data model and scripting.
Aspen Basic Engineering classes are defined in the Aspen Basic Engineering
data model, such as Pump and Globals. Aspen Basic Engineering objects are
instances of the class, such as Pump P-100 and the Globals object.
Scripting uses COM classes (in particular for writing a KB, it uses the classes
defined in the AZQuery library). Examples are AZObject and AZObjectStore.
35
Classes are instances of these objects, e.g., the Self parameter and the
ObjectStore global.variable
As with the Method example, the data model attribute is used for retrieving
the value. If you examine AZObject using a class viewer, you will not find
ProcessEquipmentCounter because this attribute belongs to the data model
and not to the AZObject class. An examination of some of the most useful
AZObject properties and methods helps to explain what is happening.
Return Type
Description
Attribute(<Name>,
Case [optional])
AZQAttribute
Attributes(Case
[Optional])
AZQAttributeCollection
Class ()
AZQClass
Copy()
AZQObject
AZQAttribute Properties
The AZQAttribute object has methods and properties that provide access to
the attributes of an Aspen Basic Engineering object.
These include those shown below:
Properties
Type
Description
Value
{Default]
Variant
DataTypeName
String
HasValue
Bool
Count
Integer
DataType
EAZQDataTypes
36
=
=
=
=
=
=
=
=
1
2
3
4
5
6
7
8
Return
Type
Description
Trace(<level>,<Text>
NewKBDialog(<Title>,
<Return>)
QueueKBDialog(<AZQKBDialog>)
Queues a KB dialog
Return Type
Description
FindClass("<classname>)
AZQClass
FindClassView
("<classviewname>)
AZQClassView
37
Return Type
Description
Name
String
Members
AZQObjectCollection
Property. A collection of
AZQObject objects that
represents all the Aspen Basic
Engineering objects of this class
in the workspace
Attribute("<Name>")
AZQAttributeDefn
Attributes
AZQAttributeDefnColl
38
Rules run on the server and therefore it is not possible to display standard
message boxes or user interfaces. Instead, Aspen Basic Engineering has a
KBDialog object that represents a dialog that the Aspen Basic Engineering
server will post to the client for the client to display. The above rule uses the
Server global AZGlobals object to call the NewKBDialog method to create the
dialog box. The dialog box has several properties and methods that can be
called to add visual elements to it (see KBDialog below). In this case, two
Combo boxes are added by calling the AZKBDialog's AddComboBox method.
The AddComboBox method, as many of the AZQuery methods do, returns
another object, in this case a AZComboBox object. The AZComboBox object
can be used to add to list entries to the Combo box.
The list of pumps is retrieved by calling the FindClass method on the third of
the three system supplied global objects, the ClassStore. This returns another
AZDBQuery object that represents the Pump class, in this case an AZClass
object. Calling the classes Members method returns an AZObjectCollection
object. The AZObjectCollection object is a collection of all the objects of the
CentrifugalPump class in the database. The class is enumerated for each loop,
so that for every pump an item is added to the combo box using the
AddComboBox's AddOption method. The AddOption method takes two
arguments; the first is the name displayed in the combo box, in this case the
name of the pump. The second argument is used later and in this case, the
Pumps unique identifier, the OID, has been used.
The second combo box is populated in a similar way, with the list of class
views that are available for a pump being determined and the collection of
class views enumerated for each loop.
The final line assigns the dialog object as the return value of the rule and this
will cause the dialog box to be displayed when the rule completes. After the
user clicks OK on the dialog box another routine needs to be run to continue
the rule. The rule to run was specified when the dialog box was created. The
second argument of the line:
set dlg = Server.NewKBDialog( "Select Pump and Class View",
"PumpReportReply")
specified the name of a rule to call when the dialog box is closed, namely in
this case PumpReportReply.
Dynamic Properties
Aspen Basic Engineering supports a shorthand method of writing the
AZObject.Attribute(AttributeName)
as:
Object.<AttributeName>
Therefore these two lines accomplish the same thing:
Self.Attribute(ItemNumber) = P100
Self.ItemNumber = P100
39
Note: Both examples are using the default Value property of the
AZQAttributes object. If the Attribute holds objects then the dynamic
properties can be chained together. Vectors can also be referenced. Both
features are illustrated below.
Self. Attribute(NormalFlow) (1). Attribute(BulkFllow)
(1).MoleFlowRate = 230.0
Self. NormalFlow(1).BulkFllow(1). MoleFlowRate = 230.0
Note that an error is raised in the second case if any of the intermediary
objects do not exist.
If the intermediary objects need to be created and the value assigned, then
the AssertRoute method should be used:
Self.AssertRoute(NormalFlow(1).BulkFllow(1). MoleFlowRate) =
234.0
Note also that writing the previous example as:
Dim Obj
Set Obj = Self.NormalFlow(1).BulkFllow(1)
Obj. MoleFlowRate = 2340.0
also raises an error because the introduction of a local variable prevents the
scrip from determining the correct AZQuery class.
Configuration File
After rules have been developed, they are normally loaded at the same time
as the workspace. To do this, the workspace configuration file must specify
the location of the rules and the names of the rule module.
The configuration file should have these parameters:
KBScriptDirectory = <KBDirectory>
KBScripts = <Modules>
where:
<KBDirectory> is the folder containing the KB modules, relative to the
WorkspaceLibraries folder.
<Modules> is a comma separated list of the module file names. If the files
have the default extension of azkbx it can be omitted from this list.
e.g.:
KBScriptDirectory = "KBS"
KBScripts = "Filters,component-sum"
40
File menu
Edit menu
View menu
Options menu
Tools menu
Run menu
File Menu
The File menu contains the following commands:
File Menu Command
Action
New
Open
Save
Save As
Open/Close Workspace
Print Setup
Recent Files
Exit
Note: An Aspen Basic Engineering workspace is not necessary for editing and
compiling KB Script code, but must be opened before the current module can
be installed and before any procedures are run.
41
Edit Menu
The Edit menu contains the following commands:
Edit Menu Command
Action
Undo
Redo
Cut
Copy
Paste
Select All
Find
Replace
Find Next
Find Previous
View Menu
The View menu contains the following commands used to show/hide the
associated item:
View Menu Command
Action
Toolbar
Status bar
Query Editor
Options Menu
The Options menu contains the following commands:
42
Options Menu
Command
Action
Clear Trace/Run
Errors on
Run/Install
If ticked the Trace and Run Errors windows are cleared each
time a Method, Rule, Sort or Filter is run, and each time a
module is installed
Show Line
Numbers
Tools Menu
The Tools menu contains the following commands:
Tools Menu
Command
Action
Compile
Install/Replace
Module
Next Error
Prev Error
Clear Build
Clear Trace
Run Menu
The Run menu contains the following commands:
Run Menu
Command
Action
Method
Rule
Filter
Sort
43
Item
Name
Description
Open Workspace
New
Open
Save
Cut
Copy
Paste
Compile
10
Install
11
AZQKBDialog
44
Property
Type
Meaning
Cancel
Boolean
Title
String
Title of dialog
Width
Integer
HelpString
String
UserData
Dictionary
ReturnTo
String
Description
Parameters
Purpose
AddTextBox
Text:String
Text to display
AddEditBox
ID:String
ID to refer to value
Prompt:String
Balloon:String
Width:short
Width is maximum
width
ID:String
ID to refer to value
Prompt:String
Balloon:String
Value:String
(Not used)
URL:String
Prompt:String
Balloon:String
Balloon as above
DisplayAs:String
DisplayAs, string to
show
AddCheckBox
AddLink
Adds a hyperlink
with the specified
URL to the dialog
AddRadioGroup
Name:String
Create a RadioGroup
AddComboBox
ID:String,
Prompt:String,
Balloon:String
Create a ComboBox
Text: String
(must be a
complete VB
Script function)
AddScript
45
AZKBDlgRadioGroup Methods
The AZKBDlgRadioGroup object is returned by the AddRadioGroup method of
the dialog box. It is used to define the contents of the group, i.e., the
buttons.
Method
Description
Parameters
Purpose
AddButton
ID: String
ID to refer to value
Prompt:String
Prompt is caption
BallonTip:String
BalloonTip as above
Value:String
AZKBDlgComboBox Methods
The AZKBDlgComboBox object is returned by the AddComboBox method of
the dialog box. It is used to populate the contents of the combo box:
Method
Description
Parameters
Purpose
AddOption
Inserts the
specified string
into the combo
box
Display:String
Display appears
in combo box
Value:String
Value is the
string returned if
this item is
selected
46
Datasheets
Datasheet Definer
Datasheets
There are three main types of datasheet that can be generated using the
Datasheet Definer:
Type of
Datasheet
Description
Summary
Sheets
Continuous
Lists
47
Type of
Datasheet
Description
Datasheets
Global project data, for example, site conditions and utility stream
characteristics
Datasheet Definer
The Datasheet Definer is a Microsoft Excel AddIn displayed as the
Datasheets menu selection in the Microsoft Excel menu bar.
Note: You must pre-install Microsoft Excel to use the Datasheet Definer.
48
Define the graphical components of the datasheet, that is, the fixed text
and lines
Define the size and formatting of cells that will become fields
Specify that a cell is a field, by defining the link between fields on the
datasheet and attributes in the database
Generate a datasheet
Cell comments that contain XML fragments, which specify the field
type and link the field to the correct part of the Aspen Basic
Engineering class store
Stores the information from the XML fragment in cell comment in a single
Aspen Basic Engineering template file (.ztf).
To select the workspace that you wish to work on, click Datasheets |
Open Workspace, the standard workspace dialog is displayed.
Note: You must be logged into a workspace to define or change field routes.
49
Preview Mode - Disables the Definer add-in menus so that the datasheet
can be previewed only.
Datasheet Options - Select this option to change the View and Print
options of the datasheet fields, watermarks, and colors.
50
Copy Field Copies a selected field (or fields) onto the clipboard.
Cut Field - Copies the selected field(s) onto the clipboard and deletes
it from the current worksheet.
Paste Field Pastes the selected field (or fields) onto the worksheet.
Set Object Sets the starting object for each set of fields. Applies to
Value fields.
Link Create a link between a Value field and one or more Revision or
Dimension fields.
Unlink Breaks the link between a Value field and one or more
Revision or Dimension fields.
Icon
Description
Value
Quantity Type
Revision
Sketch
Bitmap
51
Checkbox
Radio Button
Qualifier
Copy Field
10
Cut Field
11
Paste Field
12
Field
Properties
13
Refresh
14
Delete
15
Browser
16
Link
52
This window has one pane with five columns (which display descriptive
content) and two menu options.
Description
Exit
Options Menu
Item
Description
Always on Top
53
If you have custom datasheets, use the Template Migration Tool to create
ZTX files for custom datasheets and put them in the templates folder.
If you used V7.1 CP2 document revision control, use the Template
Migration Tool to convert the XLS files cached on your workspaces to ZTX
files.
If you had custom datasheets and used V7.1 CP2 document revision
control, you need to follow these steps in this order:
o
Use the Template Migration Tool to create the ZTX templates for each
custom datasheet.
Getting Started
Before starting any conversions, you will need to set Excel to Trust access to
Visual Basic Project.
In Microsoft Excel 2003:
54
Click OK.
Close Excel.
Click OK.
Close Excel.
Single Template Option creates a single ZTX template from a single XLS
and XTF file combination and is useful when resolving errors encountered
during batch operations.
Batch Migration
To create a ZTX template for each custom datasheet template in batch
mode:
1
In the Datasheet Editor Template Migration Tool dialog box, select the
Batch Migration tab.
Select the Create ZTX templates from XLS and ZTF templates option.
Use the Browse buttons to identify the folders where the XLS and ZTF
templates are located.
Use the Browse button to identify a folder for placing the log file for
recording any errors and warnings.
Click Start.
After the Datasheet Editor Template Migration Tool creates the ZTX
templates, click Open log file. The log has an entry for each template
that has been generated along with any errors or warnings. If any
template has errors or warnings, resolve the issues and regenerate the
ZTX template for that datasheet using the Single Template Options.
55
In the Datasheet Editor Template Migration Tool dialog box, select the
Single Template Options tab.
Use the Browse buttons to identify both the XLS and ZTF file locations for
a single template.
Click Start. The Datasheet Editor Template Migration Tool creates the ZTX
template.
Batch Migration
To migrate the templates in batch mode:
1
In the Database Template Migration Tool dialog box, select the Batch
Migration tab.
Use the Browse button to locate a work folder in which to place the
cached XLS and ZTF templates.
Click Start.
The XLS and ZTF files for each cached template are placed in the Cached
template folder as read-only files along with a log of the migration process.
Archive the contents of this folder for future reference.
56
In the Database Template Migration Tool dialog box, select the Single
Template Options tab.
Select the Replace cached server template with ZTX file option to
migrate the cached templates.
Use the Browse button to locate a ZTX file to be used to replace the
cached version on the workspace.
Click Start.
57
58
4 Preparing Datasheets in
Microsoft Excel
Value fields.
Revision fields.
Sketch fields.
Bitmap fields.
Checkbox fields.
Qualifier fields.
Fields
You set up cells for active fields in the Excel worksheet. The Datasheet
Definer picks these up when it creates the datasheet template, and stores the
information in a .ztf (Aspen Basic Engineering template file) file for use by
Aspen Basic Engineering. Later, when you open the datasheet in Aspen Basic
Engineering, the active fields link to the correct part of the class store.
Use the Datasheet Definer menu options to set up these cells. The toolbar
contains buttons, which represent the types of field that can be defined on the
datasheet.
59
Each type of field defines a different aspect of how the datasheet operates
when it is incorporated into Aspen Basic Engineering.
Important! Merging Cells
Do not merge cells after a field has been placed in a cell.
Instead:
Delete the field using the Delete toolbar button.
Merge the cells left and or up.
Add a new field to the empty cell.
Value Fields
Value fields are used to display database values on a datasheet.
A value field gives the database location, in terms of a class view attribute,
from where values are retrieved. This specifies the location of the data in the
database.
A typical datasheet displays data for four different objects:
This Data
For Example
Is Accessed From
Global data
GlobalsClass object
Document specific
data
Document object
Page number
Page object
Object data
Pressures, temperatures
Select a cell on the worksheet then click the Value Field button.
60
Forced restricts the field to accept only those values listed in the
Options property.
Free lets the user ignore the list of options and type in any value.
Method
This topic explains how to specify Method as the option mode, then gives
background information on methods.
1
61
Multi-line Fields
Multi-line fields enable you to place text that is longer than the field itself,
over multiple lines on the datasheet.
To create a multi-line field:
1
Select the Properties button to open the Properties dialog and specify the
number of lines in the lines field.
Note: Lines of a multi-line value control are equally spaced, so
the taller you make the control, the wider the spacing between
the lines.
Field Cases
By default, datasheets display information from a single database case, but
certain types of datasheet need to be defined that can display information
from two or more cases on the same document.
When you define a datasheet, you do not know in advance the names of the
cases in a workspace. The Datasheet Definer enables you to group fields that
display data from the same case. You group them by defining a name. This
name is not necessarily used as a workspace case name and exists only at
the datasheet definition stage.
If the datasheet is to display data from a single case, you need not assign the
fields to a case. Any fields not assigned to a named case group are assumed
to display information from the overall case of the datasheet.
To set the case for a field:
1
Overspill Fields
Overspilling of datasheets allows the automatic spilling of objects onto an
overspill sheet, when there is no room left for additional objects. The
overspilling process can be likened to the association of one datasheet to
another. Overspilling dictates where the current datasheet overspills onto.
For example, consider a vessel datasheet that has 20 nozzles, and no space
left for any more. Any subsequent nozzles require an overspill. The overspill
sheet or association in this case is a separate nozzles sheet, which only
displays nozzle information. By defining an overspill association, the
subsequent sheet is automatically created, containing only those nozzles that
do not fit on the first sheet.
62
Overspill Template
The Overspill Template box is at the top of the Edit Overspill dialog box.
It gives the name of the template representing the overspill page. This can be
the same as the current template. You must define the overspill template
against either the same class of object or one of its superclasses.
Routes
Below the Overspill Template box, there is a list of routes that cause
automatic overspilling.
To add an entry in this list:
1
Note: In the vessel example described above, you should also define an
overspill association for the nozzles sheet so that, if this second page is filled,
a third identical page is created. That is, the vessel sheet overspills onto a
nozzles sheet, and the nozzles sheet overspills onto another nozzles sheet.
To stop a route overspilling:
In the Edit Overspill dialog box, select the route and click the Delete
button.
63
Select the quantity type field together with the value field(s) that you wish
to link to.
From the Datasheet Definer Link menu, click Link. (Alternatively, click
the Link button on the Datasheet Definer toolbar.)
A link is made between the quantity type field and the value field(s). The
quantity type field is redrawn to show the name of the quantity type.
Revision Fields
Many datasheets have markers on the edge of the page indicating values that
have changed between successive issues of the datasheet.
Use revision fields to place these markers on the datasheet. Revision fields
are linked to specific value fields; they display the current issue number, if
any of the fields to which they are linked, changed since the previous issue.
Select a cell on the worksheet then click the Revision Field button.
A revision field is inserted, but is not yet linked to any other fields.
Select the revision field together with the value field(s) to which you wish
to link.
From the Datasheet Definer Link menu, click the Link button or toolbar
button.
A link is made between the revision field and the value field(s).
64
Sketch Fields
Datasheets often contain a sketch area in which the end-user can add an
illustration of the equipment, or additional detail about the equipment.
A sketch field enables OLE (Object Linking & Embedding) objects to be
inserted and edited at runtime via an OLE application such as Paintbrush,
Microsoft Excel or Microsoft Word.
Select a cell on the worksheet then click the Sketch Field button.
You can add any number of separate sketch fields to a datasheet, with each
sketch area representing a single OLE field.
Bitmap Fields
Datasheets often have a corporate logo displayed in the header of the
datasheet, and sometimes a project or client logo. If these logos are provided
as bitmaps, you can easily change them in the runtime system without
modifying the datasheet definitions. To change logos on the datasheet, you
need only replace a single bitmap file. Bitmaps are scaled automatically to fit
within the defined bitmap field.
Select a cell on the worksheet then click the Bitmap Field button.
This displays the bitmap selection dialog allowing you to select from a list of
available bitmaps in the current workspace.
The bitmap is automatically scaled to fit, and centered within, the selected
area when the datasheet is used in Aspen Basic Engineering.
65
Checkbox Fields
A Checkbox represents a Boolean attribute (True/False). Checkboxes take the
form of shapes on the sheet and are marked to indicate if the option is
selected, normally with a tick or cross).
To create a Checkbox field:
Select a cell.
Select the Checkbox button from the toolbar. The Checkbox dialog is
displayed (with two tabs; Attribute and Shape).
The Attribute tab is similar to the Value Fields tab and allows the
specification of; rate, case and read-only flags.
Select a cell.
Select the Radio Button toolbar icon, a Radio Button dialog is displayed
allowing you to configure the button.
The Shape, Indicator and Shape Properties areas allow you to specify the
button shape, indication type and properties (similar behaviors to the
Checkbox dialog).
The Group and Value area allows you to specify the route and final value
in the database.
Create a number of buttons that select different values for the same
group.
66
Radio Groups
Radio groups are used in the definition of radio buttons. A radio group
comprises a name, route and a set of Radio Buttons that provide the visual
display.
The name is a tag used within the datasheet definition to refer to this group.
The route is a link to the associated class view attribute. This attribute is
usually an enumeration type and from the class view will supply the possible
values to use.
Other Fields
Other fields are a special type of value field associated with a set of radio
buttons. They are used where there are a number of common options, but
where the common options do not cover all possibilities.
To create an Other field:
1
Select a cell and insert a Radio Button that is defined against an open
enumeration.
Set the option of this button to be "Other value..." (this appears at the
bottom of the set of options for the enumeration).
Add a Value field to the datasheet and link the button previously defined
with this value field.
Set the route for the Value field to be the same as the route for the radio
button group.
The button and value fields are now linked and in the Datasheet Editor you
are only able to edit the value field when the button is selected.
Qualifier Fields
Qualifier fields are fields on a datasheet that modify the route associated with
one or more other fields. They take one of two appearances:
1
A set of texts, one of which is normal, the rest are struck-out. (For
example, Duty Clean / Duty FouledFailed 10.)
If no qualifier has been selected, the associated value fields display no values
and cannot be edited.
To create a Qualifier field:
Select a cell.
67
Checking Fields
At any time, you can check the fields on the worksheet. To do this:
From the Datasheet Definer Tools menu, click Validate Fields. Aspen
Basic Engineering checks the validity of the routes and links. Any
problems are listed in a validation dialog box.
A tree view on the left side, which displays the nodes in the class view.
A list view on the right, which displays the attributes in the selected
class view node.
Specifying a Route
To specify the route of a value field from the Browser:
1
Assigning Wildcards
If you are defining a datasheet with a large number of almost identical routes,
for example to show the bore of 10 nozzles on a vessel, use a wildcard in the
route to signify that the numerical position of the object is not specified. This
speeds up the field creation process.
Having inserted one set of fields representing the values required from a
single nozzle, you can copy them many times to produce a table of values.
To convert the wildcard into a numerical value:
68
Assigning Objects
Assigning objects is common practice when defining summary sheets or
equipment lists. Occasionally, a datasheet representing data for more than
one object may also use this operation. This is similar to using a wildcard as
part of the route. The route to a field always starts with the top level object
behind the field.
For example, the route to the temperature-operating attribute for a vessel
datasheet would be Vessel (1). On a summary sheet, multiple top level
objects appear and you must specify from which of the objects the route
should start.
To speed up summary sheet definition, it is good practice to add all of the
fields for the sub-objects that represent one object, then copy them for the
other objects. After you have added all of the rows of fields, the top level
object for each set of sub-object fields can be assigned.
To set the starting object for each set of fields:
1
69
70
5 Generating Datasheets
Generating a Datasheet
Before generating a datasheet, ensure that you have added any necessary
fields to the Excel worksheet. See the previous chapter for information.
Note: You must pre-install Microsoft Excel to use the Datasheet Generator.
This section describes the steps you need to take to generating a datasheet,
ready to load into Aspen Basic Engineering.
To create a datasheet:
The datasheet template file (.ztf) is generated and saved in the same location
as he .xls workbook. It is not loaded into Aspen Basic Engineering
immediately.
For information on loading datasheets, see the next section.
Note: This process creates the templates, but does not save the original
Excel spreadsheet. You must do this separately, within Excel. If you change
the contents of the Excel worksheet, you must regenerate the datasheet and
load it into the worksheet to make the changes visible in Aspen Basic
Engineering.
Cells The text you enter into a cell and its font and position are used by
the datasheet. Any borders you draw around the cell are also used.
5 Generating Datasheets
71
72
5 Generating Datasheets
This chapter describes the role of symbols and labels in the Aspen Basic
Engineering Drawing Editor. It also gives an overview of the (Aspen Basic
Engineering) Graphics Definer tool for modifying and creating symbols and
labels.
In this picture, two columns (C-100 and C-101) are linked by a connection
(stream number 3):
73
About Symbols
Symbols comprise a drawing with a specified datum that controls the
symbol's behavior when it is dragged or placed on the drawing:
74
About Labels
Labels comprise one or more fields that display database values, units and
other drawing data.
You can use graphics and annotations (plain text) to enhance labels. As with
symbols, labels have a datum point that controls their behavior when dragged
or placed on the drawing.
The choice of fields are:
Labels must be associated with the class view for which the label is intended.
Graphics Definer
The (Aspen Basic Engineering) Graphics Definer is a tool specifically designed
for creating symbol and label definitions for use in the Aspen Basic
Engineering Drawing Editor.
75
You use the Graphics Definer to draw graphical symbols that represent
equipment, then define their behavior such as connectivity, placement and
interaction with other symbols.
With the Graphics Definer, you can design labels that can be associated with
classes in the drawing, and which display data in fields within the label. The
individual fields display live data from the database.
Here is some guidance for using the Graphics Definer:
Launch the Graphics Definer from the desktop Start menu, in the same
way as the Aspen Basic Engineering Drawing Editor.
Completed label files are saved and compiled; completed symbol files are
only saved.
76
This chapter provides two worked examples that show you how to create a
new symbol and a new label.
Specify any label characteristics, such as the class of object for which the
label is intended.
77
In the New Label dialog box that appears, specify a name and location
for your new label file, and save it as type *.sym.
A new label sheet appears in the Graphics Definer working window. This is the
canvas where you create the new label.
78
Label information You must specify the class view for which the label is
intended, but the other settings are optional.
Most of the settings in the Label Properties tab are optional, but you must
specify a class view suitable for use by the fields that you want to add.
79
In Global, Document or Object Class view, specify the class view for which
the label is intended. Either:
o
Navigate to the class view, by clicking one of the Browse buttons and
using the browser in the Class View dialog box (recommended)
-or-
The other settings have default values. They govern how the label will
behave when the label is placed on a drawing.
Open the Label Properties dialog box and go to the Sheet Size tab.
80
Use the three radio buttons at the foot of the dialog box, to specify text
properties for Value fields, Units fields and Plain Text fields. The settings
can be different for each type of field.
Note: To change the text properties of any previously placed text fields,
double-click the text to access the appropriate 'properties' dialog box.
Auto The text box sizes in the selected dimension(s) to fit the text in
the field.
Exactly The text box excludes text outside its limits in the selected
dimension(s).
At Least The text box has a fixed, minimum size in the selected
dimension(s), but will expand beyond if required.
81
Auto for a text box with fixed width, which expands in the vertical to
accommodate text.
-or-
The Graphics Definer is now in Value field placement mode. Each time you
click on the sheet, a question mark in square brackets appears. To stop this
process, click any other command button (the Select button is a good choice
for this).
Once you have placed a Value field on the sheet, you need to specify its
characteristics. In particular, you need to specify a route for the field so that
it displays the correct data. You do this through the Field Properties dialog
box.
82
Tip: For a selected Value field, there are two other ways of opening the Label
Properties dialog box:
Right-click on a blank part of the sheet, and from the menu that appears,
click Properties.
From the Graphics Definer Edit menu, click Properties.
Open the Label Field Properties dialog box (see earlier) and go to the
Route tab.
83
Select from the three class view options in the Browse from section. In
our example we have selected the Object class view which we set up in
the document properties earlier. Next select an attribute from those
displayed in the Data View list.
Tip: Right mouse click on any item to display detailed properties. Together, these two
selections define the route for the Value field. In our example, we have specified a
route for our Value field, with the attribute Capacity within the GraphicDefinerPump
class view.
Note:
You can also type in the route, but this is not recommended.
You can fill in your own tag, or have it done automatically once you have specified
the route. If you filled in the tag yourself, this will not update when you specify the
route.
A suitable tag will be suggested in the Tag box, the first time you select a route
from the Class Browser.
You may add a description, which will be used to aid identification of fields in the
Drawing Application. This allows you to define short tags if you wish to clarify your
label definition.
84
Note: Options cannot be set if the route of the field produces an enumerated
data type.
The table outlines the three available choices: None, Options and Method.
Choice
Description
None
Options
Create a list of (static) options, which you type in on the left, and then
transfer to the right using the various arrow buttons
You can move items up and down the list, but you cannot duplicate them
Method
Run a specified method that resides on the server, to create a dynamic list
of options
The method runs and returns one or more options for the user to choose
from, or performs an action that requires no user response
If the method does not exist on the server, then an error occurs when the
label is installed and used
If you select Selection from Options/Methods Only checkbox, this restricts the
choice of the user to the list of options, or the list returned from the method.
In the Label Field Properties dialog box, select the Field is Read Only
checkbox.
85
The Graphics Definer is now in plain text placement mode. Each time you
click on the sheet, a question mark appears. To stop this process, click
any other command button (the Select button is a good choice for this).
2
Double-click the plain text, and in the dialog box that appears, type in the
text for the annotation. You can also change the text properties.
The Graphics Definer is now in field placement mode. Each time you click on
the sheet, a question mark in round brackets appears. To stop this process,
click any other command button (the Select button is a good choice for this).
86
Select the Units field and the Value field it serves, then click the
Associate Field button. This is the recommended approach; we have
used it in our example.
- or
Double-click the Units field and in the Label Units Field Properties
dialog box, manually define the associations.
In the Label Units Field Properties dialog box, select the Field is Read
Only checkbox.
.
The picture shows our example label, with two associations flagged: one for
CAPACITY and one for DIFF P.
87
.
The datum point appears as a green target, which you cannot manipulate.
To set a datum for a label:
1
.
A red interactive target appears.
2
Either:
o
- or -
In our example, we have set a datum to the lower left of the fields:
88
The Show/Hide Mass Balance Insert Point button or menu item results in the
current Mass Balance Insert Point location being displayed.
Example of a Mass Balance Grid Header with Datum and Mass Balance Insert
Point displayed:
89
This creates an xml definition of the label. Any errors are reported in a
list, which you can double-click for more information.
After successful compilation, you are prompted to save the label files.
2
90
91
In Class, set the class of object that the symbol represents. To do this,
click the Browse button and in the Class Browser that displays, navigate
to the class of object.
In Symbol Type, select a type of symbol from the list provided. Be careful
to choose a type that does not conflict with your choice of object class (for
example, the choice Stream will conflict with the object class PUMP).
If necessary, change the sheet size by going to the Sheet Size tab. See
Specifying Label Information, earlier.
92
In the Tool Tip box, type in the tool tip to be seen by the user.
Note: If you have previously filled in the Name text box, the text is
automatically transferred over to the Tool Tips text box.
93
Drag-and drop these buttons onto the toolbar area of the Graphics
Definer.
Click the appropriate button on the Dimensions toolbar. For example, click
Smart Dimension to add the length of a line.
To change the format of dimensions (for example, the style of the arrow
heads):
94
This chapter explains how to use the Graphics Definer to extract legacy
symbols and labels created in other products (AutoCAD in particular) for use
in the Aspen Basic Engineering Drawing Application and includes the
following:
95
Make sure that each symbol and its attribute data can be selected easily.
Check the text attributes in the CLASS layer. If necessary, you can change
them later, once the symbol is in the Graphics Definer.
Ensure that all leader lines for named parts have a text box at one end to
name the part, and a single graphical object (primitive) at the other end,
which is identified by the leader line.
Set the Foreign data options (accessed from the Graphics Definer Tools
menu, then Options) to the correct scale for your symbol drawings.
Check or uncheck the Extract all geometry as parts menu item in the
Graphics definer menu. This determines whether or not all geometry, not
just named parts, can be connected.
Named parts, which are the authentic parts from the original AutoCAD
symbol.
96
Named Parts Named parts are extracted with their name intact. For this
process to be automated, each leader line in the PART-NAMES layer must
have a single text box (also in the PART-NAMES layer at one end) and a
single primitive in the OBJECTS layer at the other. The primitive may also be
in another layer, as long as that layer does not have special meaning as
described in this document (for example, CLASS, EXTENT, PART-NAMES,
POINTS layers). The text in the text box is used as the name of the new part
definition. All other geometry in the drawing, without a special meaning to the
extractor, is defined as an anonymous part, so enabling it to be used for
connection.
Anonymous Parts As well as importing named geometry as named parts,
the remaining geometry can be identified as "anonymous" parts so that it can
be connected to. This promotes consistency between the current Aspen Basic
Engineering and pre-Aspen Basic Engineering 10.3 versions using AutoCAD,
for which all parts of an object could be connected. You can choose to have
the remaining geometry imported as anonymous parts by checking the
Extract all geometry as parts menu item in the Graphics definer menu.
CLASS Layer Text boxes in the class layer are read and have special
meaning. The text boxes must be ordered from top to bottom, like they were
originally created in the Symbol Definer. The Graphics Definer refers to this
order when determining which text boxes are used to set which attributes.
Attributes are set in the following order:
Order
Attribute
Name
Filename
Sets the default file name for the new symbol (.sym is
appended as a file extension)
Scale
Ignored
Rotate
Ignored
Reflect
Ignored
Leader
Ignored
Connect
The following example shows the class data extracted as attributes of a new
symbol:
SHELL-AND-TUBE-HEAT-EXCHANGER
Filename:
exch-ht
Scale:
no
Rotate:
yes
Reflect
no
Leader
no
Connect
yes
97
Connect Angles
When symbols are extracted from AutoCAD into the Graphics Definer, their
parts are given default connection angles of 0, 90, 180 and 270. Once the
symbol is in the Graphics Definer, you can change the connection angles from
the default setting.
Newly created symbols in the Graphics Definer can have any connection
angle.
Newly created symbols in the Graphics Definer have no parts nominated, and
you need to nominate them yourself.
Load the dwg file containing your symbol definitions, into the Graphics
Definer.
Note: The original layers, such as POINTS and OBJECTS, are preserved.
98
Symbol is Selected:
If the conversion proceeds smoothly, you are prompted for the directory
and filename for the newly-converted symbol.
The filename is already set from the CLASS layer data (if present), but
you can change it if you want.
Check and add symbol attributes using the Graphics Definer; then drag
the symbol onto a diagram in the Aspen Basic Engineering Drawing
Application to check that it is correctly scaled and can be connected to.
Make sure that each label and its attribute data can be selected easily.
Set the Foreign data options (accessed from the Graphics Definer Tools
menu, then Options) to the correct scale for your label drawings.
99
the POINTS layer, the conversion process issues a warning then continues,
assuming the datum is the center of the label bounds.
CLASS Layer Text boxes in the class layer are read and have special
meaning. The text boxes must be ordered from top to bottom, like they were
originally created in the Symbol Definer. The Graphics Definer refers to this
order when determining which text boxes are used to set which attributes.
Attributes are set in this order, as follows:
Order
Attribute
Name
Type
Filename
Sets the default file name for the new label (.sym is
appended as a file extension)
Document
Rotate
Ignored
The example shows the class data extracted as attributes of a new label:
Stream Diamond
Type:
IN-LINE
Filename:
lab-sdia
Document:
No
Rotate
No
Field Information
Field information does not survive the extraction.
Extracted fields appear as plain text boxes in the Graphics Definer. These text
boxes retain their original style, but all field definitions are lost.
To prepare for this, note the legacy field information so that you can recreate
it once the label is in the Graphics Definer.
Tip: To recreate field information for this plain text in the Graphics Definer:
select the text, click either the Convert Text to Field button or the Convert
Text to Units Field button, then double-click the field and complete the
dialog box that appears.
For more information, see the Labels example.
Load the dwg file containing your label definitions, into the Graphics
Definer.
Note: The original layers, such as POINTS and OBJECTS, are preserved.
100
Often a box selection works well for this, but if labels are close together or
even overlapping, you may need to select items individually.
Ensure that all the label graphics, the text boxes from the class layer, and
the datum point are selected.
Select Label:
Label is Selected:
If the conversion proceeds smoothly, you are prompted for the directory
and filename for the newly-converted label.
The filename is already set from the CLASS layer data (if present), but
you can change it if you want.
Check and add the label attributes using the Graphics Definer; then drag it
onto a diagram in the Aspen Basic Engineering Drawing Application to
check that it is correctly scaled.
If you have extracted fields, redefine each field using the procedures
below:
o
Click either the Convert Text to Field button or the Convert Text to
Units Field button.
Double-click the field and complete the dialog box that appears.
101
102
Extracted symbols You may want to remove parts status from some
elements or add or amend port definitions for others.
This chapter describes the menus and toolbar buttons in the Graphics Definer.
Menus
The Graphics Definer has the following menus:
File menu.
Edit menu.
View menu.
Definer menu.
Insert menu.
Format menu.
Tools menu.
File Menu
The File menu contains the following commands, which apply to both symbols
and labels unless stated otherwise:
File Menu Command
Action
New Symbol
New Label
Open
Close
Save
103
Action
Save As
Open Workspace
Close Workspace
Document Properties
Sheet Setup
Send
Exit
Edit Menu
The Edit menu contains the following commands, which apply to both symbols
and labels:
Edit Menu Command
Action
Undo
Redo
Cut
Copy
Paste
Paste Special
Delete
Select All
Properties
Links
View Menu
The View menu contains the following commands, which apply to both
symbols and labels:
104
Action
Grid Display
Grid Snap
Zoom Area
Action
Zoom In
Zoom Out
Previous
Fit
Pan
Toolbars
Definer Menu
The Definer menu contains the following commands:
Definer Menu Command
Action
Set Datum
Show/Hide Datum
Default Text
Extract
105
Insert Menu
Use the Insert menu to import graphics and objects.
Format Menu
Use the Format menu commands to:
Modify the appearance of the lines and text used to construct the symbols
and labels.
Tools Menu
The Tools menu contains the following commands, which apply to both
symbols and labels:
106
Action
PinPoint
Character Map
Layers,
Layer Groups
Measure Distance
Measure Area
Alignment Indicator,
Maintain Relationships
and Relationship Handles
SmartSketch
Macro
Add-Ins
Customize
Options
Toolbar Buttons
When you start the Graphics Definer, a default set of toolbars appear above
and alongside the Drawing window:
Main toolbar.
View toolbar.
Ribbon toolbar.
Draw toolbar.
In common with many Windows applications, you can modify which toolbars
display and customize each toolbar (see Customizing Menus and Toolbars in
Chapter 2 of Using Diagrams).
Main Toolbar
The Main toolbar contains the following buttons:
Toolbar
Button
Name
Description
Open
Workspace
New Symbol
New Label
Open
Document
Save
Cut
Copy
Paste
Undo
Redo
Grid Snap
Grid Display
107
Toolbar
Button
Name
Description
PinPoint
Help
View Toolbar
The View toolbar contains the following buttons:
Toolbar
Button
Name
Description
Zoom Area
Zoom In
Zoom Out
Fit
Pan
Previous
View
108
Name
Description
Document
Properties
Set Datum
Show/Hide Datum
Show/Hide Mass
Balance Insert
Point
Place Field
Toolbar
Button
Name
Description
Associate Fields
Show Fields/Units
Fields Associations
Convert Text to
Fields
Convert Text to
Units Fields
Default Text
Properties
Part Definition
Extract Symbol
Compile Label
Ribbon Toolbar
The Ribbon toolbar contains the following buttons:
Toolbar
Button
Name
Description
Inside
Overlappin
g
Top Down
Bottom Up
109
Draw Toolbar
The Draw toolbar contains the following buttons, which you use for drawing
lines and arcs.
For all the buttons, the procedure is:
1
In the Drawing window perform your chosen action, such as drawing a line
or a tangent arc.
When you are happy with your creation, right-click to commit the changes
on the drawing.
110
Name
Description
To Use
Select Tool
(Pointer)
Selects items
Line
Draws a straight
line
Tangent Arc
Draws a tangent
arc to an existing
line
Line/Arc
Continuous
Draws straight
lines and arcs
between
successive points
Circle by
Center Point
Draws a circle
about a fixed
center
Ellipse by
Center Point
Draws an ellipse
about a fixed
axis. (You define
the fixed axis by
its center and one
of the end points)
Rectangle
Draws a rectangle
with one side
fixed. (You define
the fixed side by
its end points)
Curve
Free Sketch
For free-style
drawing
Toolbar
Button
Name
Description
To Use
Fillet
Chamfer
Replaces sharp
vertices with a
chamfer
Trim
Element
Extends lines to
the next
intersection
Fills enclosed
shapes with color
and/or hatching
Extend to
Next
Fill
Parametric Symbols
Parametric functionality within Aspen Basic Engineering allows you to design
and utilize symbols that can be controlled by modifiable parameters. This
section describes parametric symbols from the perspective of the designer. All
Aspen Basic Engineering symbols can be modified by uniform transformations
such as rotation, scaling and reflection. However, if you wish to change the
height of a column without at the same time changing its width, this must be
achieved using parametric symbol functionality.
Dimension toolbar.
Relationship toolbar.
111
These toolbars can be added to the Graphics Definer by right clicking with the
mouse on the existing toolbars and selecting the required toolbar in the list of
toolbars displayed, or by using the View | Toolbars menu command.
A parametric symbol is a symbol which has dimensions and also relationships
between the graphical elements of that symbol.
To enable a symbol to contain relationships, check the Tools | Maintain
Relationships option. Once this menu item is checked, the system sets up
intelligent choices for relationships while you are drawing your symbol. These
choices can be removed or added. To see evidence of relationships, click the
Relationship Handles button. Relationships are displayed in the following
ways:
Connect relationship. The
square denotes connection
between the two lines
Horizontal/Vertical
relationship. The plus
symbol denotes the line is
constrained to vertical or
horizontal
Parallel relationship. The
double bar indicates that the
two lines are to be kept
parallel. (Note: Moving the
mouse over one of the
double bars results in it and
its partner being
highlighted)
Perpendicular relationship.
The right-angle symbol
indicates that the two lines
are to remain perpendicular
to each other
112
113
Dimensions
Dimensions are the key to parameterizing symbols.
Dimensions supply information about the size, location, and orientation of
elements, such as the length of a line, the distance between points, or the
angle of a line. Dimensions are associative to the elements they refer to, so
you can make design changes easily.
There are two dimension types, driving and driven.
Driving Dimensions
Driving dimensions are set up so that when the numerical value changes, so
does the geometry they are attached to. When a driving dimension is
selected, the Driving/Driven button is inset (depressed). To change the
dimension to be driven, toggle the Driving/Driven button.
Driven Dimensions
Driven dimensions do not control geometry, they simply report its
dimensions. When a driven dimension is selected, the Driving/Driven button is
not depressed. To change the dimension to be driving, toggle the
Driving/Driven button.
Note: The Driven/Driving button is only visible when a dimension is selected
on the sheet.
You can also indicate the status of dimensions using their color scheme.
Select the required dimensions and click the right mouse button to set
dimension properties. A color scheme is available to indicate dimensions
which are driving, driven or in error.
Note: A useful color scheme to use might be green for driving, yellow for
driven and red for error.
114
Variables
Variables can be used in a symbol definition as placeholders for any value you
wish to represent. In addition, if a variable is subsequently used for setting a
driving parameter and if its name corresponds to the Aspen Basic Engineering
convention, it will ultimately be used to control the symbol when it is placed
on an Aspen Basic Engineering sheet.
A Variable Table is used to define and edit functional relationships between
the dimensions of a design in a familiar spreadsheet format. The Variable
Table is accessed using the Variables command on the Tools menu.
There are two types of variables:
The variable table is similar to a spreadsheet. You can type into an empty row
to create a new variable, giving its name, its type and its value (or formula).
If you want to control the symbol in Aspen Basic Engineering using graphical
handles, you must create a variable that corresponds to the handle you want
to utilize.
The name of the variable should be one of:
Top, Bottom, Left or Right,
115
corresponding to the relative location of the GUI Handle on the placed symbol
(refer to the Glossary in the on-line Help for a definition of handles). Note
that the capitalization of the first letter and the spelling must be exact.
The formula column of the variable table can contain any valid formula and
you can use variables within these formulae. This means that you can set a
driving dimension using formulae containing variables.
116
Relationship Commands
Using Feedback from the Pointer as You
Draw
As you move the pointer, the software automatically updates values in the
ribbon bar, giving you constant feedback on the size and position of the
element you are drawing. As you draw, the software shows a temporary,
dynamic display of the element you are drawing by the pointer this
feedback is called a relationship indicator. This temporary display shows the
look of the elements if you place the element at the current location.
The software gives you more information about the element that you are
drawing by displaying relationships between the temporary, dynamic element
and the following items:
Other elements in the drawing comprise:
Relationships
You can set the types of relationships you want the software to recognize with
the Settings command on the Tools menu. The software can recognize one or
two relationships at a time. When the software recognizes two relationships,
it displays both relationship indicators at the cursor.
Locate Zone
You do not have to move the pointer to an exact position for the software to
recognize a relationship. The software recognizes relationships for any
element within the locate zone of the pointer. The circle around the pointer
crosshair or at the end of the pointer arrow indicates the locate zone. You can
change the size of the locate zone with the Settings command on the Tools
menu.
117
Infinite Elements
The software recognizes the Point On Element relationship for lines and arcs
as if these elements were infinite. In the following example, the software
recognizes a Point On Element relationship when you position the pointer
directly over an element and also when you move the pointer off the element.
To delete a relationship, select it and press the delete key. Often, box
selection is the best way to select.
To add a relationship, press one of the relationship buttons on the relationship
toolbar and select the objects to be related as described:
Connect relationship. The first object selected will snap
to the second object
118
119
120
Clicking on this handle and dragging the mouse results in the value of the
variable changing and therefore any geometrical dependencies within the
symbol that are based on the variable, will change too.
Example
The following example shows the design of a parametric symbol, in this case
a column, which can change its height or width independently.
Create a new symbol:
1
Place the datum in the center of the sheet. We will also use this as a fixed
point for the parametric operations.
Draw two lines horizontally to each side of the datum (switching on the
grid may help).
121
122
Use the lock relationship to lock one end of one of the lines at the datum
(the other line is implicitly locked by the connect relationship, note the
hollow square indicator).
Now draw two vertical lines near each free end of the horizontals. These
form the sides of the column. Constrain the lines to be vertical.
Connect the center point of each line to the end point of the horizontal,
being careful to select the vertical line before the horizontal.
Use the horizontal relationship to constrain the end points of the vertical
lines to be horizontal to one another. (Select the button, then the end
point of each line, a dotted line will be drawn to show the relationship).
Only one set of ends need be constrained since the verticals will expand
and contract about their center points.
You should find that you can now move one end point of one of the
vertical lines and this will drive all the other endpoints keeping the object
symmetrical about the datum.
Now add parameters to drive the end point that drives all the others. Use
the Distance Between parameter.
10 Create an arc by center and end points, being careful to place the center
point in line with the datum and the end points connecting (automatically)
to the ends of the vertical lines.
11 Repeat for the arc forming the base of the column. Constrain the center
points of the arcs to be in line with the datum.
123
Open the variable table (by pressing the variables button). Define new
variables Top and Right. In the formula field of the width-ways
parameter type Right and in the formula field of the height controlling
parameter, type Top. These parameters are now driven by the value of
the variable. You may also set the radius dimension based on another
variable or parameter. In the example it is set to 1 x V352.
124
14 Save the symbol after setting its properties for use in Aspen Basic
Engineering.
15 You may want to hide the construction lines (the original horizontals) and
the dimensions in an invisible layer. You may also shade the resulting
symbol if you wish.
To create an invisible layer:
a) Select the menu item Tools | Layers
b) In the ribbon bar, simply type the name of the new layer to create it.
When you draw an element, it is assigned to the active layer.
c) To see which layer is active, or to change the active layer, you can use the
Layers button on the Main toolbar.
d) To view elements on specific layers, you can turn on one or more layers
with the Layers button.
125
126
The Class Library Editor is a client application, which allows authorized users
to create and edit Class Libraries and compile them into a Class Store
(previously a Prototype Store).
A Class Library comprises a named collection of related class and association
definitions (organized according to an XML Schema). Typically, the set of
definitions contained in each class library will be related by a common
purpose, e.g. a class library may contain classes for mechanical parts for
rotating equipment, or classes of heat transfer equipment.
Aspen Basic Engineering supports multiple class libraries and a class library
may reference other class libraries (Referenced Libraries) to allow
relationships between classes in different class libraries.
In addition to user-defined Class Libraries, a number of other Class libraries
are provided with Aspen Basic Engineering, these include a System Library (a
protected, non-editable library containing classes required by the Aspen Basic
Engineering system to function) and a range of engineering libraries.
127
Associations.
Class Views.
Classes.
Composite Views.
Enumerations.
Included Libraries.
Each entity has a namespace, i.e., no two classes can have the same name.
The Name property of an entity is its identifier.
On loading a library the system performs the following consistency checks
for:
Namespace violations.
Missing dependencies.
Class Store
The Class Store is a compiled version of the Class Library used by the Aspen
Basic Engineering server. It contains a flattened representation of the
classes in the Library and its referenced libraries, with all dependencies
checked and properly mapped.
128
Menu bar.
Navigation Pane (left pane) Displays top level constructs in the library
via eight tabs.
File menu.
Edit menu.
View menu.
Insert menu.
Tools menu.
File Menu
The File menu contains the following commands:
File Menu
Command
Action
New
Open
Close
Close the current class library, (all open contents pane windows).
If the existing class library is loaded with unsaved changes, you
are prompted to save the changes
Save
Save the class library to its class library (.azcl) file. If the library
has never been saved, the Save As dialog is displayed prompting
you to name the file
Save As
Enter the name for a new file and choose a directory to save it in.
The default directory is Class Library Repository
Library
Properties
Recent File
Exit
129
Edit Menu
The Edit menu contains the following commands:
Edit Menu Command
Action
Undo
Redo
Cut
Copy
Paste
Delete
Find
Stop Sorting
Properties
View Menu
The View menu contains the following commands used to show/hide the
associated item:
View Menu Command
Action
Toolbars
Status Bar
Navigation View
Output
Insert Menu
The Insert menu contains the following commands:
130
View Menu
Command
Action
Class
Opens the Class Properties dialog and allows you to insert a new
class
Association
Enumeration
Composite
View
Class View
Opens the Class View Properties dialog and allows you to insert a
new class view
Tools Menu
The Tools menu contains the following commands:
Tools Menu
Command
Action
Check Library
Checks the Library for errors and puts the result in the Report
tab of the output bar
Check the
selected
Construct
Show Usage
Preferences
UOM Definitions
Toolbar Button
Name
New
Open Document
Save
Cut
Copy
Paste
Delete
Undo
Redo
Description
131
10
Properties
11
Find
12
Show Usage
13
Check Construct
for Errors
14
Check Library
for Errors
15
Make Class
Store
16
Help
17
Open
18
Show System
Order
19
Insert Attribute
20
Move Up
21
Move Down
22
Expand All
23
Collapse All
132
Open.
Insert.
o
Class.
Association.
Enumeration.
Composite View.
Class View.
SubClass.
Rename.
Delete.
Show Usage.
Find Attribute.
Properties.
Class.
Superclass.
Library.
Navigation Pane
This pane is displayed on the left side of the window and contains the
following tabs:
Library Tab
The Library tab displays all elements in the library hierarchically. The root of
this view is the current library. All library elements are visualized, organized
by containment (i.e., Enumerations of LibraryX are displayed under LibraryX/
Enumerations). Classes and Associations are further organized by category.
Entities with no category are placed under the Classes/Associations node.
133
Construct Tabs
The following tabs, Classes, Associations, Enumerations, Class Views and
Composite Views display a list of all constructs of that type and display details
of each construct. The lists can be sorted by any column and the appropriate
content view or properties can be displayed by double clicking on an item or
using the right mouse button context menu, which has the same choices as in
the Library tab for each construct.
Inheritance Tab
The Inheritance tab displays a graphical view and represents multiple base
classes. It shows all current classes and all referenced libraries organized by
inheritance. This view can only be modified via the Edit Class Properties
dialog.
134
Any number of included Class Store files with the extension AZCS.
The root library and the included libraries contain definitions of Classes,
Composite Views, Class Views, Associations and Enumerations. The difference
is that only the root library can include other libraries and Class Stores, and
only the root library can be compiled into a Class Store. As such the root
library with its included libraries must be complete; all reference from one
class to another must be contained within the root library and its included
files.
Class Stores are compiled class libraries. Aspen Basic Engineering delivers
precompiled libraries. The System class store is always delivered. Class stores
cannot be modified but can be included in a new Class Library and constructs
in a class store can be extended.
135
Though class stores cannot be edited or changed you can extend a class store
in your class library by adding to a construct e.g. adding an attribute to a
class, or by modifying certain properties such as an attributes description but
not the name or any other property that the Aspen Basic Engineering server
depends on. The extensions/modifications are stored in the new class library.
Library Operations
Creating a New Class Library
This procedure creates a new Class Library displayed in the Navigation pane
Library tab and assumes the Class Library Editor is already open:
1
A new (empty) Class Library is created and displayed in the Library tab.
This becomes the current library.
The Open dialog is displayed allowing you to open a file (the default file
display format is .azcl) or navigate to the directory containing the required
.azcl library file(s).
136
When complete, click OK to save changes and close the dialog, or Cancel
to discard changes and close the dialog.
If the library name has been modified, this is displayed in the Library tab.
Property Description
Name
Description
Author
Organization
Select the Add Existing Referenced library icon; a File Open dialog is
displayed.
Select one of the files listed (the system displays the description property
of the selected file).
Confirm the selection of the class library (the system adds the selected
class library to the list of included libraries).
Confirm the changes to the library properties (the system loads the
contents of the include library if it is not already loaded).
137
Select the Properties command (the system displays the Edit Properties
dialog for the selected library).
Select the name of an include library from the list of included libraries.
Click Yes on the dialog box to confirm the changes to the library
properties.
Note: If the library is not included by any other library currently loaded,
the system unloads the contents of the library and removes the included
library from the library view. Any changes made to the include library
since it was loaded are saved.
Select a construct shown in the Library View. The selected construct may
be in more than one source library.
Select a target library in the Library View and select Paste. The selected
constructs are placed in the target library and the constructs are removed
from the source libraries.
Note: If you attempt to paste the selected constructs into a library that
already contains one of the selected constructs, an error is reported and
none of the constructs are pasted.
138
Drag the selected construct while holding down the left mouse button.
(Visual feedback that the selected objects are being dragged is indicated.)
Release the left mouse button over the target library. The selected
construct is placed in the target library and the construct is removed from
the source libraries.
Note: If you attempt to drop the selected construct into a library that
contains one of the selected constructs, an error is reported and none of
the constructs are dropped.
Click on the + symbol to expand the nodes in the tree view and find
constructs of interest.
Select File | Save to save any changes to the library and keep the
current library open. If this is the first save, the Save As dialog prompts
you to save as a filename.
139
Searching a Library
This procedure helps you ensure you do not duplicate modeling constructs,
thus creating redundancy in the Class Libraries. You may search class libraries
for matches against a plain text string or matches against a regular
expression. The scope search can be configured to look selectively for
matches in one or more kinds of modeling construct and modeling construct
properties.
With the Class Library Editor already open:
1
Select Find from the toolbar or Edit menu and enter a text string.
Select the property to compare the string with, and modeling constructs
the search should consider.
Specify whether or not the search should look for the exact string
specified or any result containing the string.
The system presents a report showing all the instances where a match
with the search string was found, in the Find tab of the output bar.
Select Tools | Check Library. This generates a report in the Report tab
of the output bar listing all messages generated by the check. Messages
are classified into one of the following categories: Warning, Error, Severe
Error.
140
Select Tools | Make Class Store. (The system checks whether any
changes have been made to the library contents since the library was
opened or last saved.) The Save As dialog is displayed.
Enter a file name and file location for the Class Store file (the system
writes the Class Store file).
You can now load the Class Store into the Aspen Basic Engineering server
without generating errors and use the data model constructs in a
Workspace.
If errors are generated, an error report is displayed and the Class Store
file is not created.
Class Operations
Creating a New Class
This procedure shows you how to use a graphical interface to create new
classes and define their properties.
With the Class Library Editor already open and a class library created or
opened:
1
Class Property
Description
Class name
The name that identifies the class within the class libraries
and by the system
Display name
Description
Category
Known name
Superclasses
Select Tools | Show Usage to display the Report dialog showing the
constructs in the current library where the classes are referenced.
141
Checking a Class
This procedure allows you request the system to check a class for semantic
errors such as invalid references or missing required properties.
With the Class Library Editor already open:
1
The system performs checks on the properties of the class and the
properties of the class attributes for errors.
The system shows a report on the display listing all messages generated
by the check. The user selects a class in the Library View.
142
Arrows are laid out left to right except where multiple arrows enter or
leave a node, in which case the arrow vector may have a vertical
component.
All inheritance relationships have the superclass on the left of the arc
and the subclass at the right-hand end of the arc. Nodes are laid out to
achieve this objective.
A context menu allows you to select a class node and Class Operations
that require a class as a context.
Enters a positive integer value (the system redisplays the Inheritance tree
expanded to the depth specified).
Select the Refocus command (the system re-displays the Inheritance tree
with the selected class at the root).
Select the Refocus on Root Class command (the system redisplays the
Inheritance tree with the root class at the start of the class Inheritance
tree).
Select the Expand command (the system re-displays the Inheritance tree
with all the subclasses of the selected class shown).
143
Select the Collapse command (the system redisplays the Inheritance tree
with all the subclasses of the selected class shown).
Select the Print command (the system prints the class Inheritance tree as
currently expanded in the Inheritance view).
Select Open from the right mouse button context menu or double click
the class to display the Attribute view of window which contains a list of
all attributes in the class and all the attributes inherited from superclasses
of the class.
144
Click on the + next to an attribute that has a type of Object. The system
expands the attribute in the attribute view to show attributes of the
objects class.
You can expand all nodes one level or collapse all nodes using the + and
on the attribute tool bar.
Edit the attribute properties, clicking in each field to enter edit mode.
Note: You cannot insert into or edit an attribute belonging to another class.
Class
Attribute
Property
Description
Name
(default = none)
Display
Name
(default = none)
Descriptio
n
Type
(default = none)
One of the following:
String
Integer
Real
Boolean
Date
Binary
Enumeration
Object
If Enumeration is specified, the
name of an existing enumeration type
in the current or an included library
must also be specified
If Object is specified, the name of an
existing class in the current or an
included library must also be specified.
This specifies that the attribute will
contain instances of an object of the
specified class. An implicit containment
association is created between the
parent object and the sub-object
Category
(default = none)
Multiplicit
1 (default = 1)
145
Class
Attribute
Property
Description
Default
Value
1 (default = 1)
Default
Fixed
True
Quantity
Type
Case
Fixed
True
Clone
Fixed
True
Disciplines
(default = none)
Length
Heat Transfer Coefficient
(default = none)
False (default = False)
Deleting an Attribute
This procedure allows you to delete an attribute from an existing class.
With the Class Library Editor already open and the Attribute View of window
open:
1
Select Edit | Delete to remove the attribute from the attribute view.
Moving an Attribute
This procedure allows you to move an attribute up or down in the system
order of attributes in a class.
With the Class Library Editor already open and the Attribute View of window
open:
1
146
Click the toolbar Move Up or Move Down icon (or right-click the mouse
to display the context-menu.
The selected attribute is moved up one position or down one position in
the attribute view, but remains the selected attribute. The system
preserves the new system order when the class attributes are saved to a
library file.
Note: The Move Up command is disabled if you select an attribute
belonging to a subclass or superclass of the class for which the attribute
view is current.
Select an attribute in the class attribute view (the selected attributes may
not be contiguous).
Select Copy Attribute from the right mouse button context menu.
Select Edit | Cut. This removes the selected text from the class attribute
view unsetting the property if allowed.
Select Edit | Paste. The previously removed text is inserted as the value
for the selected property.
Note: If you select a target attribute that belongs to a subclass or
superclass of the class, the Edit | Cut and Edit | Paste commands are
disabled.
147
Checking an Attribute
This procedure allows you to check a class attribute for semantic errors such
as invalid references or missing required properties.
1
With the Class Library Editor already open and the Attribute View of
window open, select an attribute in the Class Attribute View.
Association Operations
Creating and Editing Association
This procedure allows you to create an association between classes. Only
binary associations are supported. .
To create an association:
1
With the Class Library Editor already open and the two classes already
existing in the current library or a referenced library, select Insert |
Association to display the New Association Properties dialog.
Enter data for the new association in the available fields (refer to the
following table for field details).
To edit an association:
148
Click OK to save the changes (or Cancel to discard) and close the dialog.
Association
Property
Property Description
Possible
Values/Default
Association
Name
Category
Disciplines
Role Name
Class
Class
Attribute
Multiplicity
Description
1 (default = 1)
n
Deleting an Association
This procedure allows you to delete an association between classes.
With the Class Library Editor already open:
1
Select Edit | Delete. The association is deleted from the current library,
and the property view of the association is closed (if open).
Renaming an Association
This procedure allows you to rename an association.
With the Class Library Editor already open:
1
Right-click and select Rename. The system allows you to change the
name of the Association in-situ in the Library View.
Enumeration Operations
Creating and Editing an Enumeration Type
This procedure allows you to create an enumeration data type. An
enumeration data type is a data type that specifies a list of allowed values for
an instance of that data type.
With the Class Library Editor already open:
To create an enumeration data type:
1
Enters properties for the enumeration type (refer to the following table for
field details).
Click OK to save the new enumeration type (or Cancel to discard and
close the dialog).
Edit the displayed values of the properties (refer to the following table for
field details).
Click OK to save the new enumeration type (or Cancel to discard) and
close the dialog.
149
Enumeration
Property
Property Description
Possible
Values
Name
Display Name
Description
Category
Store As
Integer
(default)
String
Open or
Closed
Open
Closed
(default)
Deleting an Enumeration
This procedure allows you to delete an enumeration data type from the
current library.
With the Class Library Editor already open:
1
Select Edit | Delete. The enumeration is deleted from the current library.
Renaming an Enumeration
This procedure allows you to rename an enumeration.
With the Class Library Editor already open:
1
Select Rename from the right mouse button context menu. The system
allows you to change the name of the enumeration in-situ in the Library
View.
150
Check Enumeration
This procedure allows you to obtain a report showing errors in the
enumeration properties or options.
With the Class Library Editor already open:
1
Edit the option properties, clicking in each field to enter edit mode.
Class Option
Property
Description
Name
(default = none)
Display Name
(default = none)
Description
Type
One of the
following:StringIntegerRealBoolea
nDateBinaryEnumerationObject
If Enumeration is specified, the
name of an existing enumeration
type in the current or an included
library must also be specifiedIf
Object is specified, the name of
an existing class in the current or
an included library must also be
specified. This specifies that the
attribute will contain instances of
an object of the specified class. An
implicit containment association is
created between the parent object
and the sub-object
151
Class Option
Property
Description
Category
(default = none)
Multiplicity
1 (default)
1 (default)
True
True
True
(default = none)
Default Value
Default Fixed
Quantity Type
Case Fixed
Clone Fixed
Disciplines
False (default)
Length
Heat Transfer Coefficient
(default = none)
False (default)
False (default)
152
Select Insert | Class View to display the New Class View dialog.
Enter Class View properties in the Name, Description and Category fields.
Click OK to save the new Class View (or Cancel to discard and close the
dialog).
Select Edit | Properties to display the Edit Class View Properties dialog.
Click OK to save the new enumeration type (or Cancel to discard) and
close the dialog. The dialog is closed and changes are applied to the Class
View properties.
Edit the Class View name and click anywhere outside of the edit field to
save the change(s).
153
Select Insert Class View Node and select Before or After or Sub-node
option. The system creates a new Class View node at the requested
location and makes the new node the current node.
Select the Expand All toolbar icon to display the Class View content with
the selected node expanded to show the subordinate nodes and attributes.
Select the Collapse All toolbar icon to display the Class View content with
the selected node collapsed.
Enter the properties of the new Class View attribute. Class View attribute
properties can also be edited in-line in the Class View content view.
To edit a Class View Attribute (with the Class Library Editor already open and
with Class View content view as the current view):
154
Edit the attribute properties (refer to the following table for field
descriptions). Class View attribute properties can also be edited in-line in
the Class View content view.
Class View
Attribute
Property
Description
Name
Display
Name
Description
Data Type
Quantity
Type
Units
Multiplicity
1 (default = 1)
Help Text
Link
155
Browse the content view of the composite Class View and select an
attribute of the Composite View.
Select Create link to create a link between the Class View attribute and
the Composite View attribute.
Enter the Class the composite view relates to, using the browse
button.
Click OK to save the new Composite View (or Cancel to discard) and close
the dialog.
156
Click OK to save the new title (or Cancel to discard) and close the dialog.
If you double-clicked on the title only, click anywhere away from the edit
field.
Select a Composite View and select Edit | Properties to display the Edit
Composite View Properties dialog.
Click OK to save the changes (or Cancel to discard) and close the dialog.
Edit the content by clicking in the fields required to activate edit mode.
Edit the properties and click anywhere off the edit field when finished.
157
Composite View
Attribute Property
Description
Possible values
and constraints
Name
Description
Type
Quantity Type
Multiplicity
1 (default = 1)
Route
158
Browse the Class Attribute view for the class corresponding to the
composite view.
Drag and drop the class attribute onto the composite class view route
property. The system writes the route of the selected class attribute into
the route property.
Select a composite view attribute and click the Open icon on the toolbar.
Click an entry in the usage report and the Class View content view of the
referenced Class View is displayed.
Locate the directory containing a UOM Definitions file. The system displays
the files in the selected directory that have an xml file type.
159
Select one of the files in the file open dialog and confirm the selection. The
system loads the contents of the selected UOM Definition file.
Note: The existence of warning conditions does not prevent a Class Store
from being generated. Opting to omit checks for warning conditions can
reduce the time taken to execute the Check command.
160
11 Explorer
11 Explorer
161
The Explorer can also be used to launch other Aspen Basic Engineering
applications. For example double clicking a datasheet item within a folder will
launch the Datasheet Editor application to display the datasheet.
Within the Explorer, Workspaces can be exported for re-use, archiving or
external delivery. External design packages can also be imported into an
existing Workspace hierarchy.
Explorer Menu Menu options depend upon the type of view that is
currently selected.
Right pane Displays tabbed views of the currently open view windows.
Filter view Displays the objects for a filter selected in the filters view.
Explorer Menus
The Explorer has the following menus:
162
File menu
Edit menu
View menu
Case menu
Folder menu
Object menu
Run menu
Tools menu
SmartPlant menu
Window menu
11 Explorer
File Menu
The File menu contains the following commands:
File Menu Command
Action
Open Workspace
Close Workspace
Refresh Workspace
Print Setup
Exit
Edit Menu
The Edit menu contains the following commands:
11 Explorer
Edit Menu
Command
Action
Rename
Copy
Paste
Copy as Package
Paste as Package
Component
Management
Enumeration
Management
Project
Management
BEDD Management
163
View Menu
The View menu contains the following commands used to show/hide the
associated item:
View Menu
Command
Action
Folder Settings
Case Settings
Query Editor
Attributes
Properties
Case Menu
The Case menu contains the following commands:
Case Menu
Command
Action
Create
Rename
Governing Case
(drop-down menu)
164
Remove Object
Case
Delete
11 Explorer
Folder Menu
The Folder menu contains the following commands:
Folder Menu
Command
Action
New Folder
Remove
Removes items from the selected folder but keeps these items in
the database
Delete
Deletes the selected folder and all contents from the Workspace.
Note: As deleted objects cannot be retrieved, a warning dialog is
displayed before deletion asking you to confirm/cancel delete
Add Diagram
Add Object
Add Datasheet
Add File
Export Package
Import Package
Object Menu
The Object menu contains the following commands:
Object Menu
Command
Action
Create
Copy
Clone
Remove
Removes items from the selected folder, but keeps these items in
the database
Delete
Claim
UnClaim
Export
Package
11 Explorer
165
Run Menu
The Run menu contains the following commands:
Run Menu Command
Action
Local Method
Global Method
Runs a method
Rule
Runs a rule
Tools Menu
The Tools menu contains the following command:
Tools Menu
Command
Action
Customize
Framework Menu
The Framework menu contains the following commands:
Framework Menu
Command
Action
Publish
Find Documents to
Publish
Retrieve
Todo List
Browse
Window Menu
The Window menu contains the following commands:
166
Window Menu
Command
Action
Cascade
Tile Horizontally
Tile Vertically
Arrange Icons
11 Explorer
Help Menu
The Help menu contains the following commands:
Help Menu
Command
Action
AZ Explorer Help
Training
Product Support on
the Web
Contacting Support
Explorer Toolbar
The Toolbar displays commonly used menu operations as icons (buttons) on
the toolbar.
The icons used on the toolbar buttons display a tooltip (action) when the
cursor is floated over them.
Other menu options can be added to the toolbar (as icons) through the
customization feature:
11 Explorer
Item
Name
Description
Open Workspace
Refresh Workspace
Rename
Copy
Paste
Delete from
Workspace
Add Diagram
Add Datasheet
10
Add Object
167
Item
Name
Description
11
Add File
12
New Folder
13
Create Object
14
Copy Object
15
Clone Object
16
Display Help
Folders View
The folders tree view window allows you to organize a hierarchy of folders so
that related objects can be grouped together. A folder can be used to group
together datasheets, diagrams and Workspace objects. A hierarchy of folders
can be created so that the Workspace content can be organized, by process
section and within a section, by process unit to an arbitrary degree of nesting.
168
11 Explorer
The Icon and KnownName properties can be added as a column along with
any attribute name.
Select a field and click the Add button to add the field to the list in the
Displayed fields list.
Click the Delete button to remove the field from the list.
11 Explorer
Select a field from the Displayed Fields list and click the Up or Down
button to move the field to the required position in the list.
Click OK to save settings and close the dialog, or Cancel to discard the
settings and close the dialog.
169
170
Click the Add Filter button to open the Add Filter dialog.
In the Name field, add a name for the filter (e.g., Diagrams).
In the Column field select a column title from the drop-down list, select
one of the four arguments and click the Add button to add this filter to
the right pane.
11 Explorer
Select the folder in the hierarchy in which the new folder is to be created.
The folder can be selected either from the folder tree view window or by
selecting an open folder view.
In the Explorer window, click Folder | New Folder, (or click the New
Folder toolbar button).
Renaming a Folder
To rename a folder:
1
In the Explorer window, click Edit | Rename. (An in-place edit control is
displayed in the tree control.)
Click the Enter (keyboard) key to update the folder name. (To leave the
folder name unchanged hit the Escape key.)
Removing a Folder
To remove a folder:
1
The folder is deleted, from the tree view, but any items contained in the
folder still exist within the workspace.
Deleting a Folder
Note: This operation deletes folder contents from the database permanently.
A warning is displayed before the deletion is executed allowing you to
confirm/cancel the deletion.
To delete a folder:
11 Explorer
If you select Yes (to delete) the folder and content(s) are permanently
deleted from the database.
171
Select the folder from the hierarchy that diagrams are to be added to.
In the Explorer window, click Folder | Add Diagram. This opens the
Select Objects dialog. A list of available diagrams is displayed.
Select the diagram(s) to be added and click the OK button. This adds the
selected diagram(s) to the folder. (To cancel this action, click the Cancel
button.)
Select the folder from the hierarchy that a datasheet is to be added to.
In the Explorer window, click Folder | Add Datasheet. This opens the
Select Objects dialog. A list of available datasheets is displayed.
Select the datasheet(s) to be added from the list displayed and click the
OK button. This adds the selected datasheet(s) to the folder. (To cancel
this action, click the Cancel button).
Select the folder from the hierarchy that an object is to be added to.
In the Explorer window, click Folder | Add Object. This opens the Select
Objects dialog. A list of existing objects is displayed.
Select the object(s) to be added from the list displayed and click the OK
button. This adds the selected object(s) to the folder. (To cancel this
action, click the Cancel button.)
Note: There is a checkbox on the dialogs for the actions adding diagrams,
datasheets and objects that when checked will filter the items listed to only
display editable items. This is useful when working with projects.
Select the folder from the hierarchy, where the file is to be added.
In the Explorer window, click Folder | Add File. This opens the Select
File dialog. A list of existing files is displayed.
Select the file(s) to be added from the list displayed and click the OK
button. This adds the selected file(s) to the folder. (To cancel this action,
click the Cancel button.)
Note: Drag and drop. Files can be dragged and dropped from your local
machine directly into folders in the explorer application.
172
11 Explorer
The default drop action is to move the Object/Folder from the drag source
to the drop destination folder.
Note: Cut and Paste. The cut and paste options from the Edit menu can also
be used to achieve drag and drop behavior.
11 Explorer
Check Out
Checks a file out from the server to your local machine. This option is
activated in the main/context menu when a file has been selected in a
folder view.
Check In
Checks in a file from your local machine back to the server (including any
changes made to that file). This option is activated in the main/context
menu when a file has been selected in a folder view.
173
Save As
Allows you to save the selected file to a specified location. This option is
activated in the main/context menu when a file has been selected in a
folder view.
Selecting to view the read-only version of the file allows you to view a copy of
the file and save it as another name (to a user specified directory). Multiple
users may view a read-only version of the file simultaneously.
Selecting to check out the file and edit it copies the file onto your local PC and
allows you to modify the file, save it with a new name (to a different location)
and update the original copy by checking the file back in.
You can also add a file to the currently open workspace. This file can
subsequently be checked out/in and edited as required.
Adding a File
To add a new file to the currently open workspace:
174
Navigate to the location of the file you want to add and click OK. A new
file is added to the workspace.
11 Explorer
Select Check out this file and edit it. An editable file is opened allowing
you to review and edit the content. Full editorial rights are granted.
11 Explorer
175
The second user cannot review any changes made by the first user until the
local file has been checked back in. (This is because any changes made up to
that point only exist in the file on the local machine.)
Checking In a File
When you are satisfied with any changes made, the file can be checked back
in enabling these changes to be available to all other users in the workspace.
The file can then checked out by any other privileged user(s).
Note: Files must be checked in by the user.
Check in is user-initiated, not an automatic procedure.
To check a file in:
Select the file and select Object | File | Check In (or right mouse click
to display the context menu). The locked and locked by columns in the
Explorer are updated to indicate the check in was successful. (This
information will be available to other users the next time they refresh
their views on the file.)
Select Object | File | Undo Check Out. This option cancels any local
changes and leaves the contents of the original file intact.
Save As
The Save As option allows you to save a copy of the file on your local PC to a
user specified directory. This new file has no link back to the workspace. If
176
11 Explorer
the file saved to the local machine is then edited, changes to that file are not
reflected in the file contained in the workspace.
To save a file with a different name:
Select Object | File | Save As. The Windows Save As dialog is displayed
allowing you to save the file to a user specified directory.
Note: The reverse also applies when a file from your local machine has been
dragged into an Explorer folder or added via the add File menu option. Once
the file has been added to the workspace it exists as a separate entity to the
file on the local machine. Any changes to the original (or to the file in the
workspace) are not reflected in the other file.
11 Explorer
Select the folder from the hierarchy that an object is to be created in.
Select the required class, and click the OK button. The object is placed in
the selected folder with the name New Object. (To cancel this action, click
the Cancel button.) If the name of the class is known it can be typed in
the edit box to scroll the selection list.
177
Copying an Object
To copy an object:
1
Select the object to be copied from either an open folder or filter view.
Click Object | Copy to copy the currently selected object. The copy is
placed in the same folder as the original object.
Cloning an Object
To clone an object:
1
Select the object to be cloned from either an open folder or filter view.
Click Object | Clone to clone the currently selected object. The cloned
object is placed in the same folder as the original.
Removing an Object
To remove an object from its containing folder:
1
3 The object is removed from the containing folder. It still exists within the
workspace.
Claim an Object
To claim an object to your current project:
1
UnClaim an Object
To unclaim an object from your current project:
178
11 Explorer
Deleting an Object
Note: This operation deletes the object from the database permanently. A
warning is displayed before the deletion is executed allowing you to
confirm/cancel the deletion.
To delete an object:
1
Object Properties
To view the properties of an object:
1
Security: Displays the roles and privileges information for the object
currently selected.
11 Explorer
179
If you repeat this action on another object then a new attribute view will be
opened for that object. If you repeat this action for an object for which they
already have a view open then the existing view will just be brought to the
front of the tabbed window collection. Attributes views that are open for an
object when it is deleted from the workspace will be automatically closed.
The attribute views are made up of a number of columns. The first two
columns (always present) are the attribute name and the units columns. Any
subsequent columns displayed show the attribute data values for this object
for any cases that apply. Case columns can be configured to make the view
easier to read. Please see the section Customizing Case Settings for more
information.
If the governing case column for this object is visible with the current case
settings it will be identifiable to you by a red g in a red circle before the case
name.
Attribute views have the following specific menu options:
Object
180
Print Opens the Windows Print dialog, allowing you to print the
displayed information from the attributes view.
11 Explorer
Options
These menu options specify how the attribute information for the object
selected is displayed in the window; these options can be selected individually
or in any combination:
Right-clicking on any cell in the attributes view displays a popup menu which
shows the following options for the attribute row and case selected:
Insert Item Allows you to insert an object into a selected object vector
attribute.
Claim Allows you to claim the object for which the attributes are being
displayed.
UnClaim Allows you to unclaim the object for which the attributes are
being displayed.
Properties Allows you to launch the specific attribute properties for the
cell selected. These are specific for the case column selected.
Units Sets that are used when displaying the attributes in the view are
controlled by selecting from the drop down list in the top right hand corner of
the attributes view.
11 Explorer
181
Attribute Properties
The attribute properties displayed are for the specific attribute cell selected
and represent the case data for the column from which the dialog was
initiated:
Data View Allows you to view and edit the attribute specific data
values.
You can view the data value in different units of measure by selecting
different units of measure from the drop down list in the Unit
Measurement Selection section.
The data value changes automatically to represent the selection made.
This is only possible when the Edit Attribute Data check box is not
checked.
If you check the Edit Attribute Data check box, you can edit the data
value and set the descriptive test information for the attribute. Once the
check box is checked the units of measure no longer alter the data value
on selection.
If you make changes on this tab they are saved to the workspace when
the dialog is confirmed. The descriptive text options displayed in the drop
down lists indicate the currently recognized options available that are
loaded on the server.
182
11 Explorer
11 Explorer
A list of all cases (global and restricted) which shows the users
preference order whether displaying all cases or just a few.
183
Uncheck Show All Cases, select the cases to display their order and
confirm the dialog. The system records the settings and applies them to
any open attribute views. If the case selection does not include the
governing case then it will not be shown. The governing case now appears
in a selected position rather than being automatically put at the start as it
is when Show All Cases is checked.
You can now open up other attribute views for other objects in the
workspace. The system displays the attributes of the object for only the
cases selected in the dialog.
If the case selection includes a restricted case that is not applicable for the
object being viewed then the column for the restricted case is not displayed.
The system writes out to you the names of any non-applicable cases that are
hidden in a text box at the top of the attributes view.
If you have previously configured the case view settings, checked the Show
All Cases option and confirmed the dialog, the system retains the
preferences but refreshes all attributes views in the current client to display
all applicable cases for the object being viewed.
When you open new attribute views for other objects in the workspace the
system displays the attributes of the object for all cases of the object in the
order selected in the Case Settings dialog.
184
Select the Class in the navigation pane on the left hand side.
Set the value to be the classviews name you want to display by default:
11 Explorer
Packages
Packages, also called Modular Designs, are sections of a workspace that have
been saved externally in an XML format. They can be used to transfer data
between workspaces and to preserve sections of a plant as modules. To
create a package, select an object to export from one of the Explorer windows
and select the Export Package menu option. This displays the Export Package
dialog from where you can specify the name of the file to be exported.
As well as the selected object, related objects are also exported:
Datasheets export the datasheet document and all objects that appear on
it.
Drawings also export the document and all objects that appear on it. The
connectivity between items in the package is also exported.
Bridges export all the items that make up that Bridge definition. They do
not however export the object that is referenced by the linksets. If you
want these objects to be exported as part of the Bridge you should put the
bridge and the linked objects in a folder and export that folder.
To import a Package select a folder from one of the Explorer windows and
then select the Import Package menu option. This displays the Import
Package dialog from where you can specify the name of the file to be
imported. All items in the Package are imported into the selected folder.
During import, the case names in the Package file are matched against the
case names in the current workspace. If new cases are found then they are
created. All objects in the package are created as new objects in the
Workspace.
Note: Data from the Global class is not imported.
Exporting a Package
Select the Folder | Export Package menu option to display the Export
Package dialog. This allows you to specify the package file name and to
enter descriptive data about the contents of the package file. The selected
object can then be exported as a Package.
11 Explorer
185
Importing a Package
Select the Folder | Import Package menu option to display the Import
Package dialog. Use this dialog to specify the Package you wish to import. It
displays a file name and other data that will help to describe and identify the
package file. You can enter a Title, Description, Category and a Purpose.
These just enable you to describe the package and are not used by Aspen
Basic Engineering.
Packages Folder
Package files may be placed in the folder defined by the PACKAGES
parameter in the workspaces config. file. To use this file press the Library
button. Alternatively you can specify the folder for your packages by pressing
the Browse button. You can see which folder is being used for the export or
import of the package files in the Current Folder box.
Query Editor
The Query Editor is used to send Ad-hoc queries to the workspace.
The queries are Visual Basic Scripts that can be typed in to the top half of the
window or loaded from a file. The scripts have access to the same automation
objects and methods as a Rule in a KB script. In addition a Response object is
exposed which supports a "Write" method. All the text written to the
Response object will appear in the bottom half of the window when the query
has completed.
For example the following is a simple query to report the names and
descriptions of all pumps in the workspace:
'List all pumps
Response.Write "Name"
Response.Newline
Response.Write "----"
Response.Newline
' Output name and description
For Each pump in ClassStore.FindClass("Pump").Members
Response.Write Pump.DisplayName & " " & Pump.Description
Response.Newline
Next
186
11 Explorer
When the submit button is pressed the output for the query is displayed in
the lower pane.
Alternatively the response can be modified to return html or xml as shown:
<HTML>
<TABLE>
<TR>
<TD> Name </TD>
<TD> Description </TD>
</TR>
<%
'List all pumps
11 Explorer
187
Adding a Query
You type your query into the top Query window using VBScript statements.
When you press the submit button the query is copied to the Aspen Basic
Engineering server where the script is interpreted and run on the server
machine. Each Response.Write statement in the query writes to the servers
response buffer. When the query completes its execution on the server, the
contents of the Response buffer are copied back to the Query Editor on your
client machine and displayed in the bottom Response window.
188
11 Explorer
Class Name
Description
Response
AZQResponse
ClassStore
AZQClassStore
ObjectStore
AZQObjectStore
Globals
AZQGlobals
next
Here FindClass(GenericClass) will find all Aspen Basic Engineering objects
that are of GenericClass or whose class derives from GenericClass. If you look
at any class in the CLE you will see that ultimately it derives from
GenericClass, so the above example will loop through every item in the
workspace.
The obj variable holds an AZQObject object. Each of these automation objects
corresponds to an Aspen Basic Engineering object in the workspace such as a
pump or port. You can therefore use the methods of the AZQObject class to
query an Aspen Basic Engineering object. Typically you will want to examine
11 Explorer
189
an Aspen Basic Engineering objects attributes which you can do with script
like:
for each ZyqadObject in
ClassStore.FindClass("GenericClass").Members
set ObjectsAttributes = ZyqadObject.Attributes
next
The attributes are again returned as an automation object. In this case, of
class AZQAttributeCollection. This class supports an enumerator so that it can
be used in for each loops and an item property to allow individual attributes
to be accessed.
E.g.:
set ObjectsAttributes = ZyqadObject.Attributes
for each Attr in ObjectsAttributes
next
or
set ObjectsAttributes = ZyqadObject.Attributes
for i = 1 to ObjectsAttributes.Count
set Attr = ObjectsAttributes(i) Item is the default property
next
Note that in both cases the Aspen Basic Engineering attribute is accessed
through a class, this time called AZQAttribute (see Events).
Unless the Aspen Basic Engineering attribute contains another Aspen Basic
Engineering workspace object or is a vector, the value of the attribute can be
retrieved using the AZQAttributes Value property. So the attributes value
could be displayed with:
response.write Attr.Value
For example, the following attempts to write all the attributes of the Aspen
Basic Engineering GlobalsClass.
Set ZyqadObject = ObjectStore.FindObject(1)
Set ObjectsAttributes = ZyqadObject.Attributes
For i = 1 To ObjectsAttributes.Count
Set Attr = ObjectsAttributes(i) ' Item is the default
property
response.write Attr.Value
response.Newline
Next
This example starts by using the ObjectStore global. One of its methods
allows you to retrieve an object by specifying its OID. Every object in the
Aspen Basic Engineering workspace has a unique Object Identifier or OID. As
this is not engineering data it is not normally displayed to the user, although
190
11 Explorer
you can choose to display it in the Explorer. The above example takes
advantage of the fact that the GlobalsObject has an OID of 1.
However if you try to run this example it will almost certainly produce an
error such as Invalid Index. This is because some of the attributes are
vectors and the Value method must supply the index for an array.
Therefore the script should be modified to print out each element of the
array, e.g.
For i = 1 To ObjectsAttributes.Count
' Item is the default property
Set Attr = ObjectsAttributes(i)
response.write Attr.DataTypeName
If Attr.IsVector Then
For j = 1 To attr.Count
set v = attr.Val(i)
response.write Attr.Value
response.Newline
Next
Else
response.write Attr.Value
response.Newline
End If
The IsVector property returns true if the attribute is a vector. But this
example may still not work because the value returned for an attribute could
be another object or not set. Neither of these can be written to the response
buffer which is expecting a string variable. Therefore an error will be
produced. So the example must guard against these:
Set ZyqadObject = ObjectStore.FindObject(1)
Set ObjectsAttributes = ZyqadObject.Attributes
For i = 1 To ObjectsAttributes.Count
Set Attr = ObjectsAttributes(i) ' Item is the default
property
If attr.DataType <> azqDataTypeObject Then
If Attr.IsVector Then
For j = 1 To attr.Count
If attr.HasValue(j) Then
response.write Attr.DataTypeName & " "
response.write Attr.Name & "( "
response.write i & " ) "
response.write Attr.Value( i)
response.Newline
End If
Next
Else
If attr.HasValue Then
response.write Attr.DataTypeName & " "
response.write Attr.Name & " "
response.write Attr.Value
response.Newline
End If
End If
End If
11 Explorer
191
Next
In the above example the type of each attribute is obtained by the DataType
property. This is tested to check that an attribute does not represent an
object.
The HasValue property returns true if the attribute has a value. Note how an
Index is supplied to test if the element of a vector has a value. This example
could be further refined to get the attributes of the intermediary objects
which are currently ignored. Getting the attributes for an intermediary object
is just like getting them for the parent object. So in the example the
intermediary object can be obtained with additions like:
If attr.DataType = azqDataTypeObject Then
Set IntermediaryObject = attr.Value
or value(index) for a vector
End if
IntermediaryObject is an AZObject just like ZyqadObject in the earlier
example.
Class Views
As well as getting all the attributes of an object you can get the attributes for
a Class View. To do this you should get an AZQClassView automation object
representing the ClassView you want. You do this by using the FindClassView
method on the ClassStore global object, in a similar way to which classes are
found using the FindClass method.
E.g.:
set API610ClassView = ClassStore.FindClassView("API610")
To use this ClassView for a particular Aspen Basic Engineering object you
need to get an object that represents the implementation of that ClassView
for a particular Aspen Basic Engineering object.
For example:
set PumpClass = ClassStore.FindClass("CentrifugalPump")
for each pump in PumpClass.Members,
set ClassViewImplementation = pump.View(API610ClassView)
next
ClassViewImplementation is an object of class AZQView. This class has
Attribute and Attributes properties in a similar way to an AZQObject and
these are used to get the attributes values.
192
11 Explorer
Units of measure
Values are stored internally in Aspen Basic Engineering in SI units. If you
simply use the Value property of the AZQAttribute or AZQViewAttribute
classes you will get the SI value. Values can also be returned in other units.
The Value properties can take an optional argument which is the units for that
attribute. If this is supplied then the value returned will be in those units.
For example:
Val = Attr.Value(1, ft3/s)
Will return a value in ft3/s for the first element in a vector. If the particular
units are not valid for that value then an error is raised.
To find out which units are valid for an attribute you need to get its attribute
definition. Both the AZQAttribute and AZQViewAttribute classes have a UOM
property which will return the units string for the attribute. You must specify
the unit set.
For example:
UnitString = Attr.UOM(US) Attr can be AZQAttribute or
AZQViewAttribute class
You can get the list of unit sets in the Aspen Basic Engineering class store
with the UOMSetNames property of the AZQClassStore class.
UOMSets = ClassStore.UOMSetNames
To get the capacity of a pump in all UOMs you could use a script containing:
UOMSets = ClassStore.UOMSetNames
Set PumpObject = ObjectStore.FindObject(8) 8 is the OID of this pump
For Each UOMSet in UOMSets
Response.write "UOMSet: " & UOMSet
UOM = PumpObject.Capacity.UOM(UOMSet)
Response.write " Units: " & UOM & " "
Response.write Pump.Capacity.Value(UOM)
Response.NewLine
Next
PumpObject.Capacity in the above example is an example of a dynamic
property. See KB Dynamic Properties for more information. Note also that
PumpObject is an automation object and is assigned with the Set operator.
UOM is a variant and is simply assigned.
All possible available units for an attribute can be found by examining an
attributes physical quantity.
11 Explorer
193
For example:
Get the definition of the capacity attribute
set AttDefn = Pump.Capacity.Definition
Get the physical quantity for the attribute
set QuantityType = AttDefn.QuantityType
Get the UOMS for the quantity type
UOMS = QuantityType.ValidDisplayUOM
Response.write The Pumps capacity is output using all available
units
Response.NewLine
For each UOM in UOMS
Response.write Pump.Capacity.Value(UOM)
Response.write & UOM
Response.NewLine
Next
Cases
All the values returned in the previous examples have used a default Case,
called the governing case. Cases, like objects, are identified internally by
Aspen Basic Engineering with an integer ID, called the CaseID. If you wish to
get the values for a particular case you need to call the Value property with
the optional CaseID argument.
For example:
Val = Att.Value(2, m/s)
See AZQObjectStore, under Events, for the properties useful when using
cases.
Cases Example
Get the governing case ID from the ObjectStore global
ActID = ObjectStore.GoverningCase
Get its name
ActName = ObjectStore.CaseName(ActID)
Response.Write The current case is & Globals ActName
Get all cases
AllCases = ObjectStore.GlobalCases
Response.NewLine
Write out how many there are
NoCases = ubound(AllCases)
Response.Write "There are " & NoCases & " Cases. "
Write out each cases name
For Each CaseID in AllCases
Response.NewLine
Response.Write "
" & ObjectStore.CaseName(CaseID)
Next
194
11 Explorer
Script to output the values for the pump capacity in each case could be
For Each CaseID in AllCases
Response.NewLine
Response.Write Value:
Set cap=pump.Attribute(Capacity,CaseID)
Response.write cap.Value(m^3/h)
Response.Write Case:
Response.Write "
" & ObjectStore.CaseName(CaseID)
Next
Description
Write (string)
NewLine
StartXMLDocument
EndXMLDOcument
StartElement
EndElement
WriteElement
NewAttributeSet
11 Explorer
Method
Description
Clear
195
196
11 Explorer
11 Explorer
197
Err.Clear
on error goto 0
Response.Newline
Response.Write "</TR>"
end if
end if
next
end sub
'close this piece of script so that more literal text can be written
%>
<TABLE>
<TR>
<TD> Route </TD>
<TD> Value </TD>
</TR>
<% ' next script
'Get the pump class
set c = ClassStore.FindClass("CentrifugalPump")
'Get the class view we want to report on
Set cv = ClassStore.FindClassView("API610")
'loop through all pumps
For Each o in c.Members
' get the class view instance for each pump
Set v = o.View(cv )
' call the subroutine defined above
ReportOnView v, ""
Next
%>
</TABLE>
198
11 Explorer
File Menu
The File menu contains the following commands:
Command
Action
Open Query
Close Query
Allows you to save the current query file (in .azq format) under a
new name
Close
Window
View Menu
The Edit menu contains the following commands:
Command
Action
Submit button
The Submit button has the following effect:
Command
Action
Click Submit
Asynchronously checkbox
The Asynchronously checkbox has the following effect:
Command
Action
Unchecked
Checked
11 Explorer
Ctrl-C Copy.
Ctrl-X Cut.
Ctrl-V Paste.
199
Logging on to a Preferred
Workspace/Project
200
In the Explorer window, click File | Open Workspace to open the Open
Workspace dialog:
11 Explorer
In the Explorer window, click File | Open Workspace to open the Open
Workspace dialog.
Select the Workspace/Project from the list of preferred items in the Open
Workspace dialog and click Open to log on to the selected
Workspace/Project and close the Open Workspace dialog.
11 Explorer
In the Explorer window, click File | Open Workspace to open the Open
Workspace dialog.
Enter a valid username in the Connect As field and the password in the
Password field.
201
Enter (type) the required server name in the Server Name field.
Select the required authentication protocol from the drop-down list in the
Authentication Protocol field.
Click OK to enter the new details, close the dialog and retain the settings,
or Cancel to close the dialog without saving the settings.
Invalid Username/Password
If you open the Open Workspace dialog and attempt to log on to a
Workspace/Project using an invalid username and/or password (i.e., you do
not have authority to connect to the selected Workspace/Project, but your
username and password are valid for other Workspaces/Projects), the Log-On
Error dialog is displayed warning that you do not have access to the selected
Workspace:
1
202
Click the OK button to close the dialog and return to the Open Workspace
dialog:
11 Explorer
Incorrect Username/Password
If you open the Open Workspace dialog, then the Connect As dialog and enter
an incorrect username and/or password, the Log-On Error dialog is displayed
warning that your user name and/or password is invalid:
11 Explorer
Enter your correct user name and password to access the selected
Workspace.
203
204
11 Explorer
11 Explorer
205
2
3
Click OK to close the dialog and return to the Open Workspace dialog:
Managing Workspaces
Privileges, Roles and Users
Aspen Basic Engineering check uses a Privilege/Role/User model to control
access to resources.
206
11 Explorer
User: A user is an individual that has access to the Workspace and may be
granted one or more roles.
For a Role each Privilege may be granted, denied or left unspecified, using the
Workspace Explorer it is possible to change the Privileges that a Role has on a
per-object basis.
A user may also be a Windows group in which case all members of that group
share the Roles assigned to the group. The Roles a user has through group
membership are referred to as implicit Roles whereas Roles assigned
directly to a User are referred to as explicit Roles.
Whether a user has a privilege is determined by applying the following rules
in sequence:
1
An explicit Role for the User is granted the Privilege on the object:
The User is granted the privilege
An explicit Role for the User is denied the Privilege on the object:
The User is denied the privilege
An implicit Role for the User is granted the Privilege on the object:
The User is granted the privilege
An implicit Role for the User is denied the Privilege on the object:
The User is denied the privilege
General Privileges
Administrator: This privilege is checked when a user tries to add/modify the
Roles and Users for a Workspace or an Object in the Workspace.
Object Privileges
Read: This privilege is required to be able to view the data of an object. Note
that if Write privilege has been granted then the system treats Read privilege
as being implicitly granted.
11 Explorer
207
Attribute Privileges
Lock Attribute: The privilege required to be able to Lock an attribute.
Override Attribute Lock: If the user has this privilege then they can
override a Lock that has been placed on an attribute.
Secure Attribute: The privilege required to secure an attribute and to view a
secured attribute.
Discipline Privileges
TrespassDiscipline: If this privilege is granted then the User does not have
to be granted the Discipline specific Modify privilege to change attributes.
Modify_Discipline_Data: If TrespassDiscipline is not granted and the
attribute has a specific Discipline then the privilege must be granted to
change the attribute.
Document Privileges
Issue Document: A user must have this privilege to be allowed to issue a
document (i.e., a datasheet or a diagram).
Check Document: A user must have this privilege to be allowed to check a
document.
208
11 Explorer
Bridge Privileges
Bridge User: The privilege required to open and run a Bridge.
Bridge Definer: The privilege required to create and design a Bridge.
Workspace Components
The example below shows a typical installation, including the example
Workspace az13x.
C:\AspenZyqadServer\BasicEngineering13x\
WorkspaceLibraries/
LibrarySets.lst A file list the default library sets available when creating a
workspace.
StandardLibrarySet.cfg and or TEFLibrarySet.cfg The configuration setting
for workspaces using the Standard or TEF library set.
ClassLibraries/
*.azcs Files containing compiled sets of class and view, composite view,
enumerations and UOM definitions. Delivered .azcs files should not be edited
and can be extended with the Class View Editor.
KBs/
*.azkbs The script files for rules and methods.
*.azkbx The compiled form of the above files.
Symbols/
The tree of drawing symbols accessed by the Drawing Editor.
Templates/
The collection of Datasheet and Label template files.
Workspaces
Workspaces.lst - A file listing the names and locations of the Workspaces that
can be accessed on the computer.
PeerBrokers.lst A file listing the other Data servers that can be accessed
from this machine if it is used as a Business Server.
AZ13x/
The working directory for the example AZ13x workspace.
Workspace.cfg The configuration settings for the workspace.
Privileges.xml The user and roles for this workspace.
Workspace.mdb the Access database that store the object data (when using
Access)
Workspace.udl the RDB connection configuration file. Never copy this to
another workspace directory.
11 Explorer
209
Configuration Management
Configuration Files
Configuration settings are used to control a number of aspects of Workspace
behavior, for example:
What Class Store is to be loaded and therefore what classes and class
views are available.
210
11 Explorer
Configuration Parameters
Configuration parameters are added with software updates. The correct and
up-to-date list of parameters is available from the Administration Tool on-line
help.
Select the folder that you want to share. For the standard installation, this
is:
C:\AspenZyqadServer\Basic Engineering16.1\
WorkspaceLibraries
From the File menu, click Properties and go to the Sharing tab.
You can also do this from the right-click menu.
Type in a share name and set the User Limit and Permissions.
Tip: All users of the client machines must have at least read access to the
share and to the symbol library. Aspen Basic Engineering PFD accesses the
share using the permissions of the users' current login account on the client
machine, not the login account on the Aspen Basic Engineering server, so you
must account for this when defining permissions for the share.
11 Explorer
211
Substitute the 'long' (fully qualified domain) name of the server machine
in the symbol library path. For example,
\\ServerMachine.subnet.domain.com\Library\Symbols
will use the DNS lookup.
Alternatively:
Substitute the IP address of the server machine in the symbol path (for
example, \\00.00.00.00\Library\Symbols. This may be necessary if the
DNS server has no translation for the long name.
-or-
Domain Security:
There may be issues relating to security policy on the domains, the
permissions granted to the client login account, and the nature of the
permissions applied to the share.
The simplest way to investigate problems with security is to use Windows
Explorer from the client account that is experiencing the difficulty. When
investigating, you will also want to know what domain/account the client is
using (press CTRL-ALT-DEL to display the security dialog).
From Windows Explorer, use the Map Network Drive command to map to the
share name on the UNC path. This should give error dialogs that describe the
security issue. Note that, when using Map Network drive, do not specify an
account in the Connect As field; leave this blank in order to use the current
login account, as this is what our software will use.
A brief summary of the security requirements between the domains would be:
212
11 Explorer
[PostfixText]
and higher
and lower
This file can be edited in a plain text editor. Note also that new entries or
flexibility are added to descriptive text during software updates. Check the
Administration Tool on-line help for more information and check the delivered
DescriptiveText.txt. A software update will not update this file if you have
modified it.
11 Explorer
213
Broker Configuration
The configuration of the Broker and Broker Service Account are liable to
change subsequent to changes delivered by Microsoft Operating System
Service Packs. For example significant changes have been made to
accommodate XP Service Pack 2 and Windows Server 2003 Service Pack 1
due to shifts in DCOM security.
For this reason, up-to-date information is maintained in the Administration
Tool on-line help and is liable to change during software updates. Please
consult the detailed help available.
The Oracle User Name given must have sufficient privileges to be able to
create Tablespaces and Users in Oracle and to query for existing Tablespaces
and Users.
In addition the oracle parameter db_create_file_dest (based on Oracle 9i)
must have also been set. (We recommend this parameter is set to a nondefault value to prevent the setting being lost when Oracle is restarted.)
214
11 Explorer
In the tree control on the left hand side navigate down to the chosen
Oracle instance.
Right-click on this node to get the context menu and select View | Edit
Details
Scroll down the table to the db_create_file_dest row (this is in the File
Configuration category).
In the Value column enter the directory location where oracle data files
should be created by default.
If you are using an SPFile - make sure that you save the
"db_create_file_dest" value in both the Running and the SPFile.
A new User is created in Oracle with the same name as the Tablespace,
the new users default Tablespace is the new Tablespace.
Note: If you get an error message that the db_create_file_dest is not set,
follow the procedure outlined below.
1
Scroll down to the db_create_file_dest value and paste in the value for the
file directory.
10 Click Apply (now it is saved for the next time you start up the Oracle
database).
You can also make this change in SQLPlus - you have to do "create pfile from
spfile". (This places the file into the default "dba" directory.)
11 Explorer
Edit the "init<sid>.ora" file that is generated, then select create spfile
from pfile.
215
Select your database name under the Databases .node. Right click and
select View/Edit details.
where the OracleServiceName is the Oarcle service name for the database.
This can be viewed/set in the Oracle Net Manager application (under the
Service Naming node) on the Aspen Basic Engineering server machine.
216
11 Explorer
If the SQL Server instance has native Windows authentication enabled then
the last four parameters can be omitted provided the user account of the
Broker service has been given access to the SQL Server instance.
Launch the Oracle 9i Enterprise Manager and log on the Oracle Database
to be used.
11 Explorer
In the Create Tablespace dialog enter ZTest for the name and make
sure that in the Type section that the Permanent option is checked.
Click Create.
Right mouse click on the Tablespaces node and select Create in the
Create Tablespace dialog. Enter ZTest for the name and in the Type
section ensure the Temporary option is checked (do not check Set
as Default Temporary Tablespace).
Click Create.
217
On the Roles tab, ensure both the Connect and Resource options are
added to the granted roles, and (recommended) on the System
Privileges tab specify the Unlimited Tablespace option is added to
the granted roles.
Click Create.
Click Next.
Fill in the general information and select Oracle as the database type.
Click Next.
Enter the name of the Oracle database to be used for the Oracle
Server. Enter the name of the Oracle User created at step 4 (i.e.,
ZTest) for the Oracle Username and enter the password for the Oracle
User in the Password field.
Click Next.
Click Finish.
218
db_ddladmin
db_datareader
db_datawriter
11 Explorer
11 Explorer
In the tree view open the SQL Server instance to be used and go to
the Security | Logins node.
Click OK.
In the tree view open the SQL Server instance to be used and go to
the Databases node.
Click OK.
Click Next.
Fill in the general information and select SQL Server as the database
type.
Click Next.
Enter the name of the SQL Server instance for SQL Server hostname,
and the name of the Database created (e.g., ZTest) for Database
Name. The Username and Password fields may be left blank as
Window authentication is being used.
Click Next.
Click Finish.
219
Right click the Aspen Basic Engineering Workspaces node to display the
context menu.
A list of the current peer servers is displayed, allowing you to add and
remove computers.
A project can be further broken-down into sub-projects, and those subprojects can also be broken-down into sub-projects. Projects can be
considered to exist within a workspace in a Project Tree and there is no limit
to the number of levels for the tree. Within a workspace there is 1 Root
project at the top of the tree, typically the main design, and this exists by
220
11 Explorer
default. Every project, except the Root project, will have a project above it in
the tree i.e. its Master project.
For workspaces to register to a Smartplant plant only one level of projects
below the root project is allowed.
Note: There may be multiple projects executing at the same time and each is
independent of the other. All projects share the same configuration settings,
but may have different users, roles and privilege settings.
Managing Projects
Projects within Aspen Basic Engineering are managed from the AZ Explorer
application.
Before you can work on a Project, you must log on to it. You can log on to
different Projects in different applications but an application can only be
logged on to one project at one time. The project you are logged on to is
defined as the Active Project for that session.
11 Explorer
Create Project: A user must have this privilege in the Active Project to
create a new sub-Project.
Update Project: A user must have this privilege in the Active Project to be
able to update the Project from its Master.
Commit Project: A user must have this privilege in the Active Project and
in the Master to be able to Commit the Active Project changes to the
Master. Having Commit Project privilege implicitly includes the Update
Project privilege.
Delete Project: A user must have this privilege for a Project to delete the
project from its master.
221
Logging On To a Project
Logging On To a Project for the First Time
222
In any Aspen Basic Engineering end user application select File | Open
Workspace to open the Open Workspace dialog.
Select the Workspace/Project from the list of preferred items in the Open
Workspace dialog and click Open to log on to the selected
Workspace/Project and close the Open Workspace dialog.
11 Explorer
Launch any of the Aspen Basic Engineering end user applications and
select File | Open Workspace to open the Open Workspace dialog.
To access the dialog, launch Basic Engineering Explorer and select Edit |
Project Management. The options on this dialog allow you to create,
update, commit, and delete sub-projects of the currently selected project.
11 Explorer
223
224
To copy Users (create a new project and copy all users from the parent
project as default users for the new project), check the Copy Users box.
To copy Roles (create a new project and copy all roles from the parent
project as default roles for the new project), check the Copy Roles box.
Alternatively, leave these boxes unchecked if you do not wish to copy
Users or Roles for the project, in which case the current user is added to
the project and to the role owner.
Click Create to create the new sub-project using the specifications set in
the New Project details dialog. A confirmation message is displayed if the
creation is successful:
11 Explorer
Click Create.
The system determines from Smartplant which projects are available for
creation and presents a pull-down list of the projects.
11 Explorer
225
226
11 Explorer
Updating a Project
In a Project, to be able to see changes that have occurred in its Master the
Project must be updated. A link on the Project Management dialog indicates
whether or not the projects master has changed and therefore an update is
possible.
To update a project:
1
11 Explorer
227
Committing a Project
Before the changes in a Project can actually be committed to its Master any
conflicts must be resolved. This is done by performing an update, see above.
If the update has not been carried out the commit will be prevented.
This procedure allows you to commit a sub-project to the database. (A user
must have this privilege in the Active Project and in the Master to be able to
Commit the Active Project changes to the Master. Having Commit Project
privilege implicitly includes the Update Project privilege.
1
Click Commit. The system compares the project to its parent to confirm
the project is up to date with respect to its parent. If so, a message is
displayed advising that the sub-project was committed successfully.
If the project is not up to date with respect to its parent, then the Commit
button will be disabled. If the committal is accepted, the project is
committed to its parent and the project is made read-only.
Click OK to close the message and return to the Manage Projects dialog.
Deleting a Project
When a project is finished or cancelled, you may want to delete it.
Note: To delete a Smartplant project, the Smartplant project status must be
either Finished or Cancelled, otherwise the Delete button will be disabled.
This procedure allows you to select an existing sub-project and delete it from
the database.
228
11 Explorer
Cases
Case Deleted in the Master but still Exists in the
Project
A case existing in the project but not in the Master does not necessarily mean
that the case was created in the project. The original case may have been
deleted from the Master project.
If the Project has modified values in the now deleted case there are two
possible resolutions:
Delete the case and lose any changes made to attributes in that case.
If the project has no modified values in that case, the case should be deleted.
Decide both cases are the same. If either case is global the merged case
will also be global.
By choosing to unify the two cases, all attributes in the Project that exist in
the case will have to be re-assigned to the Masters case.
The case name in the master cannot be modified within the conflict resolution
procedure. The user could login to the Master and rename to remove the
conflict. In such a case the conflict would not appear on a subsequent project
update.
11 Explorer
229
Delete the case and discard all attribute values in the Master for the
specified case.
Keep the new name in the Project (in which case proceed as below).
If the case has been renamed in the Project, and it now clashes with a
different case in the Master (new or renamed), the resulting options are the
same as those in the previous section Case Created in the Project but Does
Not Exist in the Master.
Allowing merging of cases (deciding the Project and Master case are the
same) in this situation would mean checking the entire database for attributes
defined in the project case (as this case was not newly created in the Project
it may have much wider scope than the current Project).
Primary Objects
An object in the project is the same object as that in the Master if they both
have the same ObjectID. The object may also be the same if it has the same
name as an existing object.
230
11 Explorer
Re-instate the object (in which case conflict resolution occurs as detailed
below).
Delete the object and lose any changes made to its attributes.
Even if the project does not have any modified values on that object, you
should still decide whether to re-instate or delete the object as other changes
made to the project may have been predicated on the object existing.
11 Explorer
Delete the object and discard all attribute values in the Master for the
specified object.
231
For those object types with important names. If the object has been renamed
in both the Project and in the Master the user can choose to either:
Keep the new name from the Project (in which case proceed as below).
If the object has been renamed in the Project, and it now clashes with a
different object in the Master (either new or renamed), the user can choose
from the same options presented in the previous section Object Created in
the Project but Does not Exist in the Master.
Attribute Items
Either the value, or the status of the value (Lock/Hold/Secure) may have
been changed in either or both the Project or the Master.
Immediate Attributes - Immediate attributes are the simple types (i.e.
String/Real/Bool/Date/Enum). A conflict occurs when both the Project and
Master value (or status) have been changed since the last update.
Scalar/Vector - To resolve the conflict the user can instruct the system to
overwrite one of the values with the other, either:
232
11 Explorer
Object Attributes
An object attribute is an attribute that contains another object or objects. A
conflict occurs when both the Project and Master value (or status) have been
changed since the last update.
Scalar/Vector - A conflict occurs when there are more/less or different
object(s) in the attribute.
This can be resolved by:
Selecting which attribute routes are to be kept from the project and which
are to be kept from the master.
The selections could result in either objects in the project having some/all of
its data overwritten with data from the Master or new objects being created
for the attribute in the project.
Collections - A collection is a set of objects which are added to/removed from
rather than simply overwritten (as in the case of a vector where the position
of the objects is important). There is no conflict between the Project and the
Master attribute when merging the differences. There may, however, be
conflicts between the contained objects. Starting with the current project
collection, add the objects that have been added in the Master and remove
the objects that have been removed in the Master. Note that the order of the
objects in the collection may change. Each object in the project collection
should be compared with the same object (same OID) in the Master to
resolve any additional conflicts.
Object Associations
An object association is one that references another object or objects. A
conflict occurs when both the Project and Master value (or status) have been
changed since the last update. Resolution of a conflict between an association
in the Project and the Master does not require conflicts between the
referenced objects to be checked.
Scalar/Vector - A conflict occurs when there are more/less or different
object(s) referenced by the attribute.
This can be resolved by:
Keep the value from the Project (no comparison of sub-objects required).
Keep the value from the Master (no comparison of sub-objects required).
Collections - There is no conflict between the Project and the Master attribute
when merging the differences. Starting with the current project collection,
add the objects that have been added in the Master and remove the objects
that have been removed in the Master. Note that the order of the objects in
the collection may change.
11 Explorer
233
Conflict Interdependency
There are conflicts whose resolutions are inter-dependent. For example, if in
the Master a case is deleted that has changes in the Project you cannot
choose to both delete the case and keep the changes in the Project. Similarly
the resolution of one conflict may introduce additional conflicts that need to
be resolved. For example choosing to merge a case in the Project with a case
in the Master may introduce new attribute value conflicts.
Some possible inter-dependencies are described below:
Cannot accept only part of a graphical change i.e. move an object but not
move connected streams.
234
Select Edit | Project Management and the Edit Users button, the
Users dialog is displayed:
11 Explorer
Select Add, the New User dialog is displayed which allows selection of
users and groups:
Select a user name or Group name, the new user/group is added to the
projects member list.
11 Explorer
Select Edit | Project Management and select the Edit Users button,
the Users dialog is displayed.
Select a user name from the list displayed and click Edit. The Properties
for User [name] dialog is displayed:
235
Select Edit | Project Management and select the Edit Users button,
the Users dialog is displayed.
Select the name of the user you want to remove from the list of users
displayed.
Click Remove. The user is removed from the projects member list.
236
Select Edit | Project Management and select the Edit Roles button, the
Roles dialog is displayed:
11 Explorer
Select the role name you want to modify privileges for and click Edit. The
Properties for Role [role name] dialog is displayed.
Click OK when you have set the new privileges to return to the
Properties dialog.
11 Explorer
237
Select a datasheet field that relates to a part and select a claim command
(either Exclusive or Shared), the system presents the primary item and
the part(s), if any, that could be claimed to edit the selected field.
The part(s) presented represent real-world entities and not the abstract
sub-object classes from the data model.
238
Confirm the scope change, the selected item(s) and all constituent parts
are removed from the project scope and any project data for the item(s)
are deleted.
11 Explorer
11 Explorer
239
240
11 Explorer
12 Smartplant
What is published
Retrieving information
Browsing Smartplant
12 Smartplant
241
242
12 Smartplant
13 Administration
User Management.
Role Management.
Connection Monitoring.
Auditing.
The right-hand pane displays details for the node that is currently selected.
The Action menu lists the commands that can be applied for the node that is
currently selected.
The Adminstration tool has detailed help for the creation of workspaces,
manipulating user access and workspace configuration. In addition the on-line
help covers:
The overall architecture and role of the Aspen Basic Engineering Broker
13 Administration
243
244
13 Administration
14 Bridge
The Bridge transfers the results of the calculation back to the Aspen Basic
Engineering workspace.
End-users can interact with the transfer process, data can be viewed as it
is transferred and bridge objects can be configured to link data objects in
applications.
New bridges can be defined in the design mode of the application. Using this
mode, you can define links between Aspen Basic Engineering Class views and
the desktop tool. Bridges can also be saved and reused.
14 Bridge
Click File | New Bridge (or click the New Bridge toolbar icon) to display
the AZ Bridge window.
245
When you first open a bridge, the AZ Bridge window appears in Bridge View.
From this view, you can add application files to the bridge. This is explained in
Creating a Bridge.
After adding an application file to a bridge, you can add a linkset by selecting
an application file and clicking Linkset | New. The AZ Bridge window then
appears in Link View, showing the links contained in a specific linkset.
246
14 Bridge
File.
Edit.
View.
Linkset.
Transfer.
Grid.
File Menu
The File menu contains the following commands:
14 Bridge
File Menu
Command
Action
New Bridge
Open Bridge
Close Bridge
Refresh Bridge
Updates the data in the Bridge with the current workspace values
Save Bridge
Save Bridge
As
Bridge
Properties
Open
Workspace
Close
Workspace
Displays the Bridge Close dialog allowing you to save the open
bridge before closing the current workspace
Synchronize
Names
Rename (or make new copies of) the location names in application
files to match the attribute names (Linkset Bridge View)
Copy Object/
Case Bindings
Auto-create
Object
Bindings
247
File Menu
Command
Action
Export
Package
Writes a package file containing the data for the objects defined in
the current bridge
Recent File
Exit
Edit Menu
The Edit menu contains the following commands (different options are
displayed according to the window currently open):
Edit Menu Command
Action
Cut
Copy
Paste Text
View Menu
The View menu contains the following commands used to show/hide the
associated item:
248
View Menu
Command
Action
Design Mode
Turn On/Off
Toolbar
Status Bar
Bridge
Status Report
Error Report
Change Report
14 Bridge
Link Menu
The Link menu (displayed in Link View only) contains the following menu
options:
Link Menu
Command
Action
Properties
New
Enable
Disable
Cut
Cuts the selected link(s) from the link grid and copies it
onto the clipboard
Copy
Paste
Delete
Attribute
Write To Location
Read To Location
Case
Units
Sets the units for selected links. All the selected links
must be in the same unit group.
Formats
Linkset Menu
The Linkset menu contains the following commands:
Linkset Menu
Command
Action
14 Bridge
Properties
Class view
Object
Create Object
Multi-Create
Case
249
Linkset Menu
Command
Action
New
Adds a new linkset to the linkset grid with default bridge case
and default bridge unit group
Enable
Disable
Delete
Previous
First
Last
Copy
Synchronize Names
Application Menu
The Application menu (not displayed when the application is in Link View
mode) contains the following commands:
250
Application Menu
Command
Action
Launch
Properties
Location List
Enable
Disable
Disables the selected file from being used for data transfer
during a bridge run
Working Directory
Add
Paste
Save
Save As
Delete
14 Bridge
Transfer Menu
The Transfer menu contains the following commands:
Transfer Menu
Command
Action
Aspen Basic
Engineering to
Application
Application to
Aspen Basic
Engineering
Autorun
Autorun with
Pause
Advanced
Transfers
(with sub-menus)
Grid Menu
The Grid menu contains the following commands:
14 Bridge
Action
Find
Sort Ascending
Sort Descending
251
Action
Design Default
<Workspace Default>
Unit Standard
<Workspace Default>
Imperial
Metric
SI
US
252
Column Title
Action
Enabled
Name
Class View
Object
Case
Unit Standard
Details the current unit standard used, selectable from a dropdown list, or a default is applied
Description
Errors
14 Bridge
Action
Name
Case
Design Default
<Bridge Default>
<Workspace Default>
Unit Sets
<Bridge Default>
<Workspace Default>
Imperial; Metric; SI; US
Class View
Object
Description
Linkset description
14 Bridge
Column Title
Action
Enabled
Write To
Read From
Attribute
Case
Aspen Basic
Engineering
Value
App. Value
Units
Details the current unit standard used, selectable from a dropdown list, or a default is applied
Errors
253
254
Toolbar
Button
Name
Description
New Bridge
Open Bridge
Save Bridge
Bridge Properties
Design Mode
Cut
Copy
Paste
New Linkset
10
Delete Linksets
11
Properties
12
Class View
13
Object View
14
Select Case
15
Enable Linksets
16
Disable Linksets
17
Launch Application
18
19
Application Properties
20
Enable Selected
Applications
21
Disable Selected
Applications
22
23
Transfer Application
to Aspen Basic
Engineering
24
Autorun
Start Autorun
25
Find
26
View Order (A Z)
27
View Order (Z A)
28
Help
14 Bridge
The Link View toolbar contains the following icons (all have an equivalent
option within the menus):
Toolbar
Button
Name
Description
Save Bridge
Bridge Properties
Design Mode
Cut
Copies
Paste
New Linkset
Delete Linksets
Properties
10
Write To Location
11
12
Attribute
13
Set Case
14 Bridge
14
Enable Linksets
15
Disable Linksets
16
Units
17
Write format
18
Bridge View
19
Previous Linkset
20
Next Linkset
21
Transfer Aspen
Basic Engineering
to Application
22
Transfer Application
to Aspen Basic
Engineering
23
Autorun
Start Autorun
24
Find
25
View Order (A Z)
26
View Order (Z A)
27
About
255
Creating a Bridge
This procedure creates a new bridge and adds an application file in the Bridge
application:
1
Click File | New Bridge (or click the New Bridge toolbar icon) to display
the AZ Bridge window.
Click Application | Add (or click the Paperclip toolbar icon) to display the
Open dialog and select or navigate to an application file (MS Word .doc, or
MS Excel .xls format). Alternative: Drag and drop the application file in
from the File Manager/Windows Explorer.
Click the OK button on the Open dialog to create the new bridge file in the
Bridge application. (Alternatively, an application file can be dragged and
dropped onto the AZ Bridge window.)
The Bridge uses the default Case and Unit Standard settings from the
workspace. These can be overridden via drop-down fields displayed on the
AZ Bridge window.
Click File | Save Bridge to open the Bridge Save As dialog and enter a
name for the bridge. This creates the Bridge object in the workspace and
indicates that the Bridge has been saved. The system immediately
acquires a user lock on the Bridge so that no one else can use it until the
Bridge is closed.
Click File | Close Bridge to close the Bridge. The user lock is now
disabled.
256
Click File | New Bridge (or click the New Bridge toolbar icon) to display
the AZ Bridge window.
Click Application | Add (or click the Paperclip toolbar icon) to display the
Open dialog and select or navigate to an application file (MS Word .doc, or
MS Excel .xls format). Alternative: Drag and drop the application files in
from the File Manager/Windows Explorer The files can even be a mixture
of Excel and Word.
14 Bridge
Click the OK button on the Open dialog to create the new bridge file in the
Bridge application. (Alternatively, an application file can be dragged and
dropped onto the AZ Bridge window.)
Repeat steps 4 and 5 for each additional application file (MS Word .doc, or
MS Excel .xls format) you wish to add. You must select the file format
(.xls or .doc) in the Open dialogs Files of Type field if you wish to add
both formats.
Click File | Save Bridge to open the Bridge Save As dialog and enter a
name for the bridge. This creates the Bridge object in the workspace and
indicates that the bridge has been saved. The system immediately
acquires a user lock on the bridge so that no one else can use it until the
bridge is closed.
Click File | Close Bridge to close the bridge. The user lock is now
disabled.
This prompt implies that objects in the respective links need not be the same.
Also the links need not be in the same linkset.
From this prompt, clicking Yes or No either updates or discards the related
link's units. The system then continues to look for other links with the same
attribute and class view.
If you select Cancel or close the dialog, the related link's units are not
changed, and further searching is abandoned.
Selecting Yes to all updates the units on this link and any other related links
in the bridge without prompting.
14 Bridge
257
Checking Only change links in linkset.. causes only links in the same
linkset to have their units updated. So if the currently displayed related link is
not in the same linkset as the original change, no change is made to its units,
even if you click Yes or Yes to all.
For example in the above dialog, if you check Only change links in linkset
Linkset: 1-LS1 and click Yes or Yes to all, no change is made to the units
of Linkset: 2 - LS2 Link: 1.
Select the application icon representing the Template File and, from the
Application menu or Context menu, select the Convert to Linked File
command.
Object/Case Bindings
Copying and Pasting Object/Case Bindings
When working on a bridge in the workspace, it is possible to copy and paste
existing Object/Case Bindings (to prevent having to recreate them
individually).
This is achieved by importing the package containing the newly defined bridge
into your workspace (the new bridge does not have any object bindings/case
bindings), then copying object and case bindings from the source (existing)
bridge to the target (newly imported) bridge.
To Copy/Paste Bindings
258
From the list, select the bridge you want to copy object bindings from.
Check the newly created bindings and then either Save or Discard the
changes.
14 Bridge
System Conditions:
If there are multiple linksets in the source bridge with the same name and
at least one linkset in the target bridge with a matching name and
classviewthe copy operation ensures it creates additional linksets in the
target bridge, so that the number of identically named linksets in the two
bridges match and the bindings are copied.
If there are multiple linksets in the source bridge with the same name but
with differing class view settingsthe system attempts to copy the first
one it finds while scanning the source bridge and the ones compatible to it
(those with same name and class view), and ignores the others (those
with a different classview from the first one found with the same name).
(A message concerning any linkset in the source bridge that is missed
from the copying process is added to the error report.)
If while attempting to copy object bindings the system finds the target
linkset already has the object binding setan overwrite/do not
overwrite binding prompt is displayed.
The system will not copy links contained in the linkset in the source
bridge. If new linksets are created in the target bridge, links in the newly
created linkset are copied from the one matching linkset found in the
target bridge.
All objects in the workspace implementing the associated classview are found
for each defined linkset in the bridge, and one linkset per object is created (if
needed) and bound to the respective object.
14 Bridge
259
Open the bridge in the AZ Bridge application, then right-click and select
Auto-Create object bindings from the menu option. The workspace is
scanned to find objects that implement the class view set at the linkset for
each linkset in the bridge. One linkset per object found is created and
bound to the object, copying the links existing in the linkset into each
newly created linkset patterned after the functionality that currently exists
in the Bridge application for the Multi-Create Linkset menu option.
Check the newly created bindings and then either Save or Discard the
changes.
System Conditions:
If for a particular linkset no objects are found that implement the class
viewthat linkset is skipped.
If more than one linkset with the same class view is found in the
bridgethe first one is used in the Multi-Create process and the
subsequent ones are skipped. A message for each skipped linkset is added
to the error report.
Linksets are created for all objects that implement the classview - you are
not prompted to specify the objects.
You are prompted once to specify format information for the generation of
location names. The same choices are applied to all linksets.
260
14 Bridge
Click File | Open Bridge (or click the Open Bridge toolbar icon) to display
the Open Bridge dialog.
Select the bridge to open from the list displayed and click OK to open the
AZ Bridge window.
Edit the bridge as required and when completed, click File | Save Bridge
to save the changes and update the workspace.
Click File | Close Bridge to close the bridge. (The user lock is now
disabled.)
14 Bridge
261
Click File | Open Bridge (or click the Open Bridge toolbar icon) to display
the Open Bridge dialog.
Select an application file in the bridge and click Linkset | New. A new
blank row is displayed for the new Linkset.
Select Linkset | Class View to display the Class View Selector dialog and
navigate the class hierarchy and select the class.
Select the Case Name. A list of the Cases in the workspace is available for
selection via a drop-down list. If a Case is not specified, the linkset uses
the bridge or workspace default (represented as <default>). The Case
Name for the default is also displayed.
Enter the Unit Standard name. A list of the current Unit Standards
specified in the workspace is available for selection via a drop-down list. If
the Unit Standard is not specified, the linkset uses the bridge or
workspace default Case (represented as <default>). The actual Unit
Standard name for the default is also displayed.
Enter the object instance name to use with the linkset. An Object Select
Dialog displays all the objects in the workspace of the Class specified. If
the Class has not yet been specified, the browser displays all objects.
When an object is selected, if the Class has not yet been set, it is set to
the selected objects Class.
Enter a name for the linkset. The default will be the objects name.
262
14 Bridge
Editing Linksets
The actions described in these steps can be made in the AZ Bridge windows
Link View or in the Linkset Properties mode. Both views allow data to be
entered via menu options, editable columns/rows, or dialogs, check boxes
and drop-down menus.
1
Click File | Open Bridge (or click the Open Bridge toolbar icon) to display
the Open Bridge dialog, select a bridge and click the OK button.
When completed, click File | Save Bridge to save the changes and
update the workspace.
Iterative Linksets
An Iterative Linkset is a variation of the standard linkset. The Iterative Linkset
holds a list of all objects matching the Class specified. List items can be
selectively enabled or disabled.
The purpose of the Iterative Linkset is to quickly apply a set of calculations to
a set of objects. An example would be to do a pump-head calculation for all
centrifugal pumps in an Excel worksheet. There would be a single set of
locations which correspond to the pump variables.
There are three alternatives to creating an Iterative Linkset:
Create a bridge with linksets for all of the pumps. Disable all pump
linksets except for the first. Execute the bridge. Repeat this procedure for
each pump.
Create a separate sheet for the maximum number of pumps in the single
spreadsheet, and use an indexed numbering system for the locations.
(This alternative causes the spreadsheet to be very big, performance to be
poor, and consistent modifications will be difficult to manage across all of
the sheets.)
Note: Only one Iterative Linkset per Excel and Word Bridge can be enabled.
14 Bridge
263
Click File | Open Bridge (or click the Open Bridge toolbar icon) to display
the Open Bridge dialog, select a Bridge and click the OK button.
Click Linkset | Properties (or click the Linkset Properties toolbar icon) to
display the Linkset Properties dialog.
Check the Iterative box and select Link | New to display a blank row for
the new Iterative Linkset.
Enter a route for the Class. If necessary, use the Class View Selector
dialog to navigate the class hierarchy and select the class.
Enter the Case Name from the drop-down list of the Cases in the
workspace. If the Case is not specified, the Iterative Linkset uses the
bridge or workspace default (represented as <default> in the Case field).
Enter the Unit Standard name from the drop-down list of current Unit
Standards specified in the workspace and available for selection. If the
Unit Standard is not specified, the Iterative Linkset uses the bridge or
workspace default Case (represented as <default>).
Enter a name for the Iterative Linkset. The default is the objects name.
10 Using the information from the Links contained in the Iterative Linkset,
the system displays the derived export and import status. Iterative
Linksets can be persistently enabled or disabled.
Note:
Cut/Copy/Paste Operation.
Iterative Linksets can be edited using standard cut/copy/paste operations to
duplicate existing Iterative Linksets from this bridge and from other bridges.
Select an Iterative Linkset row and uncheck the Iterative box to convert
it to a linkset. The title in the Object field **Iterative** is removed. If
there is a list of objects in the Iterative Linkset, the first object is used in
the linkset.
264
14 Bridge
Export Package
Packages exported from the Bridge contain the data of the linked objects
saved externally in an XML format. They can then be used to transfer data
between workspaces. They are imported into other workspaces by using the
Import Package option from the Workspace Explorer. This provides a
mechanism for organizations, sites or projects to collaborate with each other.
To create a package:
Select the Export Package menu option when you are in the Bridge View.
This displays the Export Package dialog from where you can specify the
name of the file to be exported.
The following is exported:
o
Data for those objects that are referenced by an enabled linkset. Only
data for those attributes that appear in links are exported. This is
different to exporting a package from the explorer where all the data
for an object is exported.
All enabled application files. These are exported to the same location
as that specified for the package file.This option can be switched off by
clearing the Include Application File check box.
Exporting a Package
Select the Folder | Export Package menu option to display the Export
Package dialog.
This allows you to specify the package file name and to enter descriptive
data about the contents of the package file. The selected object can then
be exported as a Package. The Include Application File check box should
be checked if you wish to also export the enabled application files with
your package. This option is selected by default.
Packages Folder
Package files may be placed in the folder defined by the PACKAGES
parameter in the workspaces config. file. To use this file click the Library
button. Alternatively you can specify the folder for your packages by pressing
the Browse button. You can see which folder is being used for the export or
import of the package files in the Current Folder box. Application files are
not exported if you have selected to export the package to the PACKAGES
folder.
14 Bridge
265
266
14 Bridge
15 Drawing Application
Automation Objects
267
Object Hierarchy
Application
Documents
Document
Menus
Menu
Toolbars
Toolbar
Toolbar Controls
Selectset
Toolbar Control
DynamicDisplay2D
HighlightList
Addins
Addins
268
Object Description
Application
Application object
AddIns
AddIn
Documents
Document
DynamicsDisplay2
d
HighlightList
Menus
Menu
Menu object
SelectSet
ToolBars
ToolBar
ToolbarControls
ToolbarControls object
ToolbarControl
ToolbarControl object
Application Object
The instance of the (Drawing Editor) drawing application.
269
DynamicsDisplay2d
The platform provides non-persistent or transient objects that can be used
when implementing dynamics in commands. The three types of transient
objects are:
Text.
Bitmaps.
For example, you can display the current length of a line, dynamically, as text
on the cursor as you are placing the line. You can also display a bitmap on the
cursor.
The DynamicsDisplay2d object is in the Object Library. You can use it to
display objects in dynamics. Use the following table to determine the correct
method to use for each object.
To display this object
Geometry
DynamicsDisplay2d.AddGeometry
Text
DynamicsDisplay2d.AddText
Bitmaps
DynamicsDisplay2d.AddImage
HighlightList
A collection of references to objects to be displayed in the highlight color.
270
Note: To create sub-menus you need to make sure that you add a menu item
of the type igcmdPopup. For example:
Set objMenu = objMenus.Append("MyMenu", igcmdPopup.
SelectSet
A collection of references to objects considered as selected by.
271
Index
A
Adding a Query 194
Administration 249
Aspen Zyqad
opening a workspace 275
overview 274
Aspen Zyqad Bridge 251
Aspen Zyqad Query Language 195
Assigning objects 75
Attributes 102, 105
AutoCAD symbols 102, 105
Autolinking 70, 71
available 3
B
Bitmap fields
about 71
inserting 71, 72, 73
Broker Configuration 220
Browser 63, 74
C
Cases
multiple 68
CLASS layer 103, 106
Commands
dimlink 70, 71
overspill 68
setobject 75
Components of workspaces 215
Configuration Management 216
Conflict Resolution 235
Controls
verifying 74
Converting AutoCAD symbols
algorithm 104, 106
exclusions 102, 105
ii
Index
N
Named Parts attribute 103
Network shares 217
O
Object/Case Bindings 264
Objects
assigning 75
setting starting 75
Objects, assigning 75
OLE fields
about 71
Opening
workspaces 275
Overspill command 68
Overspill fields
about 68
P
Packages 191
PART NAMES layer 103
Parts 103
Piping systems
data transfer 55
Piping Systems
about 49
automated version 50
POINTS layer 102, 105
Project Management Dialog 229
Project Management within Aspen Zyqad 226
Q
Query Editor 192
R
Revision fields
about 70
inserting 70
linking 70
unlinking 71
Routes
wildcards 74
S
Schema browser 74
Setobject command 75
Sketch fields
about 71
inserting 71
Index
iii
iv
Index