EKL - Place symbol in schematic view

Context:

Users can customize the schematics applications using EKL. One example of such customization is creating accelerators for repetitive tasks that require many user inputs.

  • In this context, this function will provide the capability to create a symbol on a diagram from EKL
  • The object must be already there in the system (Log Reference tree)
  • The new EKL function “PlaceSchSymbolFromInstance”
  • Rule working mode : "All Occurence Objects Navigation"
     

Code:

// Rule purpose:
// For each time you selected the Equipment and a View, A symbol has been placed.
// Eqt1.1 is placed with the default symbol at the position 0, 0.
// Eqt1.2 is placed with SymbRef2 at the position 50, 70.

// ThisObject -> LogicalOccurence
let eqtRef(EnsLogicalEquipment)
let eqtInst(EnsLogicalEquipmentInst)
set eqtRef = ThisObject.Reference
set eqtInst = ThisObject.Instance
let pathOfInst(List)
pathOfInst.SetItem(eqtInst, 1)
let XPos(real)
set XPos = 0
let YPos(real)
set YPos = 0
let symbolName(string)

if(NULL <> eqtRef and NULL <> eqtInst)
{
    let eqtName(string)
    set eqtName = eqtInst.Name
    if(eqtName == "Eqt1.2")
    {
        set XPos = 50
        set YPos = 70
        set symbolName = "SymbRef2"
    }

    let viewInst(DIFViewInstance)
    let sheet(DifSheet)
    GetSchActiveSheetAndView(sheet, viewInst)
    PlaceSchSymbolFromInstance(pathOfInst, viewInst, XPos, YPos, symbolName) 
}