[Ample/Layout] 선택된 부품(들)을 placement grid 위에 놓이도록 이동 / part snap to grid

Version 1

    Layout에서 선택된 부품의 위치정보를 읽어 간단한 연산을 통해 placement grid위에 놓이도록 이동시키는 예제입니다.

     

    원활한 위치 이동을 위해 Ample script 내에 automatic check 를 off 시킨 상태로 이동시키고, 모든 부품을 이동한 후에는 automatic check를 이전의 상태로 되돌립니다.

    그리고, 선택된 부품들의 좌표 변화를 transcript에 출력하도록 꾸며 보았습니다.

     

    Layout으로 PCB도면을 열고, PCB설계화면이 활성화된 상태로 F11키를 눌러 "dofile <파일의 위치>"를 입력하여 실행합니다. 선택된 부품이 있을 때에만 동작합니다.

     

    실행 예 - placement grid가 0.1로 셋팅되어 있는 상태에서 실행)

    //  Note: Placement Grid is set to 0.1

    //  Note: Validity checking is OFF (from: Idea/LAYOUT/PLACEMENT 2F)

    //    C699 : (1.6605,5.191) -> (1.7,5.2)

    //    Q538 : (1.7875,5.1775) -> (1.8,5.2)

    //    R704 : (1.645,5.135) -> (1.6,5.1)

    //    R705 : (1.703,5.191) -> (1.7,5.2)

    //    U12 : (2.5,4.5) -> (2.5,4.5)

    //  Note: Validity checking is ON (from: Idea/LAYOUT/PLACEMENT 30)

     

    //==========================================================================

    // 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.

    //==========================================================================