реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Altium как удалить SOURCE LIBRARY NAME из описания компонента
Real_Bastard
сообщение Jun 22 2015, 11:42
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 39
Регистрация: 7-11-06
Из: Санкт-Петербург
Пользователь №: 22 041



Создаю новую библиотеку. Копирую компоненты из разных библиотек. При этом в свойствах компонента остается информация о родительской библиотеке- SOURCE LIBRARY NAME .Его видно в тексте файла, и оно лезет при попытке добавления посадочного места. И пусть бы лезло, но при этом, при вставлении компонента на схему у него пустой designe item ID и footprint не находится. Вот пример https://yadi.sk/d/WM6XO07ZhQBxq
Go to the top of the page
 
+Quote Post
VladislavS
сообщение Jun 23 2015, 17:14
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 475
Регистрация: 14-04-05
Из: Москва
Пользователь №: 4 140



До чего не добраться руками - можно скриптами попробовать.
Как-то баловался с именем библиотеки

Код
Procedure SetPcbLib;
Var
   Board : IPCB_Board;
   Component : IPCB_Component;
   Iterator : IPCB_BoardIterator;
Begin
   Board := PCBServer.GetCurrentPCBBoard;
   If Board = Nil Then Exit;

   Iterator := Board.BoardIterator_Create;
   Iterator.AddFilter_ObjectSet(MkSet(eComponentObject));
   Iterator.AddFilter_LayerSet(AllLayers);
   Iterator.AddFilter_Method(eProcessAll);

   Component := Iterator.FirstPCBObject;
   While (Component <> Nil) Do
   Begin
     Component.SetState_SourceFootprintLibrary('RF(MotherBoard).PcbLib');
     Component := Iterator.NextPCBObject;
   End;

   Board.BoardIterator_Destroy(Iterator);

   ShowMessage('Ok!');
End;
Go to the top of the page
 
+Quote Post
Real_Bastard
сообщение Jun 24 2015, 12:42
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 39
Регистрация: 7-11-06
Из: Санкт-Петербург
Пользователь №: 22 041



Паскаль?...! Т.е. слухи о связи Альтиума с Дельфи это не слухи?)) Скрипты...не, пока не готов. До за идею спасибо.
Go to the top of the page
 
+Quote Post
Анна Анна
сообщение Jul 9 2015, 15:05
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 64
Регистрация: 10-01-14
Из: Москва
Пользователь №: 79 969



У меня похожая проблема в PCB.
На плате надо перевести ссылки на новую библиотеку.
Обновление со схемы сделала.
На вид вижу, что элементы уже из новой биб-ки.
А ссылка старая (графа Library описания футпринта). В отчете Bill of materials показывает новую библиотеку.
Думаю - вдруг потом при корректировке будут проблемы, будут как-то не так обновляться при последующих изменения библ-ки.
Неохота каждый элемент тыкать и переназначать библ-ку.

Косяк Альтиума?
Go to the top of the page
 
+Quote Post
Real_Bastard
сообщение Aug 27 2015, 16:39
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 39
Регистрация: 7-11-06
Из: Санкт-Петербург
Пользователь №: 22 041



В общем вот так можно менять и смотреть параметры в SchLib. Даже те, к которым нет доступа (DatabaseTableName и т.п. )
Код
Procedure GenerateReport(Report : TStringList);
Var
    Document : IServerDocument;
Begin
    Report.Insert(0,'Schematic Library Report');
    Report.Insert(1,'------------------------------');
    Report.SaveToFile('D:\LibraryReport.txt');

    Document := Client.OpenDocument('Text','D:\LibraryReport.txt');
    If Document <> Nil Then
        Client.ShowDocument(Document);
End;
{..............................................................................}

{..............................................................................}
Procedure LookInsideALibrary;
Var
    CurrentLib      : ISch_Lib;
    LibraryIterator : ISch_Iterator;
    AnIndex         : Integer;
    i               : integer;
    LibComp         : ISch_Component;
    S               : TDynamicString;
    ReportInfo      : TStringList;
Begin
    If SchServer = Nil Then Exit;
    CurrentLib := SchServer.GetCurrentSchDocument;
    If CurrentLib = Nil Then Exit;

    // check if the document is a schematic library and if not
    // exit.
    If CurrentLib.ObjectID <> eSchLib Then
    Begin
         ShowError('Please open schematic library.');
         Exit;
    End;

    // get the library object for the library iterator.
    LibraryIterator := CurrentLib.SchLibIterator_Create;

    // Note MkSet function to create a set compatible with the
    // Scripting engine since sets not supported.
    LibraryIterator.AddFilter_ObjectSet(MkSet(eSchComponent));

    // Create a TStringList object to store data
    ReportInfo := TStringList.Create;

    // use of Try / Finally / End exception block to
    // trap exceptions and exit gracefully.
    Try
        // find the aliases for the current library component.
        LibComp := LibraryIterator.FirstSchObject;
        While LibComp <> Nil Do
        Begin
            ReportInfo.Add(LibComp.LibReference + ' ' + LibComp.Designator.Text);
            ReportInfo.Add(LibComp.SourceLibraryName);
            ReportInfo.Add(LibComp.DatabaseTableName);
            ReportInfo.Add(LibComp.DatabaseLibraryName);
            ReportInfo.Add(LibComp.CurrentPartID);
            ReportInfo.Add(LibComp.TargetFileName);
            LibComp.DatabaseTableName :='';
            LibComp.SetState_SourceLibraryName :='*';
            ReportInfo.Add('');
            // obtain the next schematic symbol in the library
            LibComp := LibraryIterator.NextSchObject;
        End;
    Finally
        // we are finished fetching symbols of the current library.
        CurrentLib.SchIterator_Destroy(LibraryIterator);
    End;

    GenerateReport(ReportInfo);
    ReportInfo.Free;
End;
{..............................................................................}

{..............................................................................}
End.


Сообщение отредактировал Real_Bastard - Aug 27 2015, 16:41
Go to the top of the page
 
+Quote Post
musa
сообщение Aug 27 2015, 16:45
Сообщение #6


Профессионал
*****

Группа: Свой
Сообщений: 1 033
Регистрация: 26-02-07
Из: Москва
Пользователь №: 25 668



Цитата(Real_Bastard @ Jun 24 2015, 15:42) *
слухи о связи Альтиума с Дельфи это не слухи?


На самом деле он написан на делфи и это не секрет и не слухи.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th July 2025 - 07:25
Рейтинг@Mail.ru


Страница сгенерированна за 0.01442 секунд с 7
ELECTRONIX ©2004-2016