Real_Bastard 0 22 июня, 2015 Опубликовано 22 июня, 2015 · Жалоба Создаю новую библиотеку. Копирую компоненты из разных библиотек. При этом в свойствах компонента остается информация о родительской библиотеке- SOURCE LIBRARY NAME .Его видно в тексте файла, и оно лезет при попытке добавления посадочного места. И пусть бы лезло, но при этом, при вставлении компонента на схему у него пустой designe item ID и footprint не находится. Вот пример https://yadi.sk/d/WM6XO07ZhQBxq Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VladislavS 29 23 июня, 2015 Опубликовано 23 июня, 2015 · Жалоба До чего не добраться руками - можно скриптами попробовать. Как-то баловался с именем библиотеки 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; Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Real_Bastard 0 24 июня, 2015 Опубликовано 24 июня, 2015 · Жалоба Паскаль?...! Т.е. слухи о связи Альтиума с Дельфи это не слухи?)) Скрипты...не, пока не готов. До за идею спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AnnSchr 0 9 июля, 2015 Опубликовано 9 июля, 2015 · Жалоба У меня похожая проблема в PCB. На плате надо перевести ссылки на новую библиотеку. Обновление со схемы сделала. На вид вижу, что элементы уже из новой биб-ки. А ссылка старая (графа Library описания футпринта). В отчете Bill of materials показывает новую библиотеку. Думаю - вдруг потом при корректировке будут проблемы, будут как-то не так обновляться при последующих изменения библ-ки. Неохота каждый элемент тыкать и переназначать библ-ку. Косяк Альтиума? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Real_Bastard 0 27 августа, 2015 Опубликовано 27 августа, 2015 (изменено) · Жалоба В общем вот так можно менять и смотреть параметры в 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. Изменено 27 августа, 2015 пользователем Real_Bastard Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
musa 11 27 августа, 2015 Опубликовано 27 августа, 2015 · Жалоба слухи о связи Альтиума с Дельфи это не слухи? На самом деле он написан на делфи и это не секрет и не слухи. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться