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

 
 
 
Reply to this topicStart new topic
> Написание Скриптов для Altium, Вопросы и проблемы при написании скриптов.
Visuvius
сообщение Nov 18 2007, 12:34
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 144
Регистрация: 15-01-06
Пользователь №: 13 198



В продолжение темы Оформление обозначений Микросхем по ГОСТ

Цитата(Gennaj @ Nov 14 2007, 11:41) *
[SCIP]


Решил написать скрипт по образу вашего.
{На дельфи никогда не писал, но это не важно ...}
1. Скрипт для помещения на поле чертежа (Обычно лист A3..A1) перечня элементов по ЕСКД

Идея следующая:
1. Получаем размеры листа.
2. Определяем количество и типы компонентов, если что не понятно выводим запрос.
3. Строим перечень в виде, прямоугольников, внутри которых забит необходимый текст
Пример готового файла я приложил.
Да, условие - обратите внимание у всех элементов на ехеме есть параметр "ТУ" там забит децимальный номер для заказа элемента.

Информацию по написанию беру из документа "TR0139 Scematic API Reference.pdf"

"Извините тем наплодил - инет очень сильно тормозит"


--------------------
Мир - это забавная штуковина, которая вертится вокруг нас.
Go to the top of the page
 
+Quote Post
tyro
сообщение Nov 18 2007, 12:39
Сообщение #2


Любитель Кошек
*****

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



Цитата(Visuvius @ Nov 18 2007, 15:34) *
В продолжение темы Оформление обозначений Микросхем по ГОСТ



Решил написать скрипт по образу вашего.
{На дельфи никогда не писал, но это не важно ...}
1. Скрипт для помещения на поле чертежа (Обычно лист A3..A1) перечня элементов по ЕСКД

Идея следующая:
1. Получаем размеры листа.
2. Определяем количество и типы компонентов, если что не понятно выводим запрос.
3. Строим перечень в виде, прямоугольников, внутри которых забит необходимый текст
Пример готового файла я приложил.
Да, условие - обратите внимание у всех элементов на ехеме есть параметр "ТУ" там забит децимальный номер для заказа элемента.

Информацию по написанию беру из документа "TR0139 Scematic API Reference.pdf"

"Извините тем наплодил - инет очень сильно тормозит"

Между прочим это уже третий пост с одним вопросом, а прикрепленного файла нет. Вместо того чтобы размножать пост, воспользуйтесь его редактированием.


--------------------
По современному этикету, в левой руке держат вилку, в правой - мышку.
Go to the top of the page
 
+Quote Post
Gennaj
сообщение Nov 20 2007, 07:39
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 328
Регистрация: 15-08-06
Из: Севастополь
Пользователь №: 19 562



Цитата(Visuvius @ Nov 18 2007, 15:34) *
В продолжение темы Оформление обозначений Микросхем по ГОСТ
Решил написать скрипт по образу вашего.

1. Скрипт для помещения на поле чертежа (Обычно лист A3..A1) перечня элементов по ЕСКД

Пример готового файла я приложил.


Дык... А где файл-то? И какие проблемы возникли при его написании? А то в теме указано "проблемы", а вопросов-то и нет sad.gif
Может быть, Вы после выбора файла кнопкой "Обзор" забываете перед отправлением поста нажать кнопку "Добавить файл"? И поэтому пост улетает без прикрепления?


Что касается перечня элементов, то мы решили эту проблему другим способом.
У нас перечень идет в отдельном файле (схемы очень большие, на листе разместить невозможно).
Я сделал шаблон в Excel, в который Альтиум передает перечень элементов. В шаблоне я написал макрос, который по нажатию кнопочки преобразует этот перечень к виду, соответствующему ГОСТ. Остается только скопировать этот текст и переместить его в форматку Word. Там выполняем минимум редактирования (наводим красоту), и перечень готов.
smile.gif

Сообщение отредактировал Gennaj - Nov 20 2007, 07:42
Go to the top of the page
 
+Quote Post
bsp
сообщение Nov 20 2007, 14:08
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 339
Регистрация: 27-08-05
Пользователь №: 8 013



Возможно получить у Вас шаблон и макрос для Excel, тогда я попробую сделать что-то похожее для Orcad и нашего вида перечня.
Go to the top of the page
 
+Quote Post
Gennaj
сообщение Nov 22 2007, 07:36
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 328
Регистрация: 15-08-06
Из: Севастополь
Пользователь №: 19 562



Цитата(bsp @ Nov 20 2007, 16:08) *
Возможно получить у Вас шаблон и макрос для Excel, тогда я попробую сделать что-то похожее для Orcad и нашего вида перечня.

Я сейчас подал запрос о зачислении в Свои. Как ответят - залью на FTP оба шаблона - и Excel с макросом и Word с форматкой и выдержки из моей "методички" про заполнение полей свойств.

Сообщение отредактировал Gennaj - Nov 22 2007, 07:38
Go to the top of the page
 
+Quote Post
Владимир
сообщение Nov 22 2007, 16:30
Сообщение #6


Гуру
******

Группа: Модераторы
Сообщений: 11 653
Регистрация: 25-03-05
Из: Минск
Пользователь №: 3 671



Цитата(Gennaj @ Nov 22 2007, 09:36) *
Я сейчас подал запрос о зачислении в Свои. Как ответят - залью на FTP оба шаблона - и Excel с макросом и Word с форматкой и выдержки из моей "методички" про заполнение полей свойств.

