Перейти к содержанию

Пишется Прога Для Создания Печатных Плат


Рекомендуемые сообщения

Здравствуйте наши спецы и незаменимый паяльник !

Очень много занимаюсь разводкой плат, из программ которые я знаю ничего не удовлетроряет, как-то кривовато они написаны и стоят некоторые из них не по одному килобаксу.

Тут на днях скачал Visual Basic 2008, побаловался и решил написать свою прогу для разводки плат.

Конечно же, возникло несколько вопросов, а именно:

1) Как быстро(без голюнов и задержек) прорисовывать экран, пробовал два варианта первый - прорисовывать на лету, скорость впечатлила, но экран очень сильно моргал, второй вариант - создавал в памяти BitMap, рисовал на нем, потом выводил на экран, в результате моргания исчезли, но скорость заметно упала

Тут подруку попалась книжка по DirectX, почитал про DirectDraw, хотел попробовать напрячь его, но ума не хватило. Может, кто подскажет как им(DirectDraw'ом) пользоваться?

2) Второй вопрос по непосредственно DirectX: побаловался с ним из VB6, вроде работает, но при переносе на 2008'й нифига не работает(инициализация проходит нормально, рендерит тоже нормально, но ничего не рисует)

3) Вопрос номер 3 тоже по DirectX'у, а иммено как сделать тени и сглаживание

Вроде бы все.

Тут прикреплены два проекта 1-DirectX8.1 & VB6;перевод кода на DirectX9.0c & VB2008(2005)

Заранее объявляю благодарность всем, кто поможет в разработке программы, обязательно прога будет бесплатной и выложена на сайте паяльника

Паяльник в руках держать умею, проверенно электроникой®

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

sPrintLayout

Proteus

Multisim

pcad

PS: вы кстате посмотрите VisualBasic2008, там писать эту прогу максимум неделю(с отладкой)

PS: такоё чувство, что програмисты, пишушие эти программы нифига ни чего непонимают в разводке плат

Изменено пользователем 260db

Паяльник в руках держать умею, проверенно электроникой®

Ссылка на комментарий
Поделиться на другие сайты

Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

"pcad" ну о чём же тут говорить.... пкад это же такой мусор, толку от него никакого, ничего не умеет, он вообще не для плат, он для обработки фоток :P:D

а если серьёзно, то пкад это специализированнная прочграмма ля разводки печатных плат, при чём давольно серъёзных. А НЕ понравиться она может разве что своей сложностью.

Я был механик, я есть механик, я буду механик

Ссылка на комментарий
Поделиться на другие сайты

Дело обстоит так:

Допустим нужно нарисовать плату в "в три транзистора" и сохранить 5 разных слоёв в гр.файлы(1-дорожки, 2-разрисовка деталей со стороны дорожек, 3-тоже с обратной стороны, 4 и 5 - слой лака с обеих сторон), печать шилкографией.

Спомощью всех перечисленных программ в часности PCAD "от" и "до" займёт примерно 6-8 часов, а делов то на 5 минут. :lol:

Вот как ни крути, а за 5 минут нивкакую. А прогу написать хочу, а то всякую фигню пишу, а толку нет.

Я согласен что PCAD професиональная прога, на ней хоть материнку разводи, вот только покажите мне человека который один дома материнки разводит в PCAD'е. :huh:

PS: Конечно, может все проги правельные, вот только я неправельный :huh:

Изменено пользователем 260db

Паяльник в руках держать умею, проверенно электроникой®

Ссылка на комментарий
Поделиться на другие сайты

...только я неправельный :huh:

Проги все правИльные...

А в PCAD, подобная работа займет гораздо меньше 5 минут...

Нужно только уметь в нем работать и правильно все настроить.

Если хотите, чтобы жизнь улыбалась вам, подарите ей своё хорошее настроение

Ссылка на комментарий
Поделиться на другие сайты

Света

А в PCAD, подобная работа займет гораздо меньше 5 минут...

Согласен, толко при условиях:

1. при наличии самого PCAD(либо покупать, что дорого, либо искать и качать Trial+keygen, что муторно)

2. при изучении неодного трёхтомника(а на русском вообще ни где, не достать)

3. при наличии немаленкой базы данных(с нужными элементами)

4. без конвертации в нужный вид

В итоге: чтобы эта работа заняла меньше 5 мин, потребуется много времени, денег, терпения и нервов!

Патриот Ваня

