ВСЁ про Sprint Layout

Хорошая печатная плата - залог надежности устройства. Как сделать такую плату?
UA3WM
Мучитель микросхем
Сообщения: 484
Зарегистрирован: Вт янв 22, 2013 10:45:50
Откуда: KO72QI

Re: ВСЁ про Sprint Layout

Сообщение UA3WM »

Кому нужна оригинальная портабельная версия от 24.04.2013 (без перевода) с убранным глюком ЗАБИРАЙТЕ!
Вложения
Portable Lay60Eng.rar
(914.76 КБ) 249 скачиваний
UA3WM
Мучитель микросхем
Сообщения: 484
Зарегистрирован: Вт янв 22, 2013 10:45:50
Откуда: KO72QI

Re: ВСЁ про Sprint Layout

Сообщение UA3WM »

АСУ писал(а): Потому что раз Вы нашли и исправили этот небольшой ляп в своей программе, то и в другой программе (от Men1 и Sub), нужно поправить.

Против Николая Men1 я абсолютно ничего не имею, хороший парень! Но Sub как всегда встает на дыбы!
Я не жадный пусть исправляют! Синюю строку нужно вообще исключить!

object E_Package: TEdit
Left = 20
Top = 416
Width = 173
Height = 21
MaxLength = 255
TabOrder = 12
OnChange = MultiEinfaerben
OnEnter = E_BezEnter
end
АСУ
Друг Кота
Сообщения: 3342
Зарегистрирован: Ср янв 02, 2013 08:37:35

Re: ВСЁ про Sprint Layout

Сообщение АСУ »

Спасибо огромное за подсказку, за всех тех, кто пользуется или будет пользоваться программой от Men1и Sub. Men1 уже не занимается данной программой, так что эта информация будет очень полезна для остальных пользователей. Ещё раз огромное спасибо! Теперь только Вы пока поддерживаете обновления. :))
Sub
Вымогатель припоя
Сообщения: 541
Зарегистрирован: Чт мар 20, 2008 18:25:14
Откуда: СПб

Re: ВСЁ про Sprint Layout

Сообщение Sub »

АСУ писал(а): Ошибка всплывает только тогда, когда вытаскиваешь следующий макрос (как компонент). И только тогда, когда в предыдущем компоненте, в поле «корпус» что-то вписали, а в поле «тип» осталось пустым. А вот если в поле «корпус» оставлять пустым, то программа «не возмущается», и даже не важно есть значения в поле «корпус» или нет. Где здесь логика? А если уж программе что-то не нравится, то она обязана сообщить сразу как только сохраняешь данные, а ни когда вытаскиваешь другой компонент. А если я, допустим, ошибся с последним компонентом, то программе на это «наплевать». Сохранив плату и создав следующую, при выводе первого компонента, всплывает окно, что предыдущий компонент не корректен. Опа, какой предыдущий? Спрашивается, если это первый. Где логика? Это однозначно ошибка программы. Попробуйте по описанному выше и Вы увидите, что не всё так как Вы описываете.

Не разобрались. :evil: Где находится окно ввода "корпус"? В открывающемся, дополнительном поле для ввода дополнительных данных Pick-Place, а для чего они нужны - читайте справку. Вы ввели данные и не сохранили изменения в КОМПОНЕНТЕ, Вы ведь вытаскиваете "КАК КОМПОНЕНТ". Программа хочет запомнить эти изменения при дальнейшем использовании макроса "КАК КОМПОНЕНТ" с данными Pick-Place, поэтому и предупреждает. А вытаскивая следующий макрос "КАК КОМПОНЕНТ", программа уже кричит Вам, что не всё корректно закончено с предыдущим компонентом.
Если НЕ нужны Pick-Place данные, то и не трогайте их. Если НЕ нужно вносить компонент в список, то тащите его, как макрос, а НЕ КАК КОМПОНЕНТ, тогда и тип и номинал не надо вводить, а тем более Pick-Place данные.
И никакого глюка в этом нет. Разработчиком всё мудро продумано.

