Saat saya menulis naskah terbesar untuk Altium Designer

15.680 baris, 800.053 karakter - ini persis ukuran hari ini skrip saya dibuat di dalam Altium Designer - sistem untuk mengembangkan papan sirkuit cetak.

gambar

Mulai


Saat itu tahun 2014, saya bekerja sebagai insinyur desain, mengembangkan papan sirkuit. Penerimaan militer, persiapan dokumentasi desain penuh (CD), kontrol standar ESKD - semua ini membuat perangkat lunak Australia-Cina-Amerika, yang merupakan sistem Altium, terpesona. Karena mereka asing dengan GOST Soviet, instruksi dan standar lama untuk desain gambar. Seorang karyawan departemen kami kadang-kadang menghabiskan seluruh shift sehingga gambar papan akan memenuhi semua aturan dan peraturan untuk merancang CD.
Sekarang dilakukan sekitar 10 menit.

Saya memutuskan bahwa Anda dapat menyederhanakan kehidupan diri Anda dan selusin orang lagi di tempat kerja. Saya mulai mencari tahu, menemukan bahwa ada API terbuka, mulai melihat contoh dan voila, skrip pertama saya untuk Altium sudah menggambar garis di papan - tidak ada batas untuk sukacita.

Perlahan, sedikit demi sedikit, saya memperluas pengetahuan saya tentang pemrograman, karena sebelum itu saya belum pernah menjumpainya, di universitas saya ingat pendulum menulis selama satu semester dan hanya itu.

Antarmuka pertama


Itu sampai pada titik bahwa antarmuka perlu dibuat, pada awalnya itu seperti ini:

gambar

Versi ini sudah tahu cara menggambar dimensi, info dengan panah.

Harus dipahami bahwa tidak ada penjelasan khusus dalam dokumentasi, tidak ada yang punya pengalaman dalam menggunakan fungsi dari API, hanya beberapa skrip pada github dan skrip altium standar. Deskripsi wiki hingga hari ini dari kategori:

SetState_Enabled method (IPCB_Primitive interface) Syntax Procedure SetState_Enabled (Value : Boolean); Description Example See also IPCB_Primitive interface 

Dan keseluruhan deskripsi, meskipun dimungkinkan untuk menentukan cara kerjanya dengan coba-coba.

Setiap kali memperkenalkan fungsi baru adalah kesenangan, karena ketika Anda melihat bagaimana orang menggunakan pekerjaan Anda dan semuanya berjalan lancar, bukankah itu sebabnya program dibuat. Pada tahap ini, waktu untuk menggambar telah berkurang hampir setengahnya.

Pengembangan


Versi selanjutnya sudah terlihat seperti ini:

gambar

Dia sudah tahu cara memasukkan lembaran ke dalam papan, menetas poligon untuk gambar, memasukkan kisi-kisi dan elemen lain untuk menggambar.

Masalah utama adalah bahwa lingkungan pengembangan Altium adalah sistem untuk mengembangkan papan sirkuit. Itu tidak memiliki alat yang cukup untuk merancang CD, dan bahkan lebih lagi dengan standar Rusia. Pada dasarnya, scripting memperluas toolkit lingkungan standar sehingga Anda juga dapat mengembangkan CD dan mencetaknya.

Sebagai contoh, saya menerapkan penyisipan lembar format yang berbeda langsung ke dalam kode, tidak membuat file terpisah. Saya menggunakan tabel excel untuk ini, secara manual memasukkan format ke file pcb, menyoroti semua properti dari semua baris, koordinatnya, lebar, koordinat teks, dll. dan memasukkan semua ini ke dalam array reguler. Kemudian skrip secara berurutan membuat masing-masing baris format dalam file board itu sendiri. Dan untuk setiap lembar semua format.

Hari-hari kita


Sekarang programnya terlihat seperti ini:

gambar

gambar

Saya tidak pernah seorang desainer, kadang-kadang saya harus memahat tombol di mana saja, saya melihat sistem CAD yang paling terkenal, bagaimana menu, pengaturan, tombol drop-down dan sebagainya dibuat.

Berikut ini contoh skrip itu sendiri
gambar

gambar

Total di papan:

  • Lebih dari 50 pengaturan, menyimpannya di dalam file board
  • Memperbarui gambar saat membuat perubahan pada papan
  • Secara otomatis menyisipkan tampilan di tengah lembar
  • Pembuatan PDF satu tombol
  • Mengedit dimensi dengan perhitungan ulang penyimpangan dengan cepat
  • Mesh radial, mesh 4-sisi, risiko, pitch yang dapat disesuaikan
  • Menyimpan thumbnail dalam format txt untuk digunakan di masa mendatang

dan masih banyak lagi.

Banyak saraf, kekuatan, kesabaran, malam tanpa tidur - dihabiskan. Membuat gambar di tempat kerja sangat berharga.

Naskah ditulis oleh saya sendiri untuk tahun keempat, dan tanpa menggunakan gita, tema gelap dan hal-hal lain). Hanya pascal, hanya hardcore. Terima kasih telah membuka sampai akhir, saya akan senang untuk berkomunikasi!

Contoh gambar yang diambil di dalam PCB

Versi program untuk dicoba

Source: https://habr.com/ru/post/id431848/


All Articles