Спасибо за ссылку, обязательно посмотрю.

Рылся в инете, нашёл книгу по програмированию DirectX9.0c, правда на C#, но из Visual Studio, так что несложно переписать под Basic

Ссылку увы потерял, но для тех кого заинтересует: ISBN 5-94740-013-8

Паяльник в руках держать умею, проверенно электроникой®

Ссылка на комментарий
Поделиться на другие сайты

Согласен, толко при условиях:

1. при наличии самого PCAD(либо покупать, что дорого, либо искать и качать Trial+keygen, что муторно)

2. при изучении неодного трёхтомника(а на русском вообще ни где, не достать)

3. при наличии немаленкой базы данных(с нужными элементами)

4. без конвертации в нужный вид

В итоге: чтобы эта работа заняла меньше 5 мин, потребуется много времени, денег, терпения и нервов!

"Чукча не читатель, чукча - писатель". Поверьте, юноша, чтобы написать хорошую программу САПР, потребуется гораздо больше времени и материальных средств, чем для того, чтобы изучить тот же P-Cad (описание которого, кстати, есть в и-нете на русском языке - поискать надо!).

Ссылка на комментарий
Поделиться на другие сайты

"Чукча не читатель, чукча - писатель". Поверьте, юноша, чтобы написать хорошую программу САПР, потребуется гораздо больше времени и материальных средств, чем для того, чтобы изучить тот же P-Cad (описание которого, кстати, есть в и-нете на русском языке - поискать надо!).

Я совсем не собираюсь писать прогу, которая будет лучше PCAD, просто хочу написать вообще хоть какую то прогу, самопально изулаю Basic уже больше 4 лет, а вроде бы так ничего толкового не написал, а тут и 2008 установил, там ещё легче. Кстате Basic в расшифровке и переводе звучит как "Ускоренная Среда Разработки Программ"

Да уж куда им... Лохи!

В наше время 80% программ пишется под заказ, и основном на языках высокого уровня(не требующий от прагромиста углублённого зания электрики), поэтому какой программист поподётся, такая и программа.

PS: Кстати PCAD 2001 писали именно на BASIC

Паяльник в руках держать умею, проверенно электроникой®

Ссылка на комментарий
Поделиться на другие сайты

Кстате Basic в расшифровке и переводе звучит как "Ускоренная Среда Разработки Программ"

Кстати, BASIC - сокращение от английского Beginner's All-purpose Symbolic Instruction Code — универсальный код символических инструкций для начинающих.

Если хотите, чтобы жизнь улыбалась вам, подарите ей своё хорошее настроение

Ссылка на комментарий
Поделиться на другие сайты

Эту фразу я взял из перевода MDSN(хелпа) в VB6

А если посмотреть 2008'й, то можно увидеть, что он совсем не для начинающих ;)

Правда сёравно руки бы этим Microsoft'овцам поотрывал!

Наконец-то разобрался, теперь рисует, вот только вершинный буфер "не заводится"

PS: Хочу написать что-то типо Sprint'а, только чтобы сохранял в нужный формат и 3D моделирование было, зачем так пинать?

Изменено пользователем 260db

Паяльник в руках держать умею, проверенно электроникой®

Ссылка на комментарий
Поделиться на другие сайты

Короче, человек упёртый, и хочет достичь цели, это несомненно похвально. Так что, давайте по крайней мере не мешать человеку, и будет совсем хорошо, если ему помочь. Пустьпопытается, что от него и нас убудет ?.. Может и правда сделает что-то круче п-када, ведь пхкадовцы тоже с чего-то начинали.

Я увы в программировании не силён, но может другие учасники, которые более опытны помогут...

Я был механик, я есть механик, я буду механик

Ссылка на комментарий
Поделиться на другие сайты

260db:

Во-первых, использование DirectX для рисования платы - из пушки по воробьям. DirectX это достаточно "низкоуровневый" язык, и рисовать придется на уровне примитивов и треугольников. Гораздо проще использовать GDI или GDI+. Для удаления мерцания выводить в промежуточный битмап и выводить по BitBlt. Ну а чтобы не тормозило, корректно просчитывать регионы отсечения. DirectDraw - это позавчерашний день, забудьте его как страшный сон, современный подход - работать с 3D в ортогональной проекции, результат тот же самый но гораздо удобнее и возможностей больше.

Во-вторых, Visual Basic для проектов типа САПР, это вообще говоря моветон, ибо система медленная и тормознутая, и вообще не для того она :)