Так доисправляетесь, что это будет уже не Sprint Layout, а хрен знает что.
skn_57
АСУ
Друг Кота
Сообщения: 3342
Зарегистрирован: Ср янв 02, 2013 08:37:35

Re: ВСЁ про Sprint Layout

Сообщение АСУ »

Sub я к Вам отношусь с уважением, но нельзя думать, что все, таки бестолковые. Да РАЗОБРАЛСЯ Я. И справку почитал. Похоже, Вы или меня не понимаете, или читаете не так как написано. Почему Вы настаиваете на том, что я не сохраняю данные компонента? Я их сохраняю, нажимая кнопку ОК. Или чтобы сохранить, нужно что-то ещё и сказать? Проделайте все те манипуляции, о которых я писал и поймёте, что это Вы ошибаетесь. Сделайте намеренно ошибку, закройте данную плату и создайте новую, а потом вытащите любой компонент, и что Вам ответит программа … Для чего она говорит в новой плате для первого компонента, что предыдущий не корректен? В чём некорректность для этой новой платы?
UA3WM
Мучитель микросхем
Сообщения: 484
Зарегистрирован: Вт янв 22, 2013 10:45:50
Откуда: KO72QI

Re: ВСЁ про Sprint Layout

Сообщение UA3WM »

АСУ писал(а):Для чего она говорит в новой плате для первого компонента, что предыдущий не корректен? В чём некорректность для этой новой платы?

Я думаю не стоит уже обсуждать то чего нет! НЕ КОРРЕКТЕН (да и все остальное в этой строке) - это фантазия от Sub! Ну если человек так перевел с немецкого
Deaktiviertes oder unsichtbares Fenster kann den Fokus nicht erhalten
или тоже самое с английского
Cannot focus a disabled or invisible window
Если кто еще сомневается то вот русская строковая таблица для системных ошибок!
Изображение

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

Иначе это будут не программы, а хрен знает что.
Sub
Вымогатель припоя
Сообщения: 541
Зарегистрирован: Чт мар 20, 2008 18:25:14
Откуда: СПб

Re: ВСЁ про Sprint Layout

Сообщение Sub »

Я не считаю Вас бестолковым, просто с КОМПОНЕНТОМ не всё так просто, как Вам кажется. Пруссель заложил в это понятие глубокий смысл, а описать всё подробно в справке НЕ описал. Я ему неоднократно писал о не понятных и не полностью раскрывающих функциональный смысл выражениях в справке. Самая подробная из его справок - на немецком языке, но мне проще было переводить английскую справку. Если посмотреть французскую, то там вообще сжато всё описано и ему на это другие указывали. Поэтому я часто обращался к нему за пояснениями.

