[Automation/Exp] ExpeditionPCB에 자신의 custom menu 추가

Document created by nick_hong on Sep 9, 2013
Version 1Show Document
  • View in full screen mode

PCB Automation에서 제공하는 CommandBars 컬렉션을 사용하여 ExpeditionPCB의 상단에 있는 메뉴를 추가하거나 삭제할 수 있습니다.


ExpeditionPCB에서 제공하는 기존의 메뉴를 삭제하면 기능을 사용하지 못할 수 있으므로, 신중을 기해야 합니다.

자신의 메뉴를 추가하기 위해서는 우선 아래와 같이 CommandBars 컬렉션에 접근해야 합니다.


  Set cmdBars = Gui.CommandBars


ExpeditionPCB 상단의 메뉴에 직접 접근하려면 아래와 같이 menu bar의 이름을 바로 지정할 수도 있습니다.


  Set docMenuBar = Gui.CommandBars("Document Menu Bar")


이제, 자신의 메뉴를 추가하는 구문을 사용합니다.


  Set myMenu = docMenuBar.Controls.Add(cmdControlPopup,,,-1)

  myMenu.Caption = "My Menu"


위의 구문에서는 menu bar에 새로운 항목을 만들어 myMenu라는 새로운 object로 정의했습니다.


이 myMenu object에 control을 추가하고, Command ID 또는 key-in command를 활용하여 기능을 mapping 하면 됩니다.


  Set myCntrls = myMenu.Controls
  Set cmd = myCntrls.Add

  cmd.Caption = "Batch &DRC"
  cmd.OnAction = "32769"

  Set cmd = myCntrls.Add

  cmd.Caption = "View All"
  cmd.OnAction = "za"

  Set cmd = myCntrls.Add
  cmd.Caption = "Run my_script.vbs"
  cmd.OnAction = "run my_script.vbs"


첨부된 my_menu.vbs는 위의 내용을 모두 모은 것으로, ExpeditionPCB에서 실행하면 아래 그림처럼 새로운 메뉴가 생깁니다.




Menu Customize와 관련된 내용은 PCB Automation Reference(expedition_pcb_auto.pdf)의 Chapter 2 Common Application Servers > Customze Menus 에 자세히 소개되어 있으며, 예제 script도 툴 설치와 함께 제공됩니다.






// DISCLAIMER OF WARRANTY:  Unless otherwise agreed in writing,

// Mentor Graphics software and associated files are provided "as is"

// and without warranty.  Mentor Graphics has no obligation to support

// or otherwise maintain software.  Mentor Graphics makes no warranties,

// express or implied with respect to software including any warranty

// of merchantability or fitness for a particular purpose.


// LIMITATION OF LIABILITY: Mentor Graphics is not liable for any property

// damage, personal injury, loss of profits, interruption of business, or for

// any other special, consequential or incidental damages, however caused,

// whether for breach of warranty, contract, tort (including negligence),

// strict liability or otherwise. In no event shall Mentor Graphics'

// liability exceed the amount paid for the product giving rise to the claim.