В третьих, если стоит задача сделать "рисовалку" это одно, если хочется сделать трассировку печатных плат, да на много слоев - тады ой, это работа не на один человеко-год, с достаточно сложными алгоритмами, и "на коленке" такое просто не сделать. Хотя развести схему из 3х транзисторов оно может и сможет, но на более сложном просто заткнется.

Для сглаживания в DirectX можно просто попробовать поменять режимы вывода текстур, хотя для 2D-графики наоборот лучше его отключить и поставить ортогональную проекцию, дабы минимизировать искажения. Кстати чтобы текстуры выводились без замыливания, их размер должен быть кратен степени двойки.

Изменено пользователем DVE
Ссылка на комментарий
Поделиться на другие сайты

А какой формат Вам нужен?

Мне нужно 5 графических файлов для печати шелкографией.

Во-первых, использование DirectX для рисования платы - из пушки по воробьям.

DirectX нужен мне для рисования 3-мерной картинки

Для удаления мерцания выводить в промежуточный битмап и выводить по BitBlt

Так и делал, начинает сильно тормозить

DirectDraw - это позавчерашний день, забудьте его как страшный сон

Согласен, но он имеет доступ к видео памяти на прямую

Во-вторых, Visual Basic для проектов типа САПР, это вообще говоря моветон, ибо система медленная и тормознутая, и вообще не для того она

Ну, P-Cad 2001 как-то же написали на VB6 и ничего, работало...

В третьих, если стоит задача сделать "рисовалку" это одно, если хочется сделать трассировку печатных плат, да на много слоев - тады ой, это работа не на один человеко-год, с достаточно сложными алгоритмами, и "на коленке" такое просто не сделать. Хотя развести схему из 3х транзисторов оно может и сможет, но на более сложном просто заткнется.

Вот как раз и рисовалка мне нужна

Гораздо проще использовать GDI или GDI+.

Я использую функции framework'а

Изменено пользователем 260db

Паяльник в руках держать умею, проверенно электроникой®

Ссылка на комментарий
Поделиться на другие сайты

Вот пока что получается(екзешник прилагается)

Щас вроде не моргает, кстате для запуска нужно как минимум framework 2.0

PS: Реализованно альфа-смешивание, сглаживание и маштабирование(пока задаётся константой в программе).

Вот с другим маштабом(для тех у кого маленькое разрешение экрана)

Вот:

теперь маштаб работает как в спринте(колёсиком)

Ещё вот еле как отрыл примерчик ипользования DirectX9.0c на Visual Basic 2005/2008

Изменено пользователем 260db

Паяльник в руках держать умею, проверенно электроникой®

Ссылка на комментарий
Поделиться на другие сайты

Мне нужно 5 графических файлов для печати шелкографией.

В Proteus при экспорте файла печатки в битмап можно указать какие слои экспортировать а какие нет, так что возможно, эта задача решается в три клика :)

>> Для удаления мерцания выводить в промежуточный битмап и выводить по BitBlt

Так и делал, начинает сильно тормозить

Вообще не должно. Размер картинки какой?

>> DirectDraw - это позавчерашний день, забудьте его как страшный сон

Согласен, но он имеет доступ к видео памяти на прямую

А зачем? Работайте с высокоуровневыми примитивами и графическими координатами. Тем более что все примитивы DX видеокарточками сейчас поддерживаются аппаратно.

DirectDraw - это технология которая была актуальна лет 5-7 назад, сейчас она оставлена лишь для совместимости.

>> Во-вторых, Visual Basic для проектов типа САПР, это вообще говоря моветон, ибо система медленная и тормознутая, и вообще не для того она

Ну, P-Cad 2001 как-то же написали на VB6 и ничего, работало...

Проверить в данный момент не могу, старые дистрибутивы искать лень, но что он _полностью_ написан на VB6 как-то не верится... :)

Ссылка на комментарий
Поделиться на другие сайты

Вообще не должно. Размер картинки какой?

Ну тут по идее не в размере дело, а в скорости рисования на ней(если рисовать 1 объект, то конечно не глючит, а если 100 объектов, то ужо подлагивает), правда использую vb2008 и работаю не с API-функциями, а со средствами Framework'а.

А глючит всё это хозяйство из-за сглаживания...

DirectDraw - это технология которая была актуальна лет 5-7 назад, сейчас она оставлена лишь для совместимости.

