|
|
  |
Написание Скриптов для Altium, Вопросы и проблемы при написании скриптов. |
|
|
|
Nov 18 2007, 12:34
|
Частый гость
 
Группа: Свой
Сообщений: 144
Регистрация: 15-01-06
Пользователь №: 13 198

|
В продолжение темы Оформление обозначений Микросхем по ГОСТЦитата(Gennaj @ Nov 14 2007, 11:41)  [SCIP] Решил написать скрипт по образу вашего. {На дельфи никогда не писал, но это не важно ...} 1. Скрипт для помещения на поле чертежа (Обычно лист A3..A1) перечня элементов по ЕСКД Идея следующая: 1. Получаем размеры листа. 2. Определяем количество и типы компонентов, если что не понятно выводим запрос. 3. Строим перечень в виде, прямоугольников, внутри которых забит необходимый текст Пример готового файла я приложил. Да, условие - обратите внимание у всех элементов на ехеме есть параметр "ТУ" там забит децимальный номер для заказа элемента. Информацию по написанию беру из документа "TR0139 Scematic API Reference.pdf" "Извините тем наплодил - инет очень сильно тормозит"
--------------------
Мир - это забавная штуковина, которая вертится вокруг нас.
|
|
|
|
|
Nov 18 2007, 12:39
|

Любитель Кошек
    
Группа: Свой
Сообщений: 1 593
Регистрация: 8-06-06
Пользователь №: 17 873

|
Цитата(Visuvius @ Nov 18 2007, 15:34)  В продолжение темы Оформление обозначений Микросхем по ГОСТРешил написать скрипт по образу вашего. {На дельфи никогда не писал, но это не важно ...} 1. Скрипт для помещения на поле чертежа (Обычно лист A3..A1) перечня элементов по ЕСКД Идея следующая: 1. Получаем размеры листа. 2. Определяем количество и типы компонентов, если что не понятно выводим запрос. 3. Строим перечень в виде, прямоугольников, внутри которых забит необходимый текст Пример готового файла я приложил. Да, условие - обратите внимание у всех элементов на ехеме есть параметр "ТУ" там забит децимальный номер для заказа элемента. Информацию по написанию беру из документа "TR0139 Scematic API Reference.pdf" "Извините тем наплодил - инет очень сильно тормозит" Между прочим это уже третий пост с одним вопросом, а прикрепленного файла нет. Вместо того чтобы размножать пост, воспользуйтесь его редактированием.
--------------------
По современному этикету, в левой руке держат вилку, в правой - мышку.
|
|
|
|
|
Nov 20 2007, 07:39
|
Местный
  
Группа: Свой
Сообщений: 328
Регистрация: 15-08-06
Из: Севастополь
Пользователь №: 19 562

|
Цитата(Visuvius @ Nov 18 2007, 15:34)  В продолжение темы Оформление обозначений Микросхем по ГОСТРешил написать скрипт по образу вашего. 1. Скрипт для помещения на поле чертежа (Обычно лист A3..A1) перечня элементов по ЕСКД Пример готового файла я приложил. Дык... А где файл-то? И какие проблемы возникли при его написании? А то в теме указано "проблемы", а вопросов-то и нет  Может быть, Вы после выбора файла кнопкой "Обзор" забываете перед отправлением поста нажать кнопку "Добавить файл"? И поэтому пост улетает без прикрепления? Что касается перечня элементов, то мы решили эту проблему другим способом. У нас перечень идет в отдельном файле (схемы очень большие, на листе разместить невозможно). Я сделал шаблон в Excel, в который Альтиум передает перечень элементов. В шаблоне я написал макрос, который по нажатию кнопочки преобразует этот перечень к виду, соответствующему ГОСТ. Остается только скопировать этот текст и переместить его в форматку Word. Там выполняем минимум редактирования (наводим красоту), и перечень готов.
Сообщение отредактировал Gennaj - Nov 20 2007, 07:42
|
|
|
|
|
Nov 22 2007, 07:36
|
Местный
  
Группа: Свой
Сообщений: 328
Регистрация: 15-08-06
Из: Севастополь
Пользователь №: 19 562

|
Цитата(bsp @ Nov 20 2007, 16:08)  Возможно получить у Вас шаблон и макрос для Excel, тогда я попробую сделать что-то похожее для Orcad и нашего вида перечня. Я сейчас подал запрос о зачислении в Свои. Как ответят - залью на FTP оба шаблона - и Excel с макросом и Word с форматкой и выдержки из моей "методички" про заполнение полей свойств.
Сообщение отредактировал Gennaj - Nov 22 2007, 07:38
|
|
|
|
|
Nov 23 2007, 08:33
|
Местный
  
Группа: Свой
Сообщений: 328
Регистрация: 15-08-06
Из: Севастополь
Пользователь №: 19 562

|
Цитата(Vokchap @ Nov 22 2007, 21:48)  Дык не здесь ходатайствовать надо, а где заявки в "Свои" подают. Там место для петиций. Идем хором голосовать. Я первый. Явка обязательна.  Злостный оффтоп, я не виноват ... Спасибо! С такой характеристикой раньше в партию принимали А теперь серьезный вопрос: что-то я не пойму, в какую папку поместить на ftp архив, в котором будет: шаблон excel с макросом для обработки перечня, шаблон word (просто форматка по ГОСТ с тремя листами) и "методичку по Altium", которую я писал для наших разработчиков? Вроде бы документация, но вместе с программой (макросом)... И все должно быть в одном месте, иначе будет путаница... Еще вопрос - в правилах обращения с ftp указано, что желательно сопровождать файл комментарием readme. Если я кладу архив, то коментарий прятать в архив, или класть отдельно от него???
|
|
|
|
|
Nov 23 2007, 11:47
|
Местный
  
