یکی از مشکلات بزرگ بچهآهای الکترونیکی که توی گنو/لینوکس و نرمآافزار gEDA/PCB طراحی برد مدار چاپی میآکنن، اینه که این نرمآافزار خروجی به فرمت Protel نمیده. البته شابد برای اونور آبیآها مشکلی نباشه، ولی توی بازار ایران شرکتهایی که برد مدار جاپی بصورت صنعتی چاپ میآکنن حتما و حتما از آدم فایل پروتل میآخوان. حالا نمیآدونم نرمآافزارهاشون نمیتونه فرمت دیگهآای رو بخونه یا اینکه فقط کار با همین فرمت رو بلدن و برای راحتی ترجیح میدن با همین کار کنن. (واقعا نمیآدونم، اگه کسی در مورد نرمآافزارهاشون اطلاع داره خوشحال میشم توضیحی بده)
خب این مسئله هم که برم پشت ی سیستم ویندوزی بشینم و با نرمآافزار Protel طراحی برد مدار چاپی کنم برای من یکی رنجآآوره! راستش به Wine و مجازی سازی ویندوز توی لینوکس هم زیاد اعتقادی ندارم. اگرم بدون مشکل بتونم Protel روی لینوکسم بالا بیارم حال نمیآکنم با نرمآافزار غیرآزاد کار کنم!
بخاطر همین تصمیم گرفتم تو این ایام تعطبلات ی صبح تا شب بشینم با زبان مورد علاقم پایتون، ی اسکریپت برای تبدیل از فرمت gEDA/PCB به Protel بنویسیم. میدونستم که حتما تجربهٔ لذت بخشی خواهم داشت، همینطورم شد
خوشبختانه مستندات هردوی این فرمتهارو مدتها پیش از اینترنت گیر آورده بودم،
توضیح اینکه پروتل از Protel99SE PCB ASCII File Format برای خودش میتونه استفاده کنه و gEDA/PCB هم که فرمت خاص خودشو داره و چون نرمآافزار آزاد هست مستنداتش راحت پیدا شد. برای جزئیات این دو فرمت فایلآهای زیر رو میتونید بخونید :
http://www.eurointech.ru/products/Altium/Protel99SE_PCB_ASCII_File_Format.pdf
http://www.brorson.com/gEDA/land_patterns_20070818.pdf
ی نمونهٔ آزمایشی از تبدیلی که انجام دادم رو میتونید ببینید :
برد مدار چاپی در gEDA/PCB :

برد مدار چاپی در Protel :

نحوهٔ استفاده از این اسکریپت خیلی راحت هست، به اینصورت بکار میره :
فایل ورودی in_pcb.pcb هست که به فرمت gEDA/PCB باید باشه و out_pcb.PcbDoc هم نامی هست که برای فایل خروجی انتخاب میشه.
البته مطمئنن این اسکریپت پر از اشتباهه و باگ هست و من خیلی خوشحال میشم که دوستان تستش کنن و اگر حالشو داشتن اصلاح کننش
برای دسترسی به سورس رو gitHub قرارش دادم، میتونید به یکی از روشهای زیر کدمنبع رو دانلود و استفاده کنید :
یا اگر روی سیستم git نصب ندارید، میتونید از لینک زیر بصورت فشرده دانلودش کنید :
https://github.com/hamid-rostami/pcb2paf/archives/master
خب این مسئله هم که برم پشت ی سیستم ویندوزی بشینم و با نرمآافزار Protel طراحی برد مدار چاپی کنم برای من یکی رنجآآوره! راستش به Wine و مجازی سازی ویندوز توی لینوکس هم زیاد اعتقادی ندارم. اگرم بدون مشکل بتونم Protel روی لینوکسم بالا بیارم حال نمیآکنم با نرمآافزار غیرآزاد کار کنم!
بخاطر همین تصمیم گرفتم تو این ایام تعطبلات ی صبح تا شب بشینم با زبان مورد علاقم پایتون، ی اسکریپت برای تبدیل از فرمت gEDA/PCB به Protel بنویسیم. میدونستم که حتما تجربهٔ لذت بخشی خواهم داشت، همینطورم شد

خوشبختانه مستندات هردوی این فرمتهارو مدتها پیش از اینترنت گیر آورده بودم،
توضیح اینکه پروتل از Protel99SE PCB ASCII File Format برای خودش میتونه استفاده کنه و gEDA/PCB هم که فرمت خاص خودشو داره و چون نرمآافزار آزاد هست مستنداتش راحت پیدا شد. برای جزئیات این دو فرمت فایلآهای زیر رو میتونید بخونید :
http://www.eurointech.ru/products/Altium/Protel99SE_PCB_ASCII_File_Format.pdf
http://www.brorson.com/gEDA/land_patterns_20070818.pdf
ی نمونهٔ آزمایشی از تبدیلی که انجام دادم رو میتونید ببینید :
برد مدار چاپی در gEDA/PCB :

برد مدار چاپی در Protel :

نحوهٔ استفاده از این اسکریپت خیلی راحت هست، به اینصورت بکار میره :
کد:
chmod +x pcb2paf.py ./pcb2paf.py in_pcb.pcb out_pcb.PcbDoc
فایل ورودی in_pcb.pcb هست که به فرمت gEDA/PCB باید باشه و out_pcb.PcbDoc هم نامی هست که برای فایل خروجی انتخاب میشه.
البته مطمئنن این اسکریپت پر از اشتباهه و باگ هست و من خیلی خوشحال میشم که دوستان تستش کنن و اگر حالشو داشتن اصلاح کننش

برای دسترسی به سورس رو gitHub قرارش دادم، میتونید به یکی از روشهای زیر کدمنبع رو دانلود و استفاده کنید :
کد:
# 1. git clone git@github.com:hamid-rostami/pcb2paf.git # 2. git clone https://hamid-rostami@github.com/hamid-rostami/pcb2paf.git
یا اگر روی سیستم git نصب ندارید، میتونید از لینک زیر بصورت فشرده دانلودش کنید :
https://github.com/hamid-rostami/pcb2paf/archives/master
دیدگاه