Что касается Ваших доводов. Кнопкой ОК, Вы подтверждаете ввод типа и номинала компонента, ввели их или нет, не имеет значения. Ввели - отразится, не ввели - будут точки. Когда Вы открываете дополнительное поле для ввода данных, то ставите галочку "применить данные". Но, учтите! Вы открыли макрос "КАК КОМПОНЕНТ"!!! Вот тут и надо задуматься о значимости и смысле этого слова. Вводя для него дополнительные и не предусмотренные стандартно данные, Вы хотите, чтобы эти данные были присущи этому КОМПОНЕНТУ. Программа хочет запомнить эти данные для "КАК КОМПОНЕНТА", когда Вы будете его использовать в следующий раз. Поэтому она и предупреждает об этом. Т. е. внеся дополнительные данные в КОМПОНЕНТ, его надо сохранить с этими данными. А куда мы сохраняем для дальнейшего использования? Правильно, в библиотеку макросов. Сохраняем "как макрос". Откройте его затем, как простой макрос - никакие данные не отразятся. А откройте его "КАК КОМПОНЕНТ", он уже в окне предварительного просмотра покажет, что имеет дополнительные данные - Pick-Place, на что укажет крестик внутри макроса. Но посмотрите, номинал и тип мы ещё не вписали. Pick-Place данные нужны для установочной машины.
Пруссель придал большое значение интеграции файла проекта в другие приложения, такие как:
- фрезеровка;
- гербер импорт и экспорт;
- Pick-Place для установочного станка;
- Excellon;
- IO;
Т.е. сама программа - это рисовалка, а созданные в ней конечные файлы должны корректно интегрироваться в устройства для изготовления плат.
Вот поэтому, внося изменения в компонент, вы должны сохранить эти изменения на постоянной основе, а не разово. А программа запомнила, что Вы не завершили корректную работу с предыдущим КОМПОНЕНТОМ, чтобы она могла это изменение использовать в дальнейшем, и предупреждает Вас об этом. Pick-Place данные Вас ни к чему не обязывают, они нужны для установочной машины, но данные в компонент введены, значит для дальнейшего использования этого макроса, как компонент, надо сохранить внесённые изменения, хоть они и не будут на плате отражаться, но они введены.
Кнопка ОК подтверждает ввод типа и номинала, а Pick-Place данные программа в этом случае проигнорирует. И если Вы отдадите свой проект на распайку, на установочную машину, то хрен что получите, т.к. данных нет, не сохранили Вы их.

P.S. Не знаю, может я не доходчиво объясняю, но по другому не умею, уже не знаю как более подробно и доходчиво объяснить.
Хочу успокоить некоторых. Язвительные выпады меня не беспокоят, это больше похоже на детский сад или старческий маразм. Я больше верю Прусселю, чем не разобравшимся в программе.
skn_57
UA3WM
Мучитель микросхем
Сообщения: 484
Зарегистрирован: Вт янв 22, 2013 10:45:50
Откуда: KO72QI

Re: ВСЁ про Sprint Layout

Сообщение UA3WM »

Sub писал(а):Программа хочет запомнить эти данные для "КАК КОМПОНЕНТА", когда Вы будете его использовать в следующий раз. Поэтому она и предупреждает об этом.

Уважаемый Sub! Ну как Вам еще объяснить, что строковая таблица, в которой Вы сделали перевод как не корректный ввод вообще никак не связана с ПРОГРАММОЙ, и она используется для отладки программного обеспечения в части сбоев в операционной системе и в компьютерном железе. В данном случае идет предупреждение от системы а не от программы, а по сему не нужно ссылаться на то, что кто то неправильно ввел данные в программе. Поверьте в данном случае программе глубоко плевать записали вы этот макрос в библиотеку как компонент или нет. Если же предположить, что данная опция проверки на правильность обработки данных заложена в саму программу то было бы сообщение от самой программы, т.е. непосредственно из тела программы (бинарной ее части), а не из строковой таблицы.
Alexeyslav
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич
Контактная информация:

Re: ВСЁ про Sprint Layout

Сообщение Alexeyslav »

Однако, странным способом программа сообщает об ошибке. Все-таки я склоняюсь к тому что это банальная утечка памяти.
Sub
Вымогатель припоя
Сообщения: 541
Зарегистрирован: Чт мар 20, 2008 18:25:14
Откуда: СПб

Re: ВСЁ про Sprint Layout

Сообщение Sub »