Я не говорю что буду использовать его вообще, он мне нужен для доступа к видео памяти и всё ;)

А если ета технология устарела, то почему те-же проги при прорисовки к примеру 1000 объектов(дорожек, пяточков и т.д.) начинают страшно логать, а у меня есть примерчик с использованием DirectDraw, который вырисовывает ТАКОЕ да ещё и со зглаживанием и при этом выдаёт 60 кадров/сек :blink:

В Proteus при экспорте файла печатки в битмап можно указать какие слои экспортировать а какие нет, так что возможно, эта задача решается в три клика

Эти функции почти стандарт во всех рисовалках...

Вот именно нужные слои, которые мне нужны, нельзя задать. Например нужен слой лака со стороны дарожек т.е. где должен быть пяточок, мне нужно чтоб в этом месте была дырка на 2-3мм больше самого пяточка(чтоб лак не попал на него), ну и в этом роде...

Изменено пользователем 260db

Паяльник в руках держать умею, проверенно электроникой®

Ссылка на комментарий
Поделиться на другие сайты

Ну тут по идее не в размере дело, а в скорости рисования на ней(если рисовать 1 объект, то конечно не глючит, а если 100 объектов, то ужо подлагивает), правда использую vb2008 и работаю не с API-функциями, а со средствами Framework'а.

Дык оптимизировать надо :)

Вывод делается в битмап лишь один раз при каком-либо изменении схемы, далее этот битмап хранится в памяти и на экран картинка выводится уже из него по BitBlt. При этом скроллится всё без проблем и без тормозов.

>> DirectDraw - это технология которая была актуальна лет 5-7 назад, сейчас она оставлена лишь для совместимости.

Я не говорю что буду использовать его вообще, он мне нужен для доступа к видео памяти и всё ;)

То же можно делать и в GDI - открыть битмап и писать в его память напрямую, потом выводить.

А если ета технология устарела, то почему те-же проги при прорисовки к примеру 1000 объектов(дорожек, пяточков и т.д.) начинают страшно логать, а у меня есть примерчик с использованием DirectDraw, который вырисовывает ТАКОЕ да ещё и со зглаживанием и при этом выдаёт 60 кадров/сек :blink:

Так там вроде (если память не изменяет) масштабирования спрайтов нет, и они всегда выводятся 1:1. Т.е. применимость заметно меньше. А 1000 примитивов любая современная видяха выдаст без проблем, в играх куда больше используют. Хотя тут и вопрос оптимизации конечно.

Ссылка на комментарий
Поделиться на другие сайты

Вывод делается в битмап лишь один раз при каком-либо изменении схемы, далее этот битмап хранится в памяти и на экран картинка выводится уже из него по BitBlt. При этом скроллится всё без проблем и без тормозов.

Ну впринципе так и сделал, но при этом вылезла тругая бяка, при достаточно большом увеличении, битмап получается офигительно большой, кушает много памяти да и вообще может вылететь с ошибкой при создании... :blink:

Дык оптимизировать надо

Тут по идее оптимизировать то нечего... :huh: (те кто знает VB, поймут меня)

Если браться за оптимизацию, то первым делом как мне кажется, надо переписывать на более мощный язык, C++ напимер... :huh:

То же можно делать и в GDI - открыть битмап и писать в его память напрямую, потом выводить.

System memory и Video memory - мне казалось это разные вещи(или я чего-то не догоняю :blink: )

Так там вроде (если память не изменяет) масштабирования спрайтов нет, и они всегда выводятся 1:1. Т.е. применимость заметно меньше. А 1000 примитивов любая современная видяха выдаст без проблем, в играх куда больше используют. Хотя тут и вопрос оптимизации конечно.

Вот именно! Все проги, которые я видел обходились стандартными методами, а я хочу задействовать в этом деле видюху...

Паяльник в руках держать умею, проверенно электроникой®

Ссылка на комментарий
Поделиться на другие сайты

>> Вывод делается в битмап лишь один раз при каком-либо изменении схемы, далее этот битмап хранится в памяти и на экран картинка выводится уже из него по BitBlt. При этом скроллится всё без проблем и без тормозов.

Ну впринципе так и сделал, но при этом вылезла тругая бяка, при достаточно большом увеличении, битмап получается офигительно большой, кушает много памяти да и вообще может вылететь с ошибкой при создании... :blink:

Надо создавать битмап размером в 2-3 экрана, не больше, для скролла этого достаточно, ну а если юзер дошел до границы битмапа то только тогда передвинуть "виртуальный" view на новую область.