Ходатойствую о зачислении
Go to the top of the page
 
+Quote Post
Vokchap
сообщение Nov 22 2007, 19:48
Сообщение #7


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

Группа: Админы
Сообщений: 1 884
Регистрация: 15-07-06
Из: Новосибирск, Россия
Пользователь №: 18 835



Дык не здесь ходатайствовать надо, а где заявки в "Свои" подают. Там место для петиций.
Идем хором голосовать. Я первый. Явка обязательна. wink.gif
Злостный оффтоп, я не виноват ...
Go to the top of the page
 
+Quote Post
Gennaj
сообщение Nov 23 2007, 08:33
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 328
Регистрация: 15-08-06
Из: Севастополь
Пользователь №: 19 562



Цитата(Vokchap @ Nov 22 2007, 21:48) *
Дык не здесь ходатайствовать надо, а где заявки в "Свои" подают. Там место для петиций.
Идем хором голосовать. Я первый. Явка обязательна. wink.gif
Злостный оффтоп, я не виноват ...


Спасибо! С такой характеристикой раньше в партию принимали lol.gif

А теперь серьезный вопрос: что-то я не пойму, в какую папку поместить на ftp архив, в котором будет: шаблон excel с макросом для обработки перечня, шаблон word (просто форматка по ГОСТ с тремя листами) и "методичку по Altium", которую я писал для наших разработчиков?
Вроде бы документация, но вместе с программой (макросом)... И все должно быть в одном месте, иначе будет путаница...
Еще вопрос - в правилах обращения с ftp указано, что желательно сопровождать файл комментарием readme. Если я кладу архив, то коментарий прятать в архив, или класть отдельно от него???
Go to the top of the page
 
+Quote Post
Gennaj
сообщение Nov 23 2007, 11:47
Сообщение #9


Местный
***

Группа: Свой
Сообщений: 328
Регистрация: 15-08-06
Из: Севастополь
Пользователь №: 19 562



Вроде разобрался с ftp
Выложил здесь:
ftp://ftp.electronix.ru/upload/PCB/Altium/
файл BOM_GOST_and_metodichka.rar
Go to the top of the page
 
+Quote Post
Visuvius
сообщение Nov 23 2007, 22:06
Сообщение #10


Частый гость
**

Группа: Свой
Сообщений: 144
Регистрация: 15-01-06
Пользователь №: 13 198



Цитата(Gennaj @ Nov 20 2007, 10:39) *
Дык... А где файл-то? И какие проблемы возникли при его написании? А то в теме указано "проблемы", а вопросов-то и нет sad.gif

Может быть, Вы после выбора файла кнопкой "Обзор" забываете перед отправлением поста нажать кнопку "Добавить файл"? И поэтому пост улетает без прикрепления?


Всё очень просто, сначала необратил внимания на размер файла, а потом меня достаточно мгновенно забанили (после 3го сообщения).
Вообщем выкладываю. Это пример оформления, которое требуется получить:
Прикрепленный файл  _32.556.010.RAR ( 94.64 килобайт ) Кол-во скачиваний: 586



Цитата
Что касается перечня элементов, то мы решили эту проблему другим способом.
У нас перечень идет в отдельном файле (схемы очень большие, на листе разместить невозможно).
Я сделал шаблон в Excel, в который Альтиум передает перечень элементов. В шаблоне я написал макрос, который по нажатию кнопочки преобразует этот перечень к виду, соответствующему ГОСТ. Остается только скопировать этот текст и переместить его в форматку Word. Там выполняем минимум редактирования (наводим красоту), и перечень готов.
smile.gif

Черезе 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


--------------------
Мир - это забавная штуковина, которая вертится вокруг нас.
Go to the top of the page
 
+Quote Post
Gennaj
сообщение Nov 26 2007, 07:51
Сообщение #11


Местный
***

Группа: Свой
Сообщений: 328
Регистрация: 15-08-06
Из: Севастополь
Пользователь №: 19 562



Цитата(Visuvius @ Nov 24 2007, 00:06) *
Вообщем выкладываю. Это пример оформления, которое требуется получить...

Мне кажется, что поля свойств заполнены не оптимально. Плюс, есть очепятки smile.gif
Поясняю: на мой взгляд, лучше всего, когда ВСЕ данные, которые должны попасть в перечень, содержаться в схеме. У Вас же, напримре, параметр "точность" (например, 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 и присвоить ей значение "текущий лист". А вот потом уже можно с этим листом работать.
Таким образом, чтобы получить размеры листа, необходимо сделать, например, так, как в приложенном файле. Здесь текст не выкладываю, так как я там включил комментарии на русском языке, и они, почему-то, отказались нормально здесь отображаться sad.gif
Кстати, я, почему-то не нашел среди свойств и методов объекта ISCH_Document функций GetState_SheetSizeX и GetState_SheetSizeY.

Как Вы планируете строить перечень дальше?
Программа должна будет полностью нарисовать таблицу, или таблица будет в шаблоне, а программа будеть только размещать текст в нужных местах.

P.S. Да, я не вполне понял насчет Вашего экселевского перечня. Как вы группируете компоненты? У нас группировку выполняет макрос в экселе, а у Вас, похоже, никакого макроса нет...
Прикрепленные файлы
Прикрепленный файл  Sheet_size.rar ( 4.48 килобайт ) Кол-во скачиваний: 110
 
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 16:26
Рейтинг@Mail.ru


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