The Vector Data Base dynamic link library from Tessel Software Line (TSLVDB32.DLL
) maintains all vector drawings presented in HyperDoc.
All vector objects, starting from basic entities up to the whole vector drawing, together with its properties and methods, are implemented in this module.
To give the application programmer wide access to the vector database and its objects through OLE interface, special automation objects have been implemented that can expose appropriate properties and methods of vector data base objects. All names of the automation objects start from the letter “A”, which stands for Automation, of course.
All vector data base objects and other helper objects are embedded in the vector drawing, so you can access them starting from the vector drawing automation object (ADrawing). The vector drawing object can be created as needed. Specific vector drawings contained in documents maintained by the HyperDoc may be accessed via HyperDoc API.
We may distinguish several kinds of objects with properties and methods exposed via OLE API:
general objects, which is the vector drawing itself (ADrawing)
helper objects, like drawing tools (ATools) and object iterators (AIterator)
vector database objects, that are organized in some kind of hierarchy according to the properties and methods they expose - from general ones to basic abstract objects up to more detailed ones in specific real objects. It means, that each object placed on some level on that hierarchy exposes all basic methods derived from its predecessors and adds specific ones that in turn may be inherited by its successors.
All objects exposed through VDB OLE API are referenced below.
- General objects
ADrawing
- OLE-creatable object- Helper objects
ATools
- drawing toolsAIterator
- object iteratorADataIterator
- object data iterator- Vector data base objects
AObject
- abstract object; generic vector data base objectAElement
- abstract object; generic vector entityASegment
- segment entityACircle
- circle entityARectangle
- rectangle entityAPoly
- polyline or polygon entityAText
- text entityAIcon
- icon entityAInsert
- insert (block reference) entityAToolSet
- set of toolsASymbol
- abstract object; generic table itemALayer
- drawing layerAStyle
- text styleAPattern
- hatch patternABlock
- block definition
The ADrawing object is connected to the whole vector drawing. The ADrawing object may have two states, referred to as virgin
and opened
.
You may obtain the ADrawing object through the HyperDoc OLE API interface;
in this case the ADrawing object is connected to a vector drawing maintained by HyperDoc, so it is in the opened state.
In the opened
state, you can use all properties and methods of the ADrawing object except
Create() and Load() or LoadDXF().
You may also create a new ADrawing object.
Immediately after being created, an ADrawing is in virgin state, i.e. there is no vector data contained in the drawing.
The only methods you can use in the virgin
state are Create(), Load() or LoadDXF(); after using any of these method,
the ADrawing object enters its opened
state.
After opening the drawing, some access schema may be imposed in it, which allows determining per-layer access rights together with user priority level and access schema properties.
Each user working with the drawing may declare his name and connect it locally with the drawing. A priority level may be assigned to the user, so that he is treated either as a system user or a normal user.
Each drawing layer may have a name prefixed with user name (separated by dot). Drawing layers with no prefix are regarded as system layers and are owned by system users, independently of their names. Drawing layers with a specific user name prefix are regarded as normal layers and are owned by that user.
Each user (normal or system one) has full access rights to layers owned by him. Access rights between users with different priorities and / or different names are determined by access schema properties.
- Dirty
Returns or sets a value specifying whether the drawing has been changed since recent load or save operation.
Syntax:
Drawing.Dirty[= Changed]
Drawing
An object expression that evaluates to a VDB.ADrawing object
Changed
A Boolean expression specifying whether Drawing has been changed since recent load or save operation.
Remarks
The drawing object must be in opened state.
- EditionFlags
Returns or sets the flags specifying details of various contexts of vector edition.
Syntax:
Drawing.EditionFlags [= Flags]
Drawing
An object expression that evaluates to a VDB.ADrawing object
Flags
An integer or constant specifying the edition flags defining the edition characteristics, as described in Settings.
Settings
The settings for Flags may be set to 0 (default) or combined by bit-wise OR operator from the following values:
vdbEfPasteOnCurrentLayer
- 0x0001 - place pasted and imported entities on current layervdbEfEnableToolSets
- 0x0002 - enable direct editing of tool sets from Tool Sets page on Drawing Properties... dialog
Remarks
The drawing object must be in opened state.
- EnableDynaTools
Returns or sets the flag enabling dynamic presentation.
Syntax:
Drawing.EnableDynaTools [= Enabled]
Drawing
An object expression that evaluates to a VDB.ADrawing object
Enabled
A Boolean expression specifying whether dynamic presentation is to be enabled in the Drawing.
Remarks
The drawing object must be in opened state.
With dynamic presentation enabled, entities linked to objects selected in data-base queries defined by user are displayed using special presentation tools that may be associated independently with each query. With dynamic presentation disabled, all entities are diplayed using their permanent drawing tools.
- MultiAccess
Returns or sets the multi-access mode imposed in the drawing.
Syntax:
Drawing.MultiAccess [= Active]
Drawing
An object expression that evaluates to a VDB.ADrawing object
Active
A Boolean expression specifying whether multi-access mode is imposed in the Drawing.
Remarks
The drawing object must be in opened state.
With multi-access mode active, subsequent changes made by different users to the same drawing opened from various machines in multi-user environment are combined together during save operations.
- SystemToUser
Returns or sets the access level declared for system user relative to drawing layers owned by other users.
Syntax:
Drawing.SystemToUser [= Level]
Drawing
An object expression that evaluates to a VDB.ADrawing object
Level
A numeric expression specifying the access level declared for system user relative to drawing layers owned by other users, as described in Settings.
Settings
The settings for Level are:
0 - no access: layer is not listed at all; its elements are hidden
1 - read access: layer is listed; its properties may be changed; layer name cannot be changed; layer cannot be created or removed; its elements cannot be added, changed or removed
2 - edit access: layer is listed, its properties may be changed; layer name cannot be changed; layer cannot be created or removed; its elements can be added, changed or removed
3 - full access: layer is listed, its properties may be changed; layer name can be changed; layer can be created and removed; its elements can be added, changed or removed
Remarks
The drawing object must be in opened state.
The SystemToUser, UserToSystem and UserToUser properties define the access schema imposed in the drawing.
- Units
Returns or sets the code of units used to calculate and save all measurable drawings items.
Syntax:
Drawing.Units [= Units]
Drawing
An object expression that evaluates to a VDB.ADrawing object
Units
An integer or constant specifying the code of units, as described in Settings.
Settings
The settings for Units are (default units are meters):
UNITS_UNDEFINED
0x0000
units undefined
UNITS_INCH
0x0001
inches
UNITS_FOOT
0x0002
foots
UNITS_YARD
0x0003
yards
UNITS_MILE
0x0004
miles
UNITS_MM
0x0005
millimeters
UNITS_CM
0x0006
centimeters
UNITS_METER
0x0007
meters
UNITS_KM
0x0008
kilometers
- UserLevel
Returns or sets the priority level declared for current user.
Syntax:
Drawing.UserLevel[= Priority]
Drawing
An object expression that evaluates to a VDB.ADrawing object
Priority
A numeric expression specifying the priority level declared for current user in the Drawing, as described in Settings.
Settings
The settings for Priority are:
0 - no user access control
1 - current user is system userAAAA
2 - current user is normal user
Remarks
The drawing object must be in opened state.
Setting the user priority level declares the way of determining per-layer access rights together with user name and access schema properties.
- UserName
Returns or sets the name of the user working with the drawing.
Syntax:
Drawing.UserName [= Name]
Drawing
An object expression that evaluates to a VDB.ADrawing object
Name
A string expression specifying the name of the user working with the Drawing.
Remarks
The drawing object must be in opened state.
Setting the user name allows controlling changes made to the same drawing being edited on various machines in multi-user environment and determining per-layer access rights together with user priority level and access schema properties.
- UserToSystem
Returns or sets the access level declared for normal user relative to drawing layers owned by system user.
Syntax:
Drawing.UserToSystem [= Level]
Drawing
An object expression that evaluates to a VDB.ADrawing object
Level
A numeric expression specifying the access level declared for normal user relative to drawing layers owned by system user, as described in Settings.
Settings
The settings for Level are:
0 - no access: layer is not listed at all; its elements are hidden
1 - read access: layer is listed; its properties may be changed; layer name cannot be changed; layer cannot be created or removed; its elements cannot be added, changed or removed
2 - edit access: layer is listed, its properties may be changed; layer name cannot be changed; layer cannot be created or removed; its elements can be added, changed or removed
3 - full access: layer is listed, its properties may be changed; layer name can be changed; layer can be created and removed; its elements can be added, changed or removed
Remarks
The drawing object must be in opened state.
The SystemToUser, UserToSystem and UserToUser properties define the access schema imposed in the drawing.
- UserToUser
Returns or sets the access level declared for normal user relative to drawing layers owned by other normal users.
Syntax:
Drawing.UserToUser [= Level]
Drawing
An object expression that evaluates to a VDB.ADrawing object
Level
A numeric expression specifying the access level declared for normal user relative to drawing layers owned by system user, as described in Settings.
Settings
The settings for Level are:
0 - no access: layer is not listed at all; its elements are hidden
1 - read access: layer is listed; its properties may be changed; layer name cannot be changed; layer cannot be created or removed; its elements cannot be added, changed or removed
2 - edit access: layer is listed, its properties may be changed; layer name cannot be changed; layer cannot be created or removed; its elements can be added, changed or removed
3 - full access: layer is listed, its properties may be changed; layer name can be changed; layer can be created and removed; its elements can be added, changed or removed
Remarks
The drawing object must be in opened state.
The SystemToUser, UserToSystem and UserToUser properties define the access schema imposed in the drawing.
- AddBlock
Syntax:
Set Block = Drawing.AddBlock
Block
Name of the object variable to become a VDB.ABlock object associated with a block definition list to be created and added to the drawing.
Drawing
An object expression that evaluates to a VDB.ADrawing object
Name
A string expression evaluating to the name of the block to be created and added.
Remarks
The drawing object must be in opened state. If the function fails or block cannot be created, Block is set to Nothing.
The block definition created is empty; you may add, access or remove entities using properties and methods accessible from the returned Block object.
- AddElement
Creates an appropriate vector element and adds it to the vector drawing.
Syntax:
Set Element = Drawing.AddElement(ElemType)
Element
Name of the object variable to become a VDB.AElement - derived object associated with an element to be created and added to the drawing.
Drawing
An object expression that evaluates to a VDB.ADrawing object
ElemType
An integer or constant specifying the type of the element to be created and added, as described in Settings.
Settings
The settings for ElemType are:
VDB_SEGMENT
2
segment element
VDB_RECTANGLE
4
rectangle element
VDB_CIRCLE
5
circle element
VDB_TEXT
6
text element
VDB_POLYLINE
7
polyline element
VDB_POLYGON
8
polygon element
VDB_ICON
9
icon element
VDB_INSERT
11
insert (block reference) element
Remarks
The drawing object must be in opened state. If the function fails or element cannot be created, Element is set to Nothing
- AddLayer
Creates a drawing layer with given name and adds it to the vector drawing.
Syntax:
Set Layer = Drawing.AddLayer(Name)
Layer
Name of the object variable to become a VDB.ALayer object associated with a layer to be created and added to the drawing.
Drawing
An object expression that evaluates to a VDB.ADrawing object
Name
A string expression evaluating to the name of the drawing layer to be created and added.
Remarks
The drawing object must be in opened state. If the function fails or layer cannot be created, Layer is set to Nothing.
The layer created obtains some default values for its parameters; you may change or examine them using properties and methods accessible from the returned Layer object.
- AddPattern
Creates a hatch pattern with given name and adds it to the vector drawing.
Syntax:
Set Pattern = Drawing.AddPatterns
Pattern
Name of the object variable to become a VDB.APattern object associated with a pattern to be created and added to the drawing
Drawing
An object expression that evaluates to a VDB.ADrawing object
Name
A string expression evaluating to the name of the hatch pattern to be created and added
Remarks
The drawing object must be in opened state. If the function fails or pattern cannot be created, Pattern is set to Nothing.
The pattern created obtains some default values for its parameters; you may change or examine them using properties and methods accessible from the returned Pattern object.
- AddStyle
Creates a text style with given name and adds it to the vector drawing.
Syntax:
Set Style = Drawing.AddStyle(Name)
Style
Name of the object variable to become a VDB.AStyle object associated with a style to be created and added to the drawing.
Drawing
An object expression that evaluates to a VDB.ADrawing object
Name
A string expression evaluating to the name of the text style to be created and added.
Remarks
The drawing object must be in opened state. If the function fails or style cannot be created, Style is set to Nothing.
The style created obtains some default values for its parameters; you may change or examine them using properties and methods accessible from the returned Style object.
- AddToolSet
Syntax:
Set ToolSet = Drawing.AddToolSet
ToolSet
Name of the object variable to become a VDB.AToolSet object associated with a tool set to be created and added to the drawing.
Drawing
An object expression that evaluates to a VDB.ADrawing object
Name
A string expression evaluating to the name of the tool set to be created and added.
Remarks
The drawing object must be in opened state. If the function fails or tool set cannot be created, ToolSet is set to Nothing.
The tool set created has no tools; you may add, access or remove individual tools using properties and methods accessible from the returned ToolSet object.
- Create
Creates an empty drawing with default layers, styles and patterns.
Syntax:
Res = Drawing.Create(FileName)
Res
The Create method returns True when succeeded and False when failed.
Drawing
An object expression that evaluates to a VDB.ADrawing object
FileName
A string expression evaluating to path name of the file to be connected logically with the drawing.
Remarks
The drawing object must be in virgin state. After successful completion, the drawing object enters opened state.
- DetachDynaTools
Detaches all dynamic tools attached to any entities in vector data base.
Syntax:
Res = Drawing.DetachDynaTools()
Res
The DetachDynaTools method returns True True if any dynamic tools have been found and False if not.
Drawing
An object expression that evaluates to a VDB.ADrawing object
Remarks
The drawing object must be in opened state.
Dynamic tools may be connected individually to selected entities, generating various presentation schemes with specific tools assigned to each data base query. Use AttachDynaTools method of any VDB.AElement – derived object to connect specific tools to given element. Using DetachDynaTools you may disconnect all dynamic tools in the whole drawing at once and close presentation.
- FindElement
Finds the vector element with given name among elements listed in the vector drawing.
Syntax:
Set Element = Drawing.FindElement(Name, Flags)
Element
Name of the object variable to become a VDB.AElement - derived object associated with an element found in the drawing.
Drawing
An object expression that evaluates to a VDB.ADrawing object
Name
A string expression evaluating to the name of the element to be found.
Flags
An integer or constant specifying the search flags defining the search scope limits, as described in Settings.
Settings
The settings for Flags may be combined by bit-wise
OR
operator from the following values:vdbEnumAll
0x0000
no scope limits
vdbEnumVisible
0x0001
only among visible layers
vdbEnumActive
0x0002
only among active layers
vdbEnumCurrent
0x0004
only from current layer
vdbEnumReadable
0x0010
only from layers that can be read
vdbEnumNotReadable
0x0020
only from layers that cannot be read
vdbEnumEditable
0x0040
only from layers that can be edited
vdbEnumNotEditable
0x0080
only from layers that cannot be edited
vdbEnumFullable
0x0100
only from layers that have full access
vdbEnumNotFullable
0x0200
only from layers that do not have full access
vdbEnumDescend
0x4000
together with sub-elements
vdbEnumBackward
0x8000
in opposite direction
Remarks
The drawing object must be in opened state. If the function fails or element cannot be found, Element is set to Nothing.
- FindElementById
Finds the vector element with given permanent identifier among elements listed in the vector drawing.
Syntax:
Set Element = Drawing.FindElementById(Iden, Flags)
Element
Name of the object variable to become a VDB.AElement - derived object associated with an element found in the drawing
Drawing
An object expression that evaluates to a VDB.ADrawing object
Iden
A numerical expression evaluating to the permanent identifier of the vector element to be found.
Flags
An integer or constant specifying the search flags defining the search scope limits, as described in Settings.
Settings
The settings for Flags may be combined by bit-wise
OR
operator from the following values:vdbEnumAll
0x0000
no scope limits
vdbEnumVisible
0x0001
only among visible layers
vdbEnumActive
0x0002
only among active layers
vdbEnumCurrent
0x0004
only from current layer
vdbEnumReadable
0x0010
only from layers that can be read
vdbEnumNotReadable
0x0020
only from layers that cannot be read
vdbEnumEditable
0x0040
only from layers that can be edited
vdbEnumNotEditable
0x0080
only from layers that cannot be edited
vdbEnumFullable
0x0100
only from layers that have full access
vdbEnumNotFullable
0x0200
only from layers that do not have full access
vdbEnumDescend
0x4000
together with sub-elements
vdbEnumBackward
0x8000
in opposite direction
Remarks
The drawing object must be in opened state. If the function fails or element cannot be found, Element is set to Nothing.
- GetBlock
Finds the block definition with given name among blocks contained in the vector drawing.
Syntax:
Set Block = Drawing.(Name)
Pattern
Name of the object variable to become a VDB.ABlock object associated with a block definition found in the drawing.
Drawing
An object expression that evaluates to a VDB.ADrawing object
Name
A string expression evaluating to the name of the block to be found.
Remarks
The drawing object must be in opened state. If the function fails or block cannot be found, Block is set to Nothing.
- GetBlockIter
Returns an iterator stepping through hatch blocks in the drawing.
Syntax:
Set Iterator = Drawing.GetBlockIter(Flags)
Iterator
Name of the object variable to become a VDB.AIterator object associated with an iterator stepping through block definitions in the drawing
Drawing
An object expression that evaluates to a VDB.ADrawing object
Flags
An integer or constant specifying the iterator flags defining the iterator scope limits, as described in Settings
Settings
The settings for Flags may be combined by bit-wise
OR
operator from the following values:vdbEnumAll
0x0000
no scope limits
vdbEnumBackward
0x8000
in backward direction
Remarks
The drawing object must be in
opened
state. If the function fails, Iterator is set to Nothing.- GetElemIter
Returns an iterator stepping through vector elements in the drawing.
Syntax:
Set Iterator = Drawing.GetElemIter(Flags)
Iterator
Name of the object variable to become a VDB.AIterator object associated with an iterator stepping through vector elements in the drawing.
Drawing
An object expression that evaluates to a VDB.ADrawing object
Flags
An integer or constant specifying the iterator flags defining the iterator scope limits, as described in Settings.
Settings
The settings for Flags may be combined by bit-wise OR operator from the following values:
vdbEnumAll
0x0000
no scope limits
vdbEnumVisible
0x0001
only among visible layers
vdbEnumActive
0x0002
only among active layers
vdbEnumCurrent
0x0004
only from current layer
vdbEnumReadable
0x0010
only from layers that can be read
vdbEnumNotReadable
0x0020
only from layers that cannot be read
vdbEnumEditable
0x0040
only from layers that can be edited
vdbEnumNotEditable
0x0080
only from layers that cannot be edited
vdbEnumFullable
0x0100
only from layers that have full access
vdbEnumNotFullable
0x0200
only from layers that do not have full access
vdbEnumDescend
0x4000
together with sub-elements
vdbEnumBackward
0x8000
in opposite direction
Remarks
The drawing object must be in opened state. If the function fails, Iterator is set to Nothing.
- GetHandle
Returns the value of the run-time handle through which the vector drawing can be referred in some other methods.
Syntax:
DrwHandle = Drawing.GetHandle()
DrwHandle
The GetHandle method returns the run-time handle through which the vector drawing can be referred.
Drawing
An object expression that evaluates to a VDB.ADrawing object
Remarks
The drawing object must be in opened state; otherwise the GetHandle method returns 0.
- GetLayer
Finds the drawing layer with given name among layers contained in the vector drawing.
Syntax:
Set Layer = Drawing.GetLayer (Name)
Layer
Name of the object variable to become a VDB.ALayer object associated with a layer found in the drawing.
Drawing
An object expression that evaluates to a VDB.ADrawing object
Name
A string expression evaluating to the name of the drawing layer to be found.
Remarks
The drawing object must be in opened state. If the function fails or layer cannot be found, Layer is set to Nothing.
- GetLayerIter
Returns an iterator stepping through drawing layers in the drawing.
Syntax:
Set Iterator = Drawing.GetLayerIter
Iterator
Name of the object variable to become a VDB.AIterator object associated with an iterator stepping through drawing layers in the drawing.
Drawing
An object expression that evaluates to a VDB.ADrawing object
Flags
An integer or constant specifying the iterator flags defining the iterator scope limits, as described in Settings.
Settings
The settings for Flags may be combined by bit-wise OR operator from the following values:
vdbEnumAll
0x0000
no scope limits
vdbEnumVisible
0x0001
only among visible layers
vdbEnumActive
0x0002
only among active layers
vdbEnumCurrent
0x0004
only from current layer
vdbEnumReadable
0x0010
only from layers that can be read
vdbEnumNotReadable
0x0020
only from layers that cannot be read
vdbEnumEditable
0x0040
only from layers that can be edited
vdbEnumNotEditable
0x0080
only from layers that cannot be edited
vdbEnumFullable
0x0100
only from layers that have full access
vdbEnumNotFullable
0x0200
only from layers that do not have full access
vdbEnumDescend
0x4000
together with sub-elements
vdbEnumBackward
0x8000
in opposite direction
Remarks
The drawing object must be in opened state. If the function fails, Iterator is set to Nothing.
- GetPattern
Finds the hatch pattern with given name among patterns contained in the vector drawing.
Syntax:
Set Pattern = Drawing.GetPattern(Name)
Pattern
Name of the object variable to become a VDB.APattern object associated with a pattern found in the drawing.
Drawing
An object expression that evaluates to a VDB.ADrawing object
Name
A string expression evaluating to the name of the hatch pattern to be found.
Remarks
The drawing object must be in opened state. If the function fails or pattern cannot be found, Pattern is set to Nothing.
- GetPatternIter
Returns an iterator stepping through hatch patterns in the drawing.
Syntax:
Set Iterator = Drawing.GetPatternIter(Flags)
Iterator
Name of the object variable to become a VDB.AIterator object associated with an iterator stepping through hatch patterns in the drawing.
Drawing
An object expression that evaluates to a VDB.ADrawing object
Flags
An integer or constant specifying the iterator flags defining the iterator scope limits, as described in Settings.
Settings
The settings for Flags may be combined by bit-wise
OR
operator from the following values:vdbEnumAll
0x0000
no scope limits
vdbEnumBackward
0x8000
in backward direction
Remarks
The drawing object must be in opened state. If the function fails, Iterator is set to Nothing.
- GetStyle
Finds the text style with given name among styles contained in the vector drawing.
Syntax:
Set Style = Drawing.GetStyle(Name)
Style
Name of the object variable to become a VDB.AStyle object associated with a style found in the drawing.
Drawing
An object expression that evaluates to a VDB.ADrawing object
Name
A string expression evaluating to the name of the text style to be found.
Remarks
The drawing object must be in opened state. If the function fails or style cannot be found, Style is set to Nothing.
- GetStyleIter
Returns an iterator stepping through text styles in the drawing.
Syntax:
Set Iterator = Drawing.GetStyleIter(Flags)
Iterator
Name of the object variable to become a VDB.AIterator object associated with an iterator stepping through text styles in the drawing.
Drawing
An object expression that evaluates to a VDB.ADrawing object
Flags
An integer or constant specifying the iterator flags defining the iterator scope limits, as described in Settings.
Settings
The settings for Flags may be combined by bit-wise OR operator from the following values:
vdbEnumAll
0x0000
no scope limits
vdbEnumBackward
0x8000
in backward direction
Remarks
The drawing object must be in opened state. If the function fails, Iterator is set to Nothing.
- GetTools
Returns an object associated with default drawing tools connected with drawing.
Syntax:
Set Tools = Drawing.GetTools
Tools
Name of the object variable to become a VDB.ATools object associated with default drawing tools connected to the drawing.
Drawing
An object expression that evaluates to a VDB.ADrawing object
Remarks
The drawing object must be in opened state. If the function fails, Tools is set to Nothing.
- GetToolSet
Finds the tool set with given name among tool sets contained in the vector drawing.
Syntax:
Set ToolSet = Drawing.GetToolSet(Name)
Pattern
Name of the object variable to become a VDB.AToolSet object associated with a tool set found in the drawing.
Drawing
An object expression that evaluates to a VDB.ADrawing object
Name
A string expression evaluating to the name of the tool set to be found.
Remarks
The drawing object must be in opened state. If the function fails or tool set cannot be found, ToolSet is set to Nothing.
Tool sets are vector objects containing tools that are used during special presentation modes instead of permanent tools stored with entities. Although each vector drawing may store tool sets, in HyperDoc they are accessible from vector drawings declared to be symbol libraries only.
- GetToolsIter
Returns an iterator stepping through tool sets in the drawing.
Syntax:
Set Iterator = Drawing.GetToolsIter
Iterator
Name of the object variable to become a VDB.AIterator object associated with an iterator stepping through tool sets in the drawing
Drawing
An object expression that evaluates to a VDB.ADrawing object
Flags
An integer or constant specifying the iterator flags defining the iterator scope limits, as described in Settings
Settings
The settings for Flags may be combined by bit-wise
OR
operator from the following values:vdbEnumAll
0x0000
no scope limits
vdbEnumBackward
0x8000
in backward direction
Remarks
The drawing object must be in
opened
state. If the function fails, Iterator is set to Nothing.- IsCurLayerEditable
Returns True if current layer is editable, False if not.
Syntax:
Res = Drawing.IsCurLayerEditable()
Res
The IsCurLayerEditable method returns True if current layer is editable and False if not.
Drawing
An object expression that evaluates to a VDB.ADrawing object
Remarks
The drawing object must be in opened state. Current layer may be not editable depending on user access rights.
- Load
Loads the vector drawing from the Tessel Vector Document file (file with the .TVD extension).
Syntax:
Res = Drawing.Load(FileName)
Res
The Load method returns True when succeeded and False when failed.
Drawing
An object expression that evaluates to a VDB.ADrawing object
FileName
A string expression evaluating to the name of the TVD file from which the vector drawing is to be loaded. This name remains logically connected with the vector drawing.
Remarks
The drawing object must be in virgin state. After successful completion, the drawing object enters opened state.
- LoadDXF
Converts the vector drawing from the AutoCAD DXF file (file with the .DXF extension).
Syntax:
Res = Drawing.LoadDXF(FileName, Correction)
Res
The LoadDXF method returns True when succeeded and False when failed.
Drawing
An object expression that evaluates to a VDB.ADrawing object
FileName
A string expression evaluating to the name of the DXF file from which the vector drawing is to be converted.
Correction
A numeric expression evaluating to the double coefficient to be used during units conversion.
Remarks
The drawing object must be in virgin state. After successful completion, the drawing object enters opened state.
- Merge
Merges the elements from some other vector drawing.
Syntax:
Res = Drawing.Merge(DrwHandle)
Res
The Merge method returns True when succeeded and False when failed.
Drawing
An object expression that evaluates to a VDB.ADrawing object
DrwHandle
A numeric expression evaluating to the run-time handle of the other vector drawing that is to be merged to.
Remarks
The drawing object must be in opened state.
- MergeDXF
Merges the elements from the vector drawing converted from the AutoCAD DXF file.
Syntax:
Res = Drawing.MergeDXF(FileName, Correction)
Res
The MergeDXF method returns True when succeeded and False when failed.
Drawing
An object expression that evaluates to a VDB.ADrawing object
FileName
A string expression evaluating to the name of the DXF file from which the vector drawing that is to be merged to is to be converted.
Correction
A numeric expression evaluating to the double coefficient to be used during units conversion.
Remarks
The drawing object must be in opened state.
- RefreshReactor
Forces all entities in vector data base with implanted reactor to call it with passed notification flags.
Syntax:
Res = Drawing.RefreshReactor(Flags)
Res
The RefreshReactor method returns True True if succeeded and False if failed.
Drawing
An object expression that evaluates to a VDB.ADrawing object
Flags
An integer or constant specifying the notification flags to be passed to notification reactor, as described in Settings.
Settings
The settings for Flags are:
vdbObjectOnLoad
1
notify about changing the object
vdbObjectOnChange
2
notify about loading the object
Remarks
The drawing object must be in opened state.
Notification through object reactor implanted in the vector drawing is used e.g. to implement dynamic texts. To update all dynamic texts after changing field values, the RefreshReactor with Flags set to vdbObjectOnLoad should be called.
- RemoveElement
Removes the vector element with given permanent identifier from elements listed in the vector drawing.
Syntax:
Res = Drawing.RemoveElement(Iden)
Res
The RemoveElement method returns True when succeeded and False when failed.
Drawing
An object expression that evaluates to a VDB.ADrawing object
Iden
A numerical expression evaluating to the permanent identifier of the vector element to be found.
Remarks
The drawing object must be in opened state.
- Save
Saves the vector drawing to the file with given name in Tessel Vector Document format (file with the .TVD extension).
Syntax:
Res = Drawing..Save(FileName)
Res
The Save method returns True when succeeded and False when failed.
Drawing
An object expression that evaluates to a VDB.ADrawing object
FileName
A string expression evaluating to the name of the TVD file to which the vector drawing is to be saved.
Remarks
The drawing object must be in opened state. If the FileName is an empty string, the vector drawing is saved to the file of its currently connected name. If the FileName is different than current, the new name remains logically connected with the vector drawing.
- SingleToolSetDlg
Calls dialog to edit tool set with given name.
Syntax:
Res = Drawing.SingleToolSetDlg(hWnd, Name, Flags)
Res
The SingleToolSetDlg method returns True if user accepts the changes and False if not.
Drawing
An object expression that evaluates to a VDB.ADrawing object
hWnd
An integer expression identifying the handle of the parent window for Tool Set Properties dialog to be displayed.
Name
A string expression evaluating to the name of the tool set to be edited
Flags
An integer or constant specifying the range of available tools, as described in Settings.
Settings
The settings for Flags may be combined by bit-wise OR operator from the following values:
vdbFullCaps
0x0000
tool set with full capabilities
vdbNotFill
0x0001
bitmap fills disabled
vdbNotHatch
0x0002
vector hatches disabled
vdbNotText
0x0004
text style settings disabled (not implemented as yet)
vdbSimpleOnly
0x0006
combination of vbdNotHatch and vdbNotText
Remarks
The drawing object must be in opened state.
Dynamic tools may be connected individually to selected entities, generating various presentation schemes with specific tools assigned to each data base query. Use SingleToolSetDlg to let user edit tool set with given name. If the tool set does not exist, it will be created and added to the list of all tool sets maintained in the vector drawing automatically.
To define separate tool set used for addintional enhancing selected entities, use the name passed to HyperView control as selected tools name and set Flags to vdbSimpleOnly.
- ToolSetListDlg
Calls dialog to edit list with all tool sets contained in the drawing.
Syntax:
NewName = Drawing.ToolSetListDlg(hWnd, DefName)
NewName
The ToolSetListDlg method returns the name of the tool set chosen by the user.
Drawing
An object expression that evaluates to a VDB.ADrawing object
hWnd
An integer expression identifying the handle of the parent window for Tool Set List dialog to be displayed.
DefName
A string expression evaluating to the name of the default tool set.
Remarks
The drawing object must be in opened state.
Dynamic tools may be connected individually to selected entities, generating various presentation schemes with specific tools assigned to each data base query. Use ToolSetListDlg to let user choose among all tool sets defined in the drawing, change their names, change contents of chosen tool sets, add new ones and remove unneeded ones. The DefName string identifies the name of the tool set to be initially chosen. After accepting changes, the ToolSetListDlg method returns the name of the tool set finally chosen. The ToolSetListDlg method returns an empty string if user cancels the action.
ATools is a helper object. Use it as a container of tools that are necessary to draw a vector entity or to access a set of default tools for a whole drawing.
You may set an ATools object using appropriate GetTools method from the ADrawing or AElement objects. It is recommended to set the values of tools in the vector entity directly using appropriate properties from the AElement object.
- FillStyle
Returns or sets a fill style.
Syntax:
Tools.FillStyle[= number]
Tools
An expression that evaluates to VDB.ATools object.
number
A numeric expression specifying the style of fill used to paint an entity, as described in Settings.
Settings
You can use the Microsoft Windows operating environment brush and hatch style schemes.
The settings for FillStyle are:
None
0
MS Windows Null Brush
Solid
1
MS Windows Solid Brush
Horizontal
2
MS Windows Hatch Brush created with HS_HORIZONTAL parameter
---------------
Vertical
3
MS Windows Hatch Brush created with HS_VERTICAL parameter
||||||||||||||||||||||||||
ForwDiag
4
MS Windows Hatch Brush created with HS_BDIAGONAL parameter
//////////////////
BackDiag
5
MS Windows Hatch Brush created with HS_FDIAGONAL parameter
\\\\\\\\\\\\\\\\\\
Cross
6
MS Windows Hatch Brush created with HS_CROSS parameter
+++++++++
DiagCross
7
MS Windows Hatch Brush created with HS_DIAGCROSS parameter
*********
- HatchLineAngle
Returns or sets an angle between hatch lines and a horizontal line expressed in degrees.
Syntax:
Tools.HatchLineAngle[= number]
Tools
An expression that evaluates to VDB.ATools object.
Tools
A numeric expression specifying the way the hatch is generated, as described in Settings.
Settings:
vdbHpNull
0
A hatch is not generated
vdbHpSingle
1
Lines of hatch are not crossed
vdbHpDouble
2
Each hatch lines is crossed by it’s perpendicular twin
- HatchLineDistance
Returns or sets a distance between two adjacent hatch lines expressed in units established for a whole drawing.
Syntax:
Tools.HatchLineDistance[= number]
Tools
An expression that evaluates to VDB.ATools object.
Tools
A numeric expression specifying the distance between any pair of adjacent hatch lines.
Remarks
The numeric expression has to be evaluated to non-negative value.
- LineColor, HatchLineColor, FillColor
Returns or sets color for a line/hatch line/fill.
Syntax:
Tools.LineColor[= number]
Tools.HatchLineColor[= number]
Tools.Fill[= number]
Tools
An expression that evaluates to VDB.ATools object.
number
A numeric expression specifying the color of line used to draw an entity and a hatch, as described in Settings.
Settings
The settings for LineColor, HatchLineColor and FillColor are:
Black
0x00000000
black
Red
0x000000FF
red
Green
0x0000FF00
green
Blue
0x00FF0000
blue
Yellow
0x0000FFFF
yellow
Cyan
0x00FFFF00
cyan
Magenta
0x00FF00FF
magenta
White
0x00FFFFFF
white
Dk Red
0x00000080
dark red
Dk Green
0x00008000
dark green
Dk Blue
0x00800000
dark blue
Dk Yellow
0x00008080
dark yellow
Dk Cyan
0x00808000
dark cyan
Dk Magenta
0x00800080
dark magenta
Dk Gray
0x00808080
dark gray
Lt Gray
0x00C0C0C0
light gray
Remarks
Use the Microsoft Windows operating environment red-green-blue (RGB) color scheme. Specify colors by using the Color palette or by using the RGB or QBColor functions in code.
- LineStyle, HatchLineStyle
Returns or sets a line/hatch line style.
Syntax:
Tools.LineStyle[= number]
Tools.HatchLineStyle[= number]
Tools
An expression that evaluates to VDB.ATools object.
number
A numeric expression specifying the style of line used to draw an entity and its hatch, as described in Settings.
Settings
Use the Microsoft Windows operating environment pen style scheme.
The settings for LineStyle are:
PS_SOLID
0
solid line
----------
PS_DASH
1
dashed line
- - - - - -
PS_DOT
2
dotted line
.............
PS_DASHDOT
3
dash-dotted line
-.-.-.-.-.-
PS_DASHDOTDOT
4
dash-double-dotted line
-..-..-..-..
PS_NULL
5
without line
Remarks
Use PS_NULL pen style to draw invisible lines.
- LineWidth, HatchLineWidth
Returns or sets a line width expressed in units established for a whole drawing.
Syntax:
Tools.LineWidth[= number]
Tools.LineWidth[= number]
Tools
An expression that evaluates to VDB.ATools object.
number
A numeric expression specifying the width of line used to draw an entity and its hatch.
Remarks
The number expression has to be non-negative value.
- Presentation
Returns or sets a parameter that specifies the way the object is drawn: either it covers other objects and background documents or they are still visible.
Syntax:
Tools.Presentation[= number]
Tools
An expression that evaluates to VDB.ATools object.
Tools
A numeric expression specifying the style of entity presentation, as described in Settings.
Settings
The settings for Presentation are:
vdbPresentationNormal
0
An entity is opaque (it is drawn with R2_COPYPEN mode)
vdbPresentationTransparent
1
An entity is transparent (it is drawn with R2_NOTXORPEN mode)
AIterator is a helper object. Use it to iterate through the community of layers, text styles, patterns, blocks, tool sets or vector entities on a drawing level or through subentities on the level of entity.
- GetFirst
Creates a reference to the first item listed by a iterator.
Syntax:
Set Object = Iterator.GetFirst()
Object
Name of the object variable to become a VDB.AObject - derived object associated with the first item listed by the Iterator
Iterator
An object expression that evaluates to a VDB.AIterator object
Remarks
The first item listed by an iterator becomes the current item.
- GetNext
Creates a reference to the next item listed by a iterator.
Syntax:
Set Object = Iterator.GetNext
Object
Name of the object variable to become a VDB.AObject - derived object associated with the next item listed by the Iterator
Iterator
An object expression that evaluates to a VDB.AIterator object
Remarks
The next item means the next to the current one. After the call is made the next item becomes the current item.
ADataIterator is a helper object. Use it to iterate through application- or user-defined data, that may be connected to each object in vector data base.
- GetKeyAt
Returns the string that is used as a key for data item at current position.
Syntax:
String = DataIterator.GetKeyAt()
String
The GetKeyAt method returns the string that is used as a key for data item at current position.
DataIterator
An object expression that evaluates to a VDB.ADataIterator object
Remarks
Use DataAt(String, Flags) property of any VDB.AObject – derived object to examine the type, value and flags of data item itself.
- Start
Starts or restarts the iteration.
Syntax:
DataIterator.Start
DataIterator
An object expression that evaluates to a VDB.ADataIterator object
Remarks
The first item maintained by an iterator in string-keyed table becomes the current item.
- Step
Moves iteration one step.
Syntax:
DataIterator.Step()
DataIterator
An object expression that evaluates to a VDB.ADataIterator object
Remarks
The next item maintained by an iterator in string-keyed table becomes the current item. There is no predefined succession of items of user data.
- Valid
Checks if current position is valid.
Syntax:
Res = DataIterator.Valid
Res
The Valid method returns True if current position is valid and False if not.
DataIterator
An object expression that evaluates to a VDB.ADataIterator object
Remarks
The Valid method should be called at each step of iteration.
AObject is an abstract, generic vector data base object.
- ObjectFlags
Returns or sets an object’s notification flags.
Syntax:
Object.ObjectFlags [=Flags]
Object
An expression that evaluates to VDB.AObject object
Flags
An integer or constant specifying the object flags defining the events the object has to notify the application.
Settings
The settings for Flags may be combined by bit-wise OR operator from the following values:
vdbObjectOnLoad
1
notify about loading the object
vdbObjectOnLoad
2
notify about changing the object
- ObjectName
Returns or sets an object’s name.
Syntax:
Object.ObjectName[= name]
Object
An expression that evaluates to VDB.AObject object
name
A string expression specifying the name of an object
- DataAt
Returns or sets type, value and flags of application- or user-defined data that may be connected in a string-keyed table to each object in vector data base.
Syntax:
Object.DataAt(Key, Flags) [= val]
Object
An expression that evaluates to VDB.AObject object
Key
The string expression that identifies the attribute you work with
Flags
Flags
val
A variable type expression specifying the data value
Settings
The settings for Flags may be combined by bit-wise OR operator from the appropriately chosen following values:
vdbDataSkip
0
do not sum-up data values in complex objects
vdbDataAdd
1
add numerical data while generating programmable data in parent complex or selection
vdbDataSubtract
2
subtract numerical data while generating programmable data in parent complex or selection
vdbDataProgrammable
4
data item results from calculation made across child entities
data item results from calculation made across child entities
8
data value is invalid
Remarks
Only numerical data may be added or subtracted during calculation in complex objects.
- GetDataIterator
Returns a data iterator stepping through application- or user-defined data, that may be connected to each object in vector data base.
Syntax:
Set DataIterator = Object.GetDataIterator()
DataIterator
Name of the object variable to become a VDB.ADataIterator object associated with an iterator stepping through data items connected to Object.
Object
An object expression that evaluates to a VDB.AObject object
Remarks
If the function fails or Object does not have any data items, DataIterator is set to Nothing.
- GetIterator
Returns an iterator stepping through child objects of a parent objects.
Syntax:
Set Iterator = Object.GetIterator(Flags)
Iterator
Name of the object variable to become a VDB.AIterator object associated with an iterator stepping through vector objects connected to Object.
Object
An object expression that evaluates to a VDB.AObject object
Flags
An integer or constant specifying the iterator flags defining the iterator scope limits, as described in Settings.
Settings
The settings for Flags may be combined by bit-wise OR operator from the following values:
vdbEnumAll
0x0000
no scope limits
vdbEnumVisible
0x0001
only among visible layers
vdbEnumActive
0x0002
only among active layers
vdbEnumCurrent
0x0004
only from current layer
vdbEnumReadable
0x0010
only from layers that can be read
vdbEnumNotReadable
0x0020
only from layers that cannot be read
vdbEnumEditable
0x0040
only from layers that can be edited
vdbEnumNotEditable
0x0080
only from layers that cannot be edited
vdbEnumFullable
0x0100
only from layers that have full access
vdbEnumNotFullable
0x0200
only from layers that do not have full access
vdbEnumDescend
0x4000
together with sub-elements
vdbEnumDescend
0x8000
in backward direction
Remarks
If the function fails or Object cannot have child sub-objects, Iterator is set to Nothing.
- GetLongId
Returns the unique object’s identifier
Syntax:
iden = Object.GetLongId()
iden
The GetLongId() method returns unique data base object identifier of long type
Object
An expression that evaluates to VDB.AObject object
- GetType
Returns the type of an object.
Syntax:
type = Object.GetType()
type
The GetType() method returns object’s type identifier of short type, as describes in Settings
Object
An expression that evaluates to VDB.AObject derived object
Settings
The valid type identifiers are:
VDB_UNKNOWN
0
VDB_ELEMENT
1
VDB_SEGMENT
2
VDB_ARROW
3
VDB_RECTANGLE
4
VDB_CIRCLE
5
VDB_TEXT
6
VDB_POLYLINE
7
VDB_ICON
9
VDB_MLINE
10
VDB_INSERT
11
VDB_COMPLEX
256
VDB_SELECTION
257
VDB_SPOT
258
VDB_ANNOTATION
259
VDB_HATCH
260
VDB_SYMBOL
4096
VDB_HEADER
4097
VDB_STYLE
4098
VDB_LAYER
4099
VDB_MODEL
4100
VDB_PATTERN
4101
VDB_BLOCK
4102
VDB_TOOLS
4103
AElement is an abstract, generic vector entity object.
- ElementFlags
Returns or sets element flags used for miscellaneous purposes.
Syntax:
Element.ElementFlags [= number]
Element
An expression that evaluates to VDB.AElement object
number
A numeric expression specifying the value of element flags, as described in Settings
Settings
Specific bits in the ElementFlags determine the way the element’s measurements are taken into account during calculating appropriate measurements of complex entities. Normally, these measurements are calculated by simple addition. The settings for ElementFlags may be set to 0 (default) or combined by bit-wise OR operator in reasonable way from the following values:
vdbElementLengthSubtract
0x0001
Element’s length is subtracted during calculating complex length
vdbElementAreaSubtract
0x0002
Element’s area is subtracted during calculating complex area
vdbElementLengthSkip
0x0004
Element’s length is skipped during calculating complex length
vdbElementAreaSkip
0x0008
Element’s area is skipped during calculating complex area
- FillStyle
Returns or sets a fill style.
Syntax:
Element.FillStyle [= number]
Element
An expression that evaluates to VDB.AElement object
number
A numeric expression specifying the style of fill used to paint an element, as described in Settings
Settings
You can use the Microsoft Windows operating environment brush and hatch style schemes.
None
0
MS Windows Null Brush
Solid
1
MS Windows Solid Brush
Horizontal
2
MS Windows Hatch Brush created with HS_HORIZONTAL parameter
---------------
Vertical
3
MS Windows Hatch Brush created with HS_VERTICAL parameter
||||||||||||||||||||||||||
ForwDiag
4
MS Windows Hatch Brush created with HS_BDIAGONAL parameter
//////////////////
BackDiag
5
MS Windows Hatch Brush created with HS_FDIAGONAL parameter
\\\\\\\\\\\\\\\\\\
Cross
6
MS Windows Hatch Brush created with HS_CROSS parameter
+++++++++
DiagCross
7
MS Windows Hatch Brush created with HS_DIAGCROSS parameter
*********
- HatchFlags
HatchFlags
Syntax:
Element.HatchFlags[= number]
Element
An expression that evaluates to VDB.AElement object
number
A numeric expression specifying the way the hatch is generated, as described in Settings
Settings
The settings for HatchFlags are:
vdbHpNull
0
A hatch is not generated
vdbHpSingle
1
Lines of hatch are not crossed
vdbHpDouble
2
Each hatch lines is crossed by it’s perpendicular twin
- HatchLineAngle
Returns or sets an angle between hatch lines and a horizontal line expressed in degrees.
Syntax:
Element.HatchLineAngle [= number]
Element
An expression that evaluates to VDB.AElement object
number
A numeric expression specifying the distance between any pair of adjacent hatch lines
- HatchLineDistance
Returns or sets a distance between two adjacent hatch lines expressed in units established for a whole drawing.
Syntax:
Element.HatchLineDistance [= number]
Element
An expression that evaluates to VDB.AElement object
number
A numeric expression specifying the distance between any pair of adjacent hatch lines
Remarks
The numeric expression has to be evaluated to non-negative value.
- LayerName
Returns or sets a name of the layer, that the element is defined on.
Syntax:
Element.LayerName[= name]
Element
An expression that evaluates to VDB.AElement object
name
A string expression specifying the name of the layer
- LineColor, FillColor, HatchLineColor
Returns or sets a line/fill/hatch color.
Syntax:
Element.LineColor [= number]
Element.FillColor [= number]
Element.HatchLineColor [= number]
The LineColor, FillColor and HatchLineColor properties syntax has these parts:
Element
An expression that evaluates to VDB.AElement object
number
A numeric expression specifying the color of line/fill/hatch used to draw an element, as described in Settings
Settings
The settings for LineColor/FillColor/HatchLineColor are:
Black
0x00000000
black
Red
0x000000FF
red
Green
0x0000FF00
green
Blue
0x00FF0000
blue
Yellow
0x0000FFFF
yellow
Cyan
0x00FFFF00
cyan
Magenta
0x00FF00FF
magenta
White
0x00FFFFFF
white
Dk Red
0x00FFFFFF
dark red
Dk Green
0x00008000
dark green
Dk Blue
0x00800000
dark blue
Dk Yellow
0x00008080
dark yellow
Dk Cyan
0x00808000
dark cyan
Dk Magenta
0x00800080
dark magenta
Dk Gray
0x00808080
dark Gray
Lt Gray
0x00C0C0C0
light gray
Remarks
Use the Microsoft Windows operating environment red-green-blue (RGB) color scheme. Specify colors by using the Color palette or by using the RGB or QBColor functions in code.
- LineStyle, HatchLineStyle
Returns or sets a line/hatch style.
Syntax:
Element.LineStyle[= number]
Element.HatchLineStyle[= number]
Element
An expression that evaluates to VDB.AElement object
number
A numeric expression specifying the style of line used to draw an element or its hatch, as described in Settings
Settings
Use the Microsoft Windows operating environment pen style scheme
PS_SOLID
0
solid line
----------
PS_DASH
1
dashed line
- - - - - -
PS_DOT
2
dotted line
.............
PS_DASHDOT
3
dash-dotted line
-.-.-.-.-.-
PS_DASHDOTDOT
4
dash-double-dotted line
-..-..-..-..
PS_NULL
5
without line
Remarks
Use PS_NULL pen style to draw invisible lines.
- LineWidth, HatchLineWidth
Returns or sets a line /hatch line width expressed in units established for a whole drawing.
Syntax:
Element.LineWidth[= number]
Element.HatchLineWidth[= number]
Element
An expression that evaluates to VDB.AElement object.
number
A numeric expression specifying the width of line used to draw an element or its hatch.
Remarks
The numeric expression has to be evaluated to non-negative value.
- PatternName
Returns or sets a name of the pattern, that is used to generate the element’s hatch.
Syntax:
Element.PatternName[= name]
Element
An expression that evaluates to VDB.AElement object
name
A string expression specifying the name of the pattern
- Presentation
Returns or sets a parameter that specifies the way the element is drawn: either it covers other entities and background documents or they are still visible through.
Syntax:
Element.Presentation[= number]
Element
An expression that evaluates to VDB.AElement object
number
A numeric expression specifying the style of element’s presentation, as described in Settings
Settings
The settings for Presentation are:
vdbPresentationNormal
0
An entity is opaque (it is drawn with R2_COPYPEN mode)
vdbPresentationTransparent
1
An entity is transparent (it is drawn with R2_NOTXORPEN mode)
- Visibility
Returns or sets a value specifying whether an element is visible or hidden.
Syntax:
Element.Visibility[= Visible]
Element
An expression that evaluates to VDB.AElement object
Visible
A logical expression specifying the element’s visibility
- XCoordAt, YCoordAt
Returns or sets x or y coordinate of object’s point.
Syntax:
Element.XCoordAt(nIndex) [= val]
Element.YCoordAt(nIndex) [= val]
Element
An expression that evaluates to VDB.AElement object.
nIndex
An integer expression specifying the number of point.
val
A numeric expression specifying x or y coordinate.
Remarks
To get to know the number of all object’s points (the maximal value of nIndex) use GetNoOfCoordsData method.
- AttachDynaTools
Attaches dynamic tools to be used during dynamic presentation.
Syntax:
Element.AttachDynaTools(Name, DrwHandle)
Layer
Name of the tool set to be attached to the element.
DrwHandle
The run-time handle of the library vector drawing from where the tool set is to be taken.
Element
An expression that evaluates to a VDB.AElement object
Remarks
Dynamic tools may be connected individually to selected entities, generating various presentation schemes with specific tools assigned to each data base query. Use AttachDynaTools method of any VDB.AElement – derived object to connect specific tools to given element. Using DetachDynaTools method of the VDB.ADrawing object you may disconnect all dynamic tools in the whole drawing at once and close presentation.
- GetArea
Returns an area of element.
Syntax:
Val = Element.GetArea()
val
A numeric variable specifying the element’s area.
Element
An expression that evaluates to a VDB.AElement object
Remarks
For elements, that the notion of area is out of context GetLength method returns 0 (segments, polylines, texts, icons). For complex elements GetArea method returns the sum of areas of subelements, that the element is consisted of.
- GetExtentXMin, GetExtentYMin, GetExtentXMax, GetExtentYMax
Return minimal and maximal values of x and y coordinates of element’s extent.
Syntax:
val = Element.GetExtentXMin()
val = Element.GetExtentYMin()
val = Element.GetExtentXMax()
val = Element.GetExtentYMax()
val
A numeric expression specifying maximal/minimal x or y coordinates.
Element
An expression that evaluates to a VDB.AElement object
- GetLength
Returns a sum of length of segments that an object consists of (segments, polylines) or a circumference of object (rectangles, circles, polygons).
Syntax:
Val = Element.GetLength()
val
A numeric variable specifying the sum of element’s segment or it’s circumference.
Element
An expression that evaluates to a VDB.AElement object
Remarks
For elements, that the notion of length is out of context GetLength method returns 0 (texts, icons). For complex elements GetLength method returns the sum of lengths of subelements, that the element is consisted of.
- GetNoOfCoordsData
Returns a number of all points of an element that it’s geometry is base on.
Syntax:
Val = Element.GetNoOfCoordsData()
val
An integer variable specifying the number of element’s points.
Element
An expression that evaluates to a VDB.AElement object
Remarks
To get x and / or y coordinates of subsequent points use XCoordAt, YCoordAt properties.
- GetTools
Returns an object associated with tools connected with the element.
Syntax:
Set Tools = Element.GetTools()
Tools
Name of the object variable to become a VDB.ATools object associated with default drawing tools connected to the drawing.
Element
An object expression that evaluates to a VDB.AElement object
Remarks
If the function fails, Tools is set to Nothing.
- GetUnitsCoeff
Returns a coefficient to be used while converting from drawing units to inches.
Syntax:
Val = Element.GetUnitsCoeff()
Res
A numeric variable specifying the coefficient between drawing units and inches.
Element
An expression that evaluates to a VDB.AElement object
- IsYourLayerEditable
Returns True if entity’s layer is editable, False if not.
Syntax:
Res = Element.IsYourLayerEditable()
Res
The IsYourLayerEditable method returns True if entity’s layer is editable and False if not.
Element
An expression that evaluates to a VDB.AElement object
There are no properties or methods specific to VDB.ASegment objects. All their functionality may be accessed through common properties and methods declared for objects defined on lower levels in VDB database objects hierarchy.
- Radius
Returns or sets a value of the circle radius.
Syntax:
Circle.Radius[= value]
Circle
An object expression that evaluates to a VDB.ACircle object
value
A numeric expression specifying the value of the radius of a Circle.
- Xcenter, YCenter
Returns or sets the x and y coordinate value of the center of a circle.
Syntax:
Circle.XCenter [= value]
Circle.YCenter [= value]
Circle
An object expression that evaluates to a VDB.ACircle object
value
A numeric expression specifying the x or y coordinate value of the center of a Circle.
There are no properties or methods specific to VDB.ARectangle objects. All their functionality may be accessed through common properties and methods declared for objects defined on lower levels in VDB database objects hierarchy.
- AddVertex
Adds a new vertex to polyline / polygon (at its end) with given coordinates.
Syntax:
Res = Poly.AddVertex(Xcoord, Ycoord)
Res
The AddVertex method returns True when succeeded and False when failed.
Poly
An object expression that evaluates to a VDB.APoly object
Xcoord
A numeric expression evaluating to the x coordinate of a vertex being added to a Poly
Ycoord
A numeric expression evaluating to the y coordinate of a vertex being added to a Poly
- DeleteVertex
Deletes a vertex from polyline / polygon with given index.
Syntax:
Res = Poly.DeleteVertex(Index)
Res
The DeleteVertex method returns True when succeeded and False when failed.
Poly
An object expression that evaluates to a VDB.APoly object
Index
A numeric expression evaluating to the zero-based index of a vertex to be deleted.
- InsertVertexBefore
Inserts a new vertex to polyline / polygon (before vertex with given index) with given coordinates.
Syntax:
Res = Poly.InsertVertexBefore(Index, Xcoord, Ycoord)
Res
The InsertVertexBefore method returns True when succeeded and False when failed.
Poly
An object expression that evaluates to a VDB.APoly object
Index
A numeric expression evaluating to the zero-based index of a new vertex.
Xcoord
A numeric expression evaluating to the x coordinate of a vertex being added to a Poly
Ycoord
A numeric expression evaluating to the y coordinate of a vertex being added to a Poly
- IsClosed
Returns whether a generic APoly is a polygon (closed) or a polyline (opened).
Syntax:
Res = Poly.IsClosed()
Poly
An object expression that evaluates to a VDB.APoly object
Res
The IsClosed method returns True for the polygon and False for the polyline.
- AlignFlags
Returns or sets the align flags defining the way the text is displayed and adjusted.
Syntax:
Text.AlignFlags [= value]
Text
An object expression that evaluates to a VDB.AText object
value
A numeric expression specifying the value of flags, as described in Settings.
Settings
The settings for value may be combined by bit-wise OR operator from the following sets of values specifying separately the horizontal and vertical alignment:
TA_LEFT
0
text aligned to its left side
TA_RIGHT
2
text aligned to its right side
TA_CENTER
6
text aligned to its center line
TA_TOP
0
text aligned to its top line
TA_BOTTOM
8
text aligned to its bottom line
TA_BASELINE
24
text aligned to its base line
Remarks
Vertical alignment flags are ignored for multi-line texts.
- Angle
Returns or sets a value of the angle of text.
Syntax:
Text.Angle [= value]
Text
An object expression that evaluates to a VDB.AText object
value
A numeric expression specifying the value of the angle of the Text.
Remarks
Text angle is the angle between the positive direction of x-axis and the baseline of text.
- BorderType
Returns or sets the type of border surrounding the text.
Syntax:
Text.BorderType [= value]
Text
An object expression that evaluates to a VDB.AText object
value
A numeric expression specifying the code of border type, as described in Settings
Settings
The settings for value defining border type are:
vdbTbNull
0
no border
vdbTbRectangle
1
rectangle border
vdbTbEllipse
2
elliptical border
vdbTbRoundrect
3
rounded-rectangle border
- Content
Returns or sets the content of text.
Syntax:
Text.Content[= string]
Text
An object expression that evaluates to a VDB.AText object
string
A string expression specifying the content of the Text.
Remarks
Text content may be single- or multi-line. The newline character (CR/LF) separates subsequent lines of text.
- Height
Returns or sets a value of the height of text.
Syntax:
Text.Height [= value]
Text
An object expression that evaluates to a VDB.AText object
value
A numeric expression specifying the value of the height of the Text.
Remarks
Text height is the distance between the bottom line of text and its upper line, i.e. including the descent and ascent part of the typeface together with internal spacing. For multi-line texts, the text height is multiplied by the number of lines.
- Ratio
Returns or sets a value of the ratio of text.
Syntax:
Text.Ratio [= value]
Text
An object expression that evaluates to a VDB.AText object
value
A numeric expression specifying the value of the height of the Text.
Remarks
Text ratio is the ratio of the desired text length to the length of text rendered with its current font of the same height and with default font design
- RuntimeContent
Returns or sets the run-time content of text.
Syntax:
Text.RuntimeContent [= string]
Text
An object expression that evaluates to a VDB.AText object
string
A string expression specifying the run-time content of the Text.
Remarks
The run-time content may be used for implementation of dynamic, macro-dependent texts.
- StyleName
Returns or sets the name of the style of text.
Syntax:
Text.StyleName [= string]
Text
An object expression that evaluates to a VDB.AText object
string
A string expression specifying the name of the style of the Text.
Remarks
The style with given name must exist in the drawing to which the Text belongs.
- FileName
Returns or sets the name of the raster file displayed in icon.
Syntax:
Icon.FileName
Icon
An object expression that evaluates to a VDB.AIcon object
value
A string expression specifying the name of the raster file displayed in the Icon
- Scale
Returns or sets a value of the scale of icon.
Syntax:
Icon.Scale [= value]
Icon
An object expression that evaluates to a VDB.AIcon object
value
A numeric expression specifying the value of the scale of the Icon
Remarks
Icon scale is the scale used while displaying raster file in the icon.
- Angle
Returns or sets angle of insert entity.
Syntax:
Insert.Angle [= value]
Insert
An object expression that evaluates to a VDB.AInsert object
value
A numeric expression specifying the value of the angle of the Insert
Remarks
Insert angle is the rotation angle used while displaying entities listed in block definition that the insert entity refers to.
- BlockName
Returns or sets the name of the block definition the insert entity refers to.
Syntax:
Insert.BlockName [= string]
Insert
An object expression that evaluates to a VDB.AInsert object
string
A string expression specifying the name of the block displayed in the Insert
- XScale, YScale
Returns or sets x or y scale of insert entity.
Syntax:
Insert.XScale [= value]
Insert.YScale [= value]
Insert
An object expression that evaluates to a VDB.AInsert object
value
A numeric expression specifying the value of the x or y scale of the Insert
Remarks
Insert scale is the scale used while displaying entities listed in block definition that the insert entity refers to.
There are no properties or methods specific to VDB.AToolSet objects. All their functionality may be accessed through common properties and methods declared for objects defined on lower levels in VDB database objects hierarchy.
Although VDB.AToolSet object is derived from VDB.AElement object, it is not treated as a geometrical entity. It is rather a placeholder for storing individual tools for e.g. dynamic presentation purposes. Tool sets are stored in separate table in the vector drawing data base.
ASymbol object is a generic class of various drawing data base objects that are listed in the drawing in separate tables. Drawing layers, text styles and hatch patterns are examples of these objects. Some common properties and methods, accessible for each specific symbol, are implemented on the ASymbol level.
- RefCount
Returns the reference count for the symbol.
Syntax:
Res = Symbol.RefCount()
Symbol
An object expression that evaluates to a VDB.ASymbol – derived object
Res
The RefCount property returns the number of times the Symbol is referenced from other drawing data base objects in the drawing.
Remarks
The RefCount property is read-only, i.e. you cannot set the value of reference counter of the symbol explicitly.
- IsPermanent
Return the state of being permanent property of the symbol.
Syntax:
Res = Symbol.IsPermanent()
Symbol
An object expression that evaluates to a VDB.ASymbol – derived object
Res
The IsPermanent method returns True when the Symbol is permanent and False if not.
Remarks
Some symbols, e.g. layer named “0” or default text style, created automatically in the new drawing, are considered obligatory and thus are not removable. This is marked as the property of being permanent.
- AccessRights
Returns or sets the level of access rights for the layer.
Syntax:
Layer.AccessRights [= Level]
Layer
An object expression that evaluates to a VDB.ALayer object
Level
A numeric expression specifying the access level declared for the layer, as described in Settings.
Settings
The settings for Level are:
vdbNullAccess
0
no access: layer is not listed at all; its elements are hidden
vdbReadAccess
1
read access: layer is listed; its properties may be changed; layer name cannot be changed; layer cannot be created or removed; its elements cannot be added, changed or removed
vdbEditAccess
2
edit access: layer is listed, its properties may be changed; layer name cannot be changed; layer cannot be created or removed; its elements can be added, changed or removed
vdbFullAccess
3
full access: layer is listed, its properties may be changed; layer name can be changed; layer can be created and removed; its elements can be added, changed or removed
Remarks
Common schema of access rights depending on user priority level and user name, together with syntax of layer name containing the prefix with user name, may be imposed in whole drawing.
- IsActive, IsVisible, IsCurrent
Return the state of appropriate parameters of the layer, such as activity, visibility and state of being current.
Syntax:
Res = Layer.IsActive()
Res = Layer.IsVisible()
Res = Layer.IsCurrent()
Layer
An object expression that evaluates to a VDB.ALayer object
Res
Each method returns True when the corresponding parameter is set and False if not.
- SetActivity
Sets the activity parameter for the layer.
Syntax:
Layer.SetActivity(Active)
Layer
An object expression that evaluates to a VDB.ALayer object
Active
A logical expression specifying the activity parameter for the layer.
Remarks
Layer may be set active or inactive. Entities from active layer can be selected and edited. Entities from inactive layer cannot be selected nor edited. This feature may be set independently from the visibility parameter.
- SetCurrent
Sets the layer as current one.
Syntax:
Layer.SetCurrent()
Layer
An object expression that evaluates to a VDB.ALayer object
Remarks
Layer may be set as current one. It means that all newly defined entities will be placed on that layer. It has also influence on enumerating entities using flag VDB_ENUM_CURRENT.
Since the SetCurrent method has no parameters, the only way to reset the layer to “not current” state is to made some other layer current.
- SetVisibility
Sets the visibility parameter for the layer.
Syntax:
Layer.SetVisibility(Visible)
Layer
An object expression that evaluates to a VDB.ALayer object
Visible
A logical expression specifying the visibility parameter for the layer.
Remarks
Layer may be set visible or invisible. Entities from visible layer are visible i.e. they are displayed. Entities from invisible layer are not displayed. This feature may be set independently from the activity parameter
- AlignFlags
Returns or sets the align flags defining the way the text is displayed and adjusted.
Syntax:
Style.AlignFlags [= value]
Style
An object expression that evaluates to a VDB.AStyle object
value
A numeric expression specifying the value of flags, as described in Settings.
Settings
The settings for value may be combined by bit-wise OR operator from the following sets of values specifying separately the horizontal and vertical alignment:
TA_LEFT
0
text aligned to its left side
TA_RIGHT
2
text aligned to its right side
TA_CENTER
6
text aligned to its center line
TA_TOP
0
text aligned to its top line
TA_BOTTOM
8
text aligned to its bottom line
TA_BASELINE
24
text aligned to its base line
Remarks
Vertical alignment flags are ignored for multi-line texts.
- Angle
Returns or sets a value of the angle of text.
Syntax:
Style.Angle [= value]
Style
An object expression that evaluates to a VDB.AStyle object
value
A numeric expression specifying the value of the angle of the Style.
Remarks
Text angle is the angle between the positive direction of x-axis and the baseline of text.
- BorderType
Returns or sets the type of border surrounding the text.
Syntax:
Style.BorderType [= value]
Style
An object expression that evaluates to a VDB.AStyle object
value
A numeric expression specifying the code of border type, as described in Settings.
Settings
The settings for value defining border type are:
vdbTbNull
0
no border
vdbTbRectangle
1
rectangle border
vdbTbEllipse
2
elliptical border
vdbTbRoundrect
3
rounded-rectangle border
- Height
Returns or sets a value of the height of text.
Syntax:
Style.Height [= value]
Style
An object expression that evaluates to a VDB.AStyle object
value
A numeric expression specifying the value of the height of the Style.
Remarks
Text height is the distance between the bottom line of text and its upper line, i.e. including the descent and ascent part of the typeface together with internal spacing. For multi-line texts, the text height is multiplied by the number of lines.
- Ratio
Returns or sets a value of the ratio of text.
Syntax:
Style.Ratio
Style
An object expression that evaluates to a VDB.AStyle object
value
A numeric expression specifying the value of the ratio of the Style.
Remarks
Text ratio is the ratio of the desired text length to the length of text rendered with its current font of the same height and with default font design.
- Angle
Returns or sets an angle between hatch lines and a horizontal line expressed in degrees.
Syntax:
Pattern.Angle [= number]
Pattern
An expression that evaluates to VDB.APattern object
number
A numeric expression specifying an angle between hatch lines and a horizontal line
- Color
Returns or sets color for a hatch line.
Syntax:
Pattern.Color [= number]
Pattern
An expression that evaluates to VDB.APattern object
number
A numeric expression specifying the color of line used to draw a hatch, as described in Settings
Settings
The settings for Color are:
Black
0x00000000
black
Red
0x000000FF
red
Green
0x0000FF00
green
Blue
0x00FF0000
blue
Yellow
0x0000FFFF
yellow
Cyan
0x00FFFF00
cyan
Magenta
0x00FF00FF
magenta
White
0x00FFFFFF
white
Dk Red
0x00000080
dark red
Dk Green
0x00008000
dark green
Dk Blue
0x00800000
dark blue
Dk Yellow
0x00008080
dark yellow
Dk Cyan
0x00808000
dark cyan
Dk Magenta
0x00800080
dark magenta
Dk Gray
0x00808080
dark gray
Lt Gray
0x00C0C0C0
light gray
Remarks
Use the Microsoft Windows operating environment red-green-blue (RGB) color scheme. Specify colors by using the Color palette or by using the RGB or QBColor functions in code.
- Distance
Returns or sets a distance between two adjacent hatch lines expressed in units established for a whole drawing.
Syntax:
Pattern.Distance[= number]
Tools
An expression that evaluates to VDB.APattern object
number
A numeric expression specifying the distance between any pair of adjacent hatch lines
Remarks
The numeric expression has to be evaluated to non-negative value.
- Flags
Returns or sets a flag that is responsible for drawing (or not) the perpendicular twin for each hatch line.
Syntax:
Pattern.Flags [= number]
Pattern
An expression that evaluates to VDB.APattern object
number
A numeric expression specifying the way the hatch is generated, as described in Settings
Settings
The settings for Flags are:
vdbHpNull
0
A hatch is not generated
vdbHpSingle
1
Lines of hatch are not crossed
vdbHpDouble
2
Each hatch line is crossed by its perpendicular twin
- LineStyle
Returns or sets a hatch line style.
Syntax:
Pattern.LineStyle [= number]
Pattern
An expression that evaluates to VDB.APattern object
number
A numeric expression specifying the style of line used to draw hatch, as described in Settings
Settings
Use the Microsoft Windows operating environment pen style scheme. The settings for number defining line style are:
PS_SOLID
0
solid line
----------
PS_DASH
1
dashed line
- - - - - -
PS_DOT
2
dotted line
.............
PS_DASHDOT
3
dash-dotted line
-.-.-.-.-.-
PS_DASHDOTDOT
4
dash-double-dotted line
-..-..-..-..
PS_NULL
5
without line
Remarks
Use PS_NULL pen style to draw invisible lines.
- LineWidth
Returns or sets a hatch line width expressed in units established for a whole drawing.
Syntax:
Pattern.LineWidth [= number]
Pattern
An expression that evaluates to VDB.APattern object.
number
A numeric expression specifying the width of line used to draw a hatch.
Remarks
The number expression has to be non-negative value.