А не надо объяснять, мне Пруссель объяснил, что это системное предупреждение (по моему даже переписка сохранилась, если не удалил) - не корректно выполнено действие программы, которая пытается запомнить данные, а мы ей этого не дали сделать. Но! Почему я писал и буду писать, что "программа предупреждает"? Да, для простоты понимания, чтобы как-то подробно объяснить это действие. Это предупреждение всплывает в окне программы. Если закрыть программу и открыть другую, то система должна нас предупредить, что предыдущая программа завершена не корректно. Однако нет, это предупреждение появляется только в окне программы. Просто так более доходчиво, чем разжёвывать по букварю и рассказывать почему система нас предупреждает. А Вы разорвали эту системную связь с программой и удалили полезное предупреждение.
АСУ писал, что при создании новой платы всплывает это предупреждение. Конечно всплывёт, т.к. опять же система нас предупреждает, что не корректно завершено программное действие с предыдущим компонентом, т.е. не завершённое программное действие. Программе надо дать запомнить внесённые изменения, а мы внесли изменения в КОМПОНЕНТ и не сохранили их. Программа почему нас просит сделать всё корректно? Да потому, что мы вносим изменения в КОМПОНЕНТ, который она будет использовать во всех дальнейших действиях и файлах. Если Вы заметили, то в 5-й версии нет "как компонент". А теперь задумайтесь, почему Пруссель его ввёл и какой смысл вложил в это понятие. "Как компонент" у нас в программе гуляет во всех функциях и примочках. Изменили ему - КОМПОНЕНТУ "причёску", будьте добры сохранить, чтобы программа использовала его дальше с "новой причёской", "пришили" КОМПОНЕНТУ "на жопу пуговицу" - будьте добры сохранить его с "пришитой к жопе пуговицей". Не сохранили? Программа (ладно, система) предупредит Вас об этом, что она из-за не корректного ввода, т.е. не корректно выполненного программного действия не сможет использовать дальше этот КОМПОНЕНТ с новыми данными. А Вы "обрезали программе язык" при помощи которого она общалась с системой. Мудрённо я загнул? Это для Вас, если так понятнее. Но другим пользователям по барабану система или программа предупреждает, вот поэтому и пишу - программа.
А теперь скажите, кого интересует как и почему это связано с системой? Люди работают с программой и им проще в понимании - "программа предупреждает". Если объяснять про взаимосвязь с системой, то заберёмся в глубокие дебри и тема плавно скатится к ОС и железу.
Вот поэтому я и пишу "программа предупреждает", так более просто и понятно.

Да, не утечка памяти, а не корректное завершение программного действия. Мы пытаемся засунуть в мозги программы данные и не завершаем действие - не сохраняем в её мозгах эти данные.
И эту связь программы с системой разрывать НЕЛЬЗЯ!!! Удалив эту строку, спилили сук на котором сидели.

Всё, я по другому объяснять уже не буду, а то углубимся в компьютерные дебри и будет один флуд.
skn_57
АСУ
Друг Кота
Сообщения: 3342
Зарегистрирован: Ср янв 02, 2013 08:37:35

Re: ВСЁ про Sprint Layout

Сообщение АСУ »

Спасибо Сергей, что Вы подробно ещё раз описали свою мысль по этому поводу. Я извиняюсь что не так подробно описал свои действия, и тем самым заставил Вас сомневаться в правильности своих действий. Я сохраняю компонент, конечно же установив галку «применить данные». Теперь продолжая Вашу мысль об компоненте и установочной машине. Я не вытаскивая компонент на плату «задаю» ему параметры Pick-Place, просто ни чего не внося в поле «корпус», устанавливаю галку «применить данные», при этом в поле «тип» тоже не чего не пишу, и жму ОК. Компонент сохранён с параметрами Pick-Place, о чём свидетельствует крестик в центре. Вывожу его на плату. Программа молчит. Спрашивается, почему? Ведь если мы не указали корпус, как установочная машина будет размещать этот компонент на плате? Следующее действие, открываю другой компонент не вытаскивая его на плату, проделываю то же самое (поле «тип» - пустое, галка «применить данные» - установлена), и в поле «корпус» ввожу значения соответствующего корпуса. Жму ОК, параметры Pick-Place сохранены. Вытаскиваю на плату, и вот тут всплывает сообщение о не корректности предыдущего компонента. В чём тут не корректность? В том что я не вписал тип? Ладно, допустим. Вытаскиваю следующий компонент но без параметров Pick-Place (появляется сообщение), вытаскиваю следующий, также без параметров Pick-Place (появляется сообщение). Ладно хорошо, допустим, программа ругается о том компоненте, что без корпуса. Закрываю программу, потом вновь открываю. Вытаскиваю на плату тот компонент (который без корпуса), крестик в центре показывает, что компонент выведен с параметрами Pick-Place. Программа молчит, во как, раньше она ругалась на него, а теперь её всё устраивает. Вытаскиваю следующий компонент (но уже без параметров Pick-Place), программа молчит – вот те на. Вытаскиваю следующий компонент с параметров Pick-Place, программа молчит. И так любой вытащенный компонент программа воспринимает без ошибок. В чем тут глубокий смысл? Если в первом случаи, программа сообщала об ошибке, а во втором случае на этот же компонент не обращает внимание и ей он теперь нравится. Если бы это была не ошибка в программе, то тогда по логике вещей, программа должна всегда возмущаться при выводе этого компонента на плату, так как в первом случае ей это не нравится, а во втором ей всё нравится и она молчит.
UA3WM
Мучитель микросхем
Сообщения: 484
Зарегистрирован: Вт янв 22, 2013 10:45:50
Откуда: KO72QI

