EKL - Instantiate, Create, retreive Annotations

Context:

EKL functions for annotations :

  • Instantiate Text/Table/Label Templates with EKL in View and DifView.
  • Create Text/Table/Label with EKL in View and DifView.
  • Retrieve list of Annotations in View and DifView.

 

Code :

//=======================
// Example of Knowledge code
//=======================

Let RefLabel (DrwObject)
set RefLabel=Sheet.1\View.1\DrwDressUp.1\Label.4
Let myView(DrwObject)
Set myView=Sheet.1\View.1
Let coordX(Real)
Set coordX=600
Let coordY(Real)
Set coordY=500

// Instantiate a Label
//===============
Let NewLabelInst(DrwObject)
myView->InstantiateAnnTemplate(RefLabel, coordX, coordY, NewLabelInst)

// Create a Text
//===========
Let Text(String)
Set Text="Hello"
Let NewText(DrwObject)
myView->CreateAnnText(coordX, coordY, Text, NewText)

//Create a Table
//===========
Let nbRows(Integer)
Set nbRows = 5
Let nbColumns(Integer)
Set nbColumns = 8
Let cellW(Real)
Set cellW=0.7
Let cellH(Real)
Set cellH=0.7
Let NewTable(DrwObject)
myView->CreateAnnTable(coordX, coordY, nbRows, nbColumns, cellW, cellH, NewTable)

// Create Label 
// ==========
// (Label can be created either from another Label or a detail)
Let myCompRef(DrwObject)
Set myCompRef=`Sheet.2 (Detail)\2D Component.1`
Let NewLabel(DrwObject)
myView->CreateAnnLabel( myRef, coordX, coordY, NewInst)

// Retrieve list of annotations
//======================
Let ListAnnots(List)
myView->GetViewAnnotations(ListAnnots)

let size(Integer)
size=ListAnnots->Size()
let i(Integer)
let myAnnot(DrwObject)
For i while i<=size
{
   set myAnnot=ListAnnots->GetItem(i)
   message("scanning annotations in view")
}

 

Test Data :