Группа: Свой
Сообщений: 328
Регистрация: 15-08-06
Из: Севастополь
Пользователь №: 19 562

|
Вроде разобрался с ftp Выложил здесь: ftp://ftp.electronix.ru/upload/PCB/Altium/файл BOM_GOST_and_metodichka.rar
|
|
|
|
|
Nov 23 2007, 22:06
|
Частый гость
 
Группа: Свой
Сообщений: 144
Регистрация: 15-01-06
Пользователь №: 13 198

|
Цитата(Gennaj @ Nov 20 2007, 10:39)  Дык... А где файл-то? И какие проблемы возникли при его написании? А то в теме указано "проблемы", а вопросов-то и нет  Может быть, Вы после выбора файла кнопкой "Обзор" забываете перед отправлением поста нажать кнопку "Добавить файл"? И поэтому пост улетает без прикрепления? Всё очень просто, сначала необратил внимания на размер файла, а потом меня достаточно мгновенно забанили (после 3го сообщения). Вообщем выкладываю. Это пример оформления, которое требуется получить:
_32.556.010.RAR ( 94.64 килобайт )
Кол-во скачиваний: 586Цитата Что касается перечня элементов, то мы решили эту проблему другим способом. У нас перечень идет в отдельном файле (схемы очень большие, на листе разместить невозможно). Я сделал шаблон в Excel, в который Альтиум передает перечень элементов. В шаблоне я написал макрос, который по нажатию кнопочки преобразует этот перечень к виду, соответствующему ГОСТ. Остается только скопировать этот текст и переместить его в форматку Word. Там выполняем минимум редактирования (наводим красоту), и перечень готов.  Черезе Exel эту проблемуя решил аналогичным образом, пользуюсь очень доволен. Но достаточно часто, особенно во время переработки старых схем требуется разместить перечень в поле чертежа. Да и для монтажа при единичных, опытных сборках достаточно удобно и перечень никуда не теряется. На всякий случай выкладываю форматки А1-А4 и Exel шаблон. Шаблон сделан немного хитро. В каждом библиотечном элементе есть параметр "ТУ" и "Value" они обязательно должны быть задействованы при формировании перечня. В итоге перечень будет записан точно по ЕСКД. (Если конечно элементы созданы логично)
Template_for_Altium.rar ( 16.8 килобайт )
Кол-во скачиваний: 542Ну, а теперь делаю ещё один шаг и повисаю. При написании скрипта завис в самом начале (То, что написал пока выкладывать не буду ибо пока ещё стыдно). Завис на получении размеров листа. Пытаюсь пользоваться функцией GetState_SheetSizeX и GetState_SheetSizeY; примерно так : Var max_x, max_y: TCoord; Begin max_x := GetState_SheetSizeX; max_y := GetState_SheetSizeY; Получаю ошибку Undeclared identifier GetState_SheetSizeX
--------------------
Мир - это забавная штуковина, которая вертится вокруг нас.
|
|
|
|
|
Nov 26 2007, 07:51
|
Местный
  
Группа: Свой
Сообщений: 328
Регистрация: 15-08-06
Из: Севастополь
Пользователь №: 19 562

|
Цитата(Visuvius @ Nov 24 2007, 00:06)  Вообщем выкладываю. Это пример оформления, которое требуется получить... Мне кажется, что поля свойств заполнены не оптимально. Плюс, есть очепятки  Поясняю: на мой взгляд, лучше всего, когда ВСЕ данные, которые должны попасть в перечень, содержаться в схеме. У Вас же, напримре, параметр "точность" (например, 5%), берется непонятно откуда. Плюс, например, резистор R34 в перечне и на схеме имеет разную мощность. Можно, конечно, не указывать в схеме всех параметров, которые должны попасть в перечень. Но тогда программа, составляющая перечень должна будет обращаться к какой-то базе данных, в которой она будет брать дополнительную информацию. Мне кажется, что лучше, все-таки, абсолютно всю информацию помещать в поля элементов на схеме. Посмотрите, как стандартизовано заполнение полей свойст элементов у нас в организации - ftp://ftp.electronix.ru/upload/PCB/Altium..._metodichka.rarВообще, похоже, надо будет эту методичку немного подкорректировать и выложить на общий доступ в теме "Специально для новичков". Цитата(Visuvius @ Nov 24 2007, 00:06)  Завис на получении размеров листа. Пытаюсь пользоваться функцией GetState_SheetSizeX и GetState_SheetSizeY; примерно так : Var max_x, max_y: TCoord;
Begin max_x := GetState_SheetSizeX; max_y := GetState_SheetSizeY; Получаю ошибку Undeclared identifier GetState_SheetSizeX Ошибка в том, что Вы пытаетесь использовать функцию получения размеров листа, не указывая, к какому объекту она должна быть применена. Для начала Вам необходимо организовать переменную типа ISCH_Document и присвоить ей значение "текущий лист". А вот потом уже можно с этим листом работать. Таким образом, чтобы получить размеры листа, необходимо сделать, например, так, как в приложенном файле. Здесь текст не выкладываю, так как я там включил комментарии на русском языке, и они, почему-то, отказались нормально здесь отображаться  Кстати, я, почему-то не нашел среди свойств и методов объекта ISCH_Document функций GetState_SheetSizeX и GetState_SheetSizeY. Как Вы планируете строить перечень дальше? Программа должна будет полностью нарисовать таблицу, или таблица будет в шаблоне, а программа будеть только размещать текст в нужных местах. P.S. Да, я не вполне понял насчет Вашего экселевского перечня. Как вы группируете компоненты? У нас группировку выполняет макрос в экселе, а у Вас, похоже, никакого макроса нет...
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|