Тут по идее оптимизировать то нечего... :huh: (те кто знает VB, поймут меня)

Если браться за оптимизацию, то первым делом как мне кажется, надо переписывать на более мощный язык, C++ напимер... :huh:

Пока что речь идет не об низкоуровневой оптимизации, а о оптимизации на уровне алгоритма вывода :) Хотя конечно перейти на С++ это всегда хорошо :)

System memory и Video memory - мне казалось это разные вещи(или я чего-то не догоняю :blink: )

Ну да. Битмап готовится в system memory, а потом одной командой BitBlt отправляется на контекст устройства в Video memory.

Вот именно! Все проги, которые я видел обходились стандартными методами, а я хочу задействовать в этом деле видюху...

Идея похвальна, только стоит учесть что DirectX несколько сложнее в использовании чем функции GDI, у последних выбор возможностей рисования заметно больше.

Ссылка на комментарий
Поделиться на другие сайты

Надо создавать битмап размером в 2-3 экрана, не больше, для скролла этого достаточно, ну а если юзер дошел до границы битмапа то только тогда передвинуть "виртуальный" view на новую область.

Ну я сам к этому выводу пришёл, шас вот реализую по тихоньку :huh:

Пока что речь идет не об низкоуровневой оптимизации, а о оптимизации на уровне алгоритма вывода Хотя конечно перейти на С++ это всегда хорошо

Ну дык я и говорю, у меня алгоритм вывода 5 строчек грубо говоря :huh:

Ну да. Битмап готовится в system memory, а потом одной командой BitBlt отправляется на контекст устройства в Video memory.

ни пугай больше так :blink:

-------

Блин, ни где не могу достать инфу по директу и вб9, есть книги, но просят за них по 2-3 килорубля <_<

Паяльник в руках держать умею, проверенно электроникой®

Ссылка на комментарий
Поделиться на другие сайты

if sreda = Delphi then

help

else

sorry;

Будешь пользоватся Delphi помогу ... а VB это что то не реальное всё равно пытатся с помощью совецкого паяльника и пары старых не нужных телевизоров собрать комп ?! :blink:

Изменено пользователем Iron87
Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
  • Сообщения

    • Во-первых, усилитель от нагрузки 48 Ом может возбудиться, во-вторых звук будет искаженный за счет высокого сопротивления источника. Надо такую схемку применить (если усилитель рассчитан на нагрузку 4 Ом:
    • Постараюсь не сильно. Но пнуть в нужном направлении надо. Такое безобразие надо срочно исправлять.   В таком виде - разве что любителям головоломок и ребусов. Вы более запутанно и небрежно схемы не пробовали рисовать?  Вот на такой "схеме" и то лучше видно, что с чем соединено: На схемах электрических принципиальных все элементы обозначаются в виде УГО (Условных Графических Изображений). И схема рисуется как минимум с соблюдением основных правил, чтобы всем понятно было. Ну ладно, ГОСТы - это сложно. Но хотя бы что-то популярное на эту тему почитайте (ссылка).
    • для автогенераторов? У Амелиных речь идет об усилителях, подаче на их  вход сигнала синусоиды и т.д. Про автогенераторы что-то ничего не нашел. Книга 2013 г. Может, можно нагрузить источник sine на какой-нибудь резистор, никуда к автогенератору не подключать (общим будет только общий провод) и далее смотреть анализ искажений? Покажет ли Microcap правду после такого обмана? 
    • Доброй ночи. Столкнулся с неожиданной трудностью.  Косой мост.  На затворе транзистора такая картинка( синий- напряжение на коллекторе, желтый- напряжение на затворе), в момент включения ключа.  Предположительно, на полке Миллера, так быть не должно. RC цепи между истоком и стоком не помогают, в затворной цепи, так же. Верхний ключ немного сильнее греется нижнего, при этом осциллограммы на затворах идентичные. Подскажите пож., куда смотреть? STW26nm60n.pdf     KosoyR50.asc
    • Для этого надо как минимум схему схему приложить.  Без неё все ваши изыскания не имеют никакой практической ценности. Мало ли какая хрень с какими ошибками у вас собрана. Можно только догадываться, что у вас сетевой полумост. Но вообще-то и это не факт...
    • Помню к таким "инкам" ставил защитное стекло или плёнку, улучшающее восприятие показаний:
×
×
  • Создать...