Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Сбой при вызове скрипта
Форум разработчиков электроники ELECTRONIX.ru > Печатные платы (PCB) > Разрабатываем ПП в САПР - PCB development > Altium Designer, DXP, Protel
Jeca
Добрый день! Помогите, пожалуйста. Написал скрипт который меняет местами элементы на плате. Но после вызова скрипта происходит сбой Altium`a. В чем может быть дело? Скрипты раньше не писал.

Код
Procedure ChangeComponent;
Var
   Board : IPCB_Board;
   Comp1, Comp2 : IPCB_Component;
   X, Y : TCoord;
Begin
   Board := PCBServer.GetCurrentPCBBoard;
   If Board = Nil Then Exit;

    Comp1 := Board.GetObjectAtCursor(MkSet(eComponentObject),
      AllLayers, 'Choose Component1');

    Comp2 := Board.GetObjectAtCursor(MkSet(eComponentObject),
      AllLayers, 'Choose Component2');

  //PCBServer.PreProcess;

  PCBServer.SendMessageToRobots(Comp1.I_ObjectAddress, c_Broadcast,
    PCBM_BeginModify, c_NoEventData);
  PCBServer.SendMessageToRobots(Comp2.I_ObjectAddress, c_Broadcast,
    PCBM_BeginModify, c_NoEventData);

   X := Comp1.x;
   Y := Comp1.y;

   Comp1.x := Comp2.x;
   Comp1.y := Comp2.y;

   Comp2.x := X;
   Comp2.y := Y;

   PCBServer.SendMessageToRobots(Comp1.I_ObjectAddress, c_Broadcast,
     PCBM_EndModify, c_NoEventData);
   PCBServer.SendMessageToRobots(Comp2.I_ObjectAddress, c_Broadcast,
     PCBM_EndModify, c_NoEventData);

   //PCBServer.PostProcess;

End;
peshkoff
Попробовал запустить, вроде все работает.

Если необходимо выяснить, где происходит ошибка, запускайте программу в режиме отладки.
Нужно поставить break point. вот так:


Для этого щелкнуть мышью в месте, где крестик белый в красном кружочке.

затем перейти в pcb и запустить в программу.
процесс перебросит вас в код, здесь жмем F8 и пошагово проверяем как работает код.
Jeca
Спасибо за помощь! Оказалось, что сбой происходил при установленной online проверке правила Component Clearence в Design Rule Check.
peshkoff
У меня DRC включен постоянно и эта проверка тоже. Но все работает, так что дело в чем то другом...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.