• [질문] Library Manager 및 Dxdesigner의 Part Number 일괄 전환

    안녕하세요. Library Manager 및 Dxdesigner에 임시로 등록된 Part Number를 정식 코드로의 일괄 전환 작업을 Automation으로 구현하려 합니다. 하나의 임시코드에는 독립적인 정식 코드가 물려있습니다. 아래와 같이 엑셀로 매핑되어 있고요. 엑셀을 한번에 읽을 수 있으면 더 빠른 작업이 가능할 것 같습니다. 도움을 부탁드립니다. Temp Formal...
    bkk.kim
    last modified by bkk.kim
  • [Automation/All] vbscript에서 공용함수를 별도 파일에 보관하고 include 처럼 불러쓰기

    사용하는 script가 많아질 수록 공통으로 사용되는 자신의 함수를 공통 파일로 관리하면 편리합니다.   vbscript에서는 ExecuteGlobal 을 통해 문자열 변수에 보관된 내용을 실행할 수 있습니다. 특히 ExecuteGlobal 명령은 함수(function 또는 sub) 내에서 실행할 경우에 함수 정의가 포함된 내용이 포함되어 있더라도에러가 발생하지 않습니다. &...
    nick_hong
    last modified by nick_hong
  • [Automation/All] vbscript에서 배열(array) 변수 다루기

    Automation에서 자주 활용되는 vbscript 언어는 배열변수의 크기에 변화를 주면서 정보를 저장시킬 수 있습니다.   회로도나 PCB 데이터로부터 부품정보를 하나씩 수집하거나, net 정보, trace 정보를 수집하여 조건에 맞는 것들만 filtering 시키면서 보관하려 할 때에는 특히 몇 개가 수집될 지 미리 예측/결정할 수 없으므로 배열변수의 크기를 늘려가면서 ...
    nick_hong
    last modified by nick_hong
  • [Automation/DxD] DxDesigner에 자신의 custom menu 추가

    ExpeditionPCB에서와 마찬가지로, DxDesigner에도 CommandBars 컬렉션을 사용하여 상단의 메뉴를 추가하거나 삭제할 수 있습니다.   단, DxDesigner는 CommandID 의 개념이 없으므로, built-in되어 있는 메뉴를 ID로 호출할 수 없는 차이가 있습니다.   첨부된 DxDMenu.vbs 는 간단히 DxDesigner의 "She...
    nick_hong
    last modified by nick_hong
  • [Automation/Exp] 디자인에 User Layer 추가 또는 초기화

    ExpeditionPCB에서 특정 user layer에 디자인 정보나 특정 문구를 자동으로 넣도록하는 Automation utility를 작성한다면 user layer를 생성(또는 초기화)하는 작업이 가장 선행되어야 할 것입니다.   첨부된 script를 실행하면 사용자 입력을 받아 PCB 디자인에 user layer를 생성하거나, 이미 존재하는 user layer라면 경고 ...
    nick_hong
    last modified by nick_hong
  • [Automation/DxD] DxDesigner에서 현재 열려 있는 project와 연결된 pcb path 확인

    DxDesigner의 Automation에서 Application.GetProjectData로 얻을 수 있는 ProjectData Object를 통해 project와 관련된 다양한 정보에 접근할 수 있습니다.   한 가지 고려해야 할 점은, DxDesigner에서는 하나의 project에 여러 개의 board를 구성하여 각각 pcb data를 별도로 연결할 수 있습니다. (아...
    nick_hong
    last modified by nick_hong
  • [Automation/Exp] ExpeditionPCB에서 현재 열려 있는 PCB도면과 연결된 project path 확인

    ExpeditionPCB의 Automation에서 Document.Environment 로 얻을 수 있는 Environment Object는 아래와 같이 도면의 환경과 관련된 다양한 property를 갖고 있습니다.     Property Description CentralLibraryFullName Returns the name and path of the C...
    nick_hong
    last modified by nick_hong
  • [Automation/All] vbscript에서 WMI를 이용하여 Windows의 작업(process)에 접근하기

    Microsoft Windows는  WMI 서비스를 이용하여 OS에서 일어나고 있는 작업들에 접근하고 관리할 수 있도록 해 줍니다. * WMI: Windows Management Instrumentation   예를 들어, 현재 OS에서 실행 중인 process들과 상세 정보를 파악하거나, 필요하다면 특정 process를 중지(terminate)시킬 수도 있습니다....
    nick_hong
    last modified by nick_hong
  • Hyperlynx Analog DC 해석 결과를 Excel로 추출하는 방법 문의

    Hyperlynx Analog의 DC 해석 결과를 Excel로 추출하려고 합니다.   DC 해석 결과 회로 내 부품 각각에 걸리는 Voltage가 아래와 같이 Excel Format으로 Reporting이 되게 하려고 합니다.   Component     Pin     Voltage (V) I...
    mooil.chung
    last modified by mooil.chung
  • Expedition 혹은 Dxdesigner의 Menu에 대한 Built in command ID 문의

    안녕하세요. 아래와 같은 script 예제에서 32867이라는 Built in command를 사용했는데요. 메뉴실행을 위한 Command ID를 알고 싶습니다. 아시는 분 계신가요?   -------------------------------------------------------------------------------------------------- Set...
    bkk.kim
    last modified by bkk.kim
  • [Automation/All] Automation script를 실행하는 방법

    Automation script를 실행하는 방법은 근본적으로 internal 방식과 external 방식두 가지가 있습니다.   Internal 방식은 컴퓨터의 프로세스를 공유하기 때문에 처리속도가 매우 빠른 장점이 있지만, 실행하면서 다양한 옵션을 처리하고자 할 때에 argument에 의한 처리를 할 수가 없습니다.   External 방식은 별도의 독립 프로세스...
    nick_hong
    last modified by nick_hong
  • [Automation/DxD] 회로도에 사용된 Reference Designator의 prefix가 library의 정의를 지켰는 지 확인

    DxDesigner에서는 각 부품의 reference 속성을 관리할 때에 원본이 되는 library 정의 값을 기억하고 있는 것을 활용한 것입니다.   Script를 실행하면 회로도의 모든 sheet에 있는 부품들에 현재 주어진 reference designator가 library에서의 prefix정의를 따른 것인 지 확인하여 아래 그림과 같이 결과를 보여줍니다.  ...
    nick_hong
    last modified by nick_hong
  • [Automation/DxD,HLA] 단축키 활용

    HyperLynx Analog에서 Simulation Control단계를 거치지 않고 Simulation을 시작하려면 메뉴에서 Simulation > Simulate > Run 을 선택해야 합니다.   이 방법이 번거롭다면, DxDesginer의 단축키 기능을 이용할 수 있습니다.   예를 들어, Ctrl+K를 단축키로 활용하는 방법을 설명드립니다. 1...
    ryan_chang
    last modified by nick_hong
  • [Automation/DxD] 회로도 부품의 Reference Designator를 일괄 정리

    PCB 설계시 회로도면으로부터 부품을 쉽게 연관짓기 위해 회로도 레벨에서 reference designator를 블럭별로 정의하고자 할 때에 사용할 수 있는 예제입니다.   첨부된 script를 사용하면 숫자를 입력하는 창이 열립니다. 이 창에 숫자를 입력하여 진행하면   회로도에서 선택된 부품이 있을 때 -> 선택된 부품들의 reference designat...
    nick_hong
    last modified by nick_hong
  • [Automation/Exp] Plane Shape를 찾아내어 순차적으로 화면에 표시

    ExpeditionPCB에서 plane shape를 효과적으로 찾아내기 위한 예제입니다.   첨부된 script를 실행하면 Net Name을 입력하는 창이 열립니다. 이 창에 검색할 net name을 입력하여 진행하면 해당 net name이 부여된 plane shape(들)을 찾아내어 하나씩 ExpeditionPCB화면에 Fit View 시켜줍니다.   Docume...
    nick_hong
    last modified by nick_hong
  • [Automation/Exp] ExpeditionPCB에 자신의 custom menu 추가

    PCB Automation에서 제공하는 CommandBars 컬렉션을 사용하여 ExpeditionPCB의 상단에 있는 메뉴를 추가하거나 삭제할 수 있습니다.   ExpeditionPCB에서 제공하는 기존의 메뉴를 삭제하면 기능을 사용하지 못할 수 있으므로, 신중을 기해야 합니다. 자신의 메뉴를 추가하기 위해서는 우선 아래와 같이 CommandBars 컬렉션에 접근해야 합니다...
    nick_hong
    last modified by nick_hong
  • [Automation/All] 공개되어 있는 Automation 관련 자료와 예제 script 위치

    PCB Automation과 관련된 자료와 예제 script는 다양한 경로를 통해 제공되고 있습니다.   - Reference Manual - <Mentor_Install_Path>\docs\pdfdocs\ . pcb_auto_tut.pdf (PCB Automation Tutorial) - 사용된 예제 script는 C:\MentorGraphics\7.9.4EE\d...
    nick_hong
    last modified by nick_hong
  • [알림] 이곳은 Automation과 관련하여 경험했던 내용이나 궁금한 점을 자유롭게 토론하는 공간입니다.

    이곳은 Automation과 관련하여 경험했던 내용이나 궁금한 점을 자유롭게 토론하는 공간입니다.   사소한 사항이라도 궁금하신 점이 있으면 함께 해소해 드릴 수 있도록 노력하겠습니다.   * 질문을 게시하실 때에는 게시글을 작성할 때에 제목 입력란 바로 아래에 있는 "Mark this discussion as a Question"항목을 체크해 주시기 바랍니다.
    nick_hong
    created by nick_hong
  • Automation script를 작성할 때 유용한 vbscript 함수들

    Expedition Enterprise flow에서 vbscript로 Automation code를 작성할 때에 유용한 함수들을 소개합니다.   아래 내용은 Microsoft에서 제공하는 MSDN Library 에서 가져왔습니다. 원본 링크: http://msdn.microsoft.com/en-us/library/aa227640(v=vs.60).aspx   Fu...
    nick_hong
    last modified by nick_hong