Re: ВСЁ про Sprint Layout

Сообщение UA3WM »

Пришлось сделать дамп памяти ядра процессора для точного выяснения данной ситуации!
Вообщем как я и говорил, после ввода и обработки данных на компонент окно для ввода типа корпуса в памяти ядра процессора остается забитым информацией от предыдущего компонента! И только по этой причине система не может получить фокус на это окно при вводе следующего макроса без данных о типе корпуса. Когда используется макрос компонента с данными о типе корпуса, то в этом случае окно для ввода "типа" не используется для записи и обработки и компонент выводится без системной ошибки.
АСУ
Друг Кота
Сообщения: 3342
Зарегистрирован: Ср янв 02, 2013 08:37:35

Re: ВСЁ про Sprint Layout

Сообщение АСУ »

UA3WM писал(а):Пришлось сделать дамп памяти ядра процессора для точного выяснения данной ситуации!
Вообщем как я и говорил, после ввода и обработки данных на компонент окно для ввода типа корпуса в памяти ядра процессора остается забитым информацией от предыдущего компонента! И только по этой причине система не может получить фокус на это окно при вводе следующего макроса без данных о типе корпуса. Когда используется макрос компонента с данными о типе корпуса, то в этом случае окно для ввода "типа" не используется для записи и обработки и компонент выводится без системной ошибки.

А та строка (выделена синим) что означает?
UA3WM
Мучитель микросхем
Сообщения: 484
Зарегистрирован: Вт янв 22, 2013 10:45:50
Откуда: KO72QI

Re: ВСЁ про Sprint Layout

Сообщение UA3WM »

АСУ писал(а):А та строка (выделена синим) что означает?

Если речь о Невозможно сфокусировать отключенное или скрытое окно так она это и означает, короче система не видит это окно из-за того что оно заполнено. Просто я на всякий случай для подтверждения поковырялся в памяти ядра. Но в принципе я тоже самое видел и на дизассемблере IDA.
АСУ
Друг Кота
Сообщения: 3342
Зарегистрирован: Ср янв 02, 2013 08:37:35

Re: ВСЁ про Sprint Layout

Сообщение АСУ »

UA3WM писал(а):Я не жадный пусть исправляют! Синюю строку нужно вообще исключить!

object E_Package: TEdit
Left = 20
Top = 416
Width = 173
Height = 21
MaxLength = 255
TabOrder = 12
OnChange = MultiEinfaerben
OnEnter = E_BezEnter
end

Извините, я про эту строку.
Alexeyslav
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич
Контактная информация:

Re: ВСЁ про Sprint Layout

Сообщение Alexeyslav »

Какое отношение ОКНО имеет к заполнению поля? Нет, похоже что из-за того что поле заполнено, программа ПЫТАЕТСЯ перевести фокус на окно с этим полем чтобы пользователь его сохранил, но не тут-то было - окно уничтожено, или сделано невидимым и по этой причине фокус на него перевести не удается - возникает та самая ошибка. Никакой мистики, просто ошибка в логике программы.
По логике вещей, программа не должна находится в таком состоянии - либо данные должны были быть сохранены до закрытия окошка, либо окно не должно было скрываться пока данные не будут сохранены.
Sub
Вымогатель припоя
Сообщения: 541
Зарегистрирован: Чт мар 20, 2008 18:25:14
Откуда: СПб

Re: ВСЁ про Sprint Layout

Сообщение Sub »

Сейчас залезем в "дебри Амазонки" и разведём флуд. Не надо писать ни про какой фокус, только запутаем народ. Оставьте эту строку действующей, а если не нравится сообщение "Данные компонента введены не корректно", то напишите например так: "Не сохранены данные предыдущего компонента" или "Необходимо сохранить данные предыдущего компонента" - ну, где-то так. А сохранить можно через Файл - Сохранить как макрос. Или кликнув на значке "дискеты" в окне Макросы. Только я не уверен, что кто-то будет отдавать свой проект на распайку с установкой компонентов. Нафиг вообще вводить Pick-Place данные и трогать это поле.
Пользователю по барабану, что там система не может увидеть, и тем более какой-то фокус. Пользователю важно знать, что надо сделать, чтобы дальше работать с программой. Поэтому и должно быть окно с предупреждением, подсказкой.

А то только проблему раздуем на 10 страниц.
skn_57
Аватара пользователя
fenix72x
Друг Кота
Сообщения: 3288
Зарегистрирован: Чт сен 13, 2012 20:01:53
Откуда: Московская область

Re: ВСЁ про Sprint Layout

Сообщение fenix72x »

Sub писал(а): Нафиг вообще вводить Pick-Place данные и трогать это поле.

Что бы распечатав перечень элементов был указан корпус. Например микросхема MAX232 может быть как в выводном, так и в планарном исполнении.
Дурака учить, что мертвого лечить
Sub
Вымогатель припоя
Сообщения: 541
Зарегистрирован: Чт мар 20, 2008 18:25:14
Откуда: СПб

Re: ВСЁ про Sprint Layout

Сообщение Sub »

Извиняюсь сам залез в дебри. Просто с другим корпусом надо запоминать другой макрос, а библиотека раздуется однозначно.
Я делаю не так. Чтобы не раздувать библиотеку однотипными макросами, после экспорта листа компонентов, я ручками вписываю корпус в списке, так же комментарии которые мне нужны. Этот текстовый документ открывается блокнотом и можно корректировать и вписывать, что угодно.
skn_57
UA3WM
Мучитель микросхем
Сообщения: 484
Зарегистрирован: Вт янв 22, 2013 10:45:50
Откуда: KO72QI

Re: ВСЁ про Sprint Layout

Сообщение UA3WM »

А хотите еще один мелочный глюк в оригинале, который я исправил?

Это к сюжету, что у них все правильно делается и это окно с системной ошибкой выводится специально.

В ранних версиях SL6 при загрузке макросов внизу рядом с Loading macros... появлялась бегущая строка с показом пути откуда качаются макросы, а потом она у них пропала! При анализе оказалось, что из-за смещения в программе адресов вывод бегущей строки блокируется (если предположить что они специально так сделали, то зачем тогда оставлять вывод строки но с неправильным адресом ???).
Для просмотра этого явления используйте большую по объему библиотеку с длительной загрузкой макросов иначе не отследить!
Сравните оригинал или чей нибудь перевод с моим переводом!
Изображение

Есть еще кое что подправленное, но пока это секрет фирмы! :beer:
Последний раз редактировалось UA3WM Вс апр 28, 2013 09:14:37, всего редактировалось 1 раз.
Ответить

Вернуться в «Изготовление PCB»