Необходимо в программе на DelphiScript извлечь из файла .PcbDoc список элементов и их атрибутов,
т.е. то, что Altium показывает в Report->Bill of Materials (BOM) с выставленным флажком Include Parameters from Database
Список элементов получить легко:
Код
Var
PCBBoard : IPCB_Board;
PcbObj : IPCB_Component;
PcbIterator : IPCB_BoardIterator;
PcbObjPi : IPCB_Iterator;
Begin
PCBBoard := PCBServer.GetCurrentPCBBoard;
If PCBBoard = Nil Then exit;
PcbIterator := PCBBoard.BoardIterator_Create;
PcbIterator.AddFilter_ObjectSet(MkSet(eComponentObject));
PcbIterator.AddFilter_LayerSet(AllLayers);
PcbIterator.AddFilter_Method(eProcessAll);
PcbObj := PcbIterator.FirstPCBObject;
While PcbObj <> Nil Do
Begin
{
PcbObj - элемент, как получить его атрибуты ?
}
PcbObj := PcbIterator.NextPCBObject;
End;
PCBBoard.BoardIterator_Destroy(PcbIterator);
end;
PCBBoard : IPCB_Board;
PcbObj : IPCB_Component;
PcbIterator : IPCB_BoardIterator;
PcbObjPi : IPCB_Iterator;
Begin
PCBBoard := PCBServer.GetCurrentPCBBoard;
If PCBBoard = Nil Then exit;
PcbIterator := PCBBoard.BoardIterator_Create;
PcbIterator.AddFilter_ObjectSet(MkSet(eComponentObject));
PcbIterator.AddFilter_LayerSet(AllLayers);
PcbIterator.AddFilter_Method(eProcessAll);
PcbObj := PcbIterator.FirstPCBObject;
While PcbObj <> Nil Do
Begin
{
PcbObj - элемент, как получить его атрибуты ?
}
PcbObj := PcbIterator.NextPCBObject;
End;
PCBBoard.BoardIterator_Destroy(PcbIterator);
end;
PCB API Reference читаю, не помогает.
Как получить атрибуты элементов ?