Thiết kế PCB sử dụng mã thay vì nhấp chuột? [đóng cửa]


14

Tôi mới bắt đầu thiết kế PCB và tôi thường gặp khó khăn khi học cách sử dụng GUI với menu và nhấp chuột. Có một số kỹ sư sử dụng một cái gì đó giống như mã để tạo PCB?


7
Tôi không khuyên bạn nên viết các tệp gerber đơn giản ...
Huisman

31
Bố cục PCB chủ yếu là một nhiệm vụ trực quan - di chuyển và xoay công cụ để làm cho nó phù hợp. Làm điều đó bằng mã nghe có vẻ đau đớn.
JRE

3
Thường có các phím nóng cho hầu hết (nếu không phải tất cả) các mục menu; hầu hết các công cụ cho phép nhập văn bản cho vị trí và định hướng (nhưng sẽ khó khăn hơn nhiều khi làm điều đó hơn là chỉ di chuyển mọi thứ bằng chuột). Tôi sử dụng các công cụ văn bản để có được vị trí chính xác của những thứ như vias và cặp vi sai.
Peter Smith

4
Một số gói CAD có nhiều clicky hơn những gói khác. Theo kinh nghiệm của tôi, Orcad Allegro là điều tồi tệ nhất khiến bạn phải trải qua rất nhiều hành động GUI vô nghĩa để hoàn thành những việc đơn giản nhất. Diptrace là trải nghiệm người dùng dễ dàng và linh hoạt nhất. PADS là một chuỗi công cụ rất đẹp với giao diện người dùng trực quan và rất nhiều tính năng cao cấp. PADS dành cho các kỹ sư thích hoàn thành công việc, Orcad dành cho những người bạo dâm. : D
Wossname

2
Có các phím tắt và các trường hợp duy nhất trong đó việc tạo các mẫu lập trình có ý nghĩa, nhưng bố cục PCB chủ yếu là một tác vụ đồ họa tương tác. Trong các tình huống tương phản trong đó logic chiếm ưu thế so với phương án vật lý như FPGA và (nhiều phần của) thiết kế ASIC thường được điều khiển bởi các ngôn ngữ mô tả phần cứng cho phép trình biên dịch logic cung cấp các công cụ định tuyến & định vị tự động. Nếu chúng tôi vẫn đang xây dựng các bộ xử lý máy tính lớn từ các bảng lớn chứa đầy đủ thì có thể có một luồng thiết kế tương đương cho HDL sang PCB ... nhưng may mắn thay, chúng tôi không làm vậy.
Chris Stratton

Câu trả lời:


19

Altium có một ngôn ngữ kịch bản, trên thực tế, một số ngôn ngữ khác nhau. Trong một số trường hợp, có thể có ý nghĩa khi sử dụng thuật toán, ví dụ để tạo bố cục lặp đi lặp lại hoặc các bộ phận được đặt chính xác ở các vị trí nhất định.

Ví dụ, tôi đã thấy nó được sử dụng để đặt các bộ phận (đèn LED) trong một mô hình tròn, mặc dù với việc giới thiệu các lưới snap tọa độ cực, điều đó ít có khả năng đáng để làm phiền.

Chúng tôi đã sử dụng các thuật toán để tạo ra các hình dạng (nghĩ ăng-ten và loại điều đó) trực tiếp ở định dạng .dxf, sau đó có thể được nhập vào một lớp đồng.

Nói chung, mã không phù hợp cho mục đích bố trí PCB, đặc biệt là cho nhiệm vụ định tuyến.


17

Trong EAGLE CAD, mọi thứ bạn có thể làm với chuột bạn có thể làm từ dòng lệnh. Nó cũng có một ngôn ngữ người dùng mà về cơ bản bạn có thể lập trình.


2
Rất hữu ích khi thực hiện các mẫu, v.v. Ngay cả khi bạn thực hiện 99% bố cục thủ công, bạn vẫn có thể sắp xếp các phần / tính năng bằng mã.
Wesley Lee

1
Thông thường, tôi viết mã trong Matlab hoặc bộ xử lý văn bản để xuất ngôn ngữ script.
Scott Seidman

3
Đúng! Tôi đã từng làm điều đó trong Python :)
Wesley Lee

1
Đây là một trong những lợi thế chính của Eagle. Khi bạn bắt đầu, bạn sẽ chỉ sử dụng dòng lệnh.
D Vịt

7

Tôi sử dụng mã để tạo netlist cho PCB của mình. (Đó là xa, xa nhanh hơn để viết thư cho vòng lặp để xây dựng một bộ đa N-bit hơn để chăm vẽ tất cả những thứ đó trong một sơ đồ). May mắn thay, KiCAD file netlist chỉ là văn bản, trong một định dạng đó là không có cơ sở nhưng hợp lý dễ dàng để đảo ngược -kỹ sư.

Tôi đã viết một thư viện C # nhỏ cho phép tôi nhập những gì tôi muốn kết nối với những gì (về các khối tham số có thể tái sử dụng) và nó tự động tạo ra một danh sách mạng. Bây giờ tôi chỉ có thể nhập thẳng vào KiCAD và bắt đầu xây dựng PCB, mà không phải lãng phí một giờ hoặc vô ích để vẽ sơ đồ cho nó. (Thư viện thậm chí thực hiện một số kiểm tra rất cơ bản để đảm bảo hướng dẫn của tôi không hoàn toàn không có thật, mặc dù tôi nghi ngờ chính KiCAD sẽ làm công việc đó tốt hơn.)

KiCAD file PCB, mặt khác, cũng có văn bản, nhưng dường như xa quá phức tạp để tạo lập trình. Thật là xấu hổ, bởi vì KiCAD mặc định bỏ tất cả các thành phần trực tiếp lên nhau, đòi hỏi tôi phải mất hơn 20 phút để tách chúng ra một lần nữa để tôi có thể thấy tôi đang làm cái quái gì. (KiCAD có thói quen khó chịu khi cố gắng di chuyển văn bản thay vì thành phần được đính kèm , có lẽ chỉ để làm cho PCB khó thiết kế hơn?)

Có lẽ một ngày nào đó tôi sẽ quản lý để tự động hóa bố cục thành phần ban đầu; Tôi nghi ngờ, như những người khác đã nói, rằng bit "thiết kế PCB" thực tế sẽ luôn liên quan đến GUI.


Sẽ thật tuyệt khi kết nối một trong các công cụ bố trí của graphviz với KiCAD cho vị trí ban đầu. Tôi đã sử dụng graphviz để tạo các tệp LTspice cho các bố cục rất đơn giản và nó hoạt động khá tốt.
đường ống

3
Có một số công cụ trong kicad để phát tán các thành phần ban đầu, nó được gọi là "Toàn cầu và địa điểm". Để tránh di chuyển văn bản, tôi chỉ thường vô hiệu hóa các lớp văn bản để bố trí. Sau khi tất cả mọi người có thể xem văn bản bằng cách nhấp vào nếu cần.
JPA

4

Tôi không khuyến nghị điều đó, nhưng nếu bạn thực sự mong muốn, bạn có thể tự viết tác phẩm nghệ thuật PCB mà không cần bất kỳ chương trình PCB nào. Mã trông như thế này:

* G90
1 G70 *
2 G54D10 *
3 G01X0Y0D02 *
4 X450Y330D01 *
5 X455Y300D03 *
6 G54D11 *
7 Y250D03 *
8 Y200D03 *
9 Y150D03 *
10 * X0Y0D02
11 M02 *
12

Các số dòng ở ngoài cùng bên phải không phải là một phần của tập tin. Kiểm tra tệp này mà không có bất kỳ kiến ​​thức nào về Gerber, người ta sẽ suy luận chính xác rằng mỗi dòng đại diện cho một lệnh máy cụ thể và dấu hoa thị (*) là kết thúc của ký tự lệnh. Dường như có các loại lệnh khác nhau: hướng dẫn bắt đầu bằng dữ liệu tọa độ G, D, M và x, y.

Nguồn: https://www.artwork.com/gerber/appl2.htm

Đây là một thông số cho thấy các lệnh khác nhau


2
Gerber (RS-274X) có liên quan đến các tệp mã G (RS-274) được sử dụng trong lập trình CNC. Thỉnh thoảng tôi viết mã G trực tiếp bằng trình soạn thảo văn bản cho các tác vụ 2.5D đơn giản.
Spehro Pefhany

5
Chỉ là một quan sát: nếu bạn là người lập trình mã hóa trực tiếp, thì không có kiểm tra quy tắc thiết kế nào diễn ra ngoài việc bạn hình dung trong đầu. Tôi không thể tưởng tượng việc gõ một tệp gerber văn bản, gửi nó đến fab house mà không bao giờ mở tệp trong một công cụ GUI chỉ nhìn vào nó, trừ khi bạn là một người hiểu biết cấp độ tiếp theo.
mkeith

1
Tôi không chắc liệu Gerber có liên quan đến mã G hay không, nhưng tôi đã có một sự nghi ngờ. Nếu người ta cần viết một lớp trên cùng đơn giản cho ăng-ten hoặc bộ lọc, có thể không quá tệ để tự mình viết mã. Tôi chỉ chỉnh sửa mã G, nhưng chưa bao giờ thử viết nó.
Điện áp tăng vọt

6
Bất cứ ai có thể làm việc tốt hơn với mã G hơn là một công cụ trực quan nào đó cho một bảng phức tạp chắc chắn sẽ là một người đặc biệt. Bất cứ ai có thể làm việc trực tiếp trong mã G và có năng suất sẽ phải được coi là một người hiểu biết, tôi nghĩ vậy.
mkeith

1
Tôi không biết tất cả 7,5 tỷ người trên thế giới, nhưng tôi có thể nói một cách tự tin rằng không có một người nào tồn tại sẽ làm việc tốt hơn khi nhìn vào mã gerber hơn là hiển thị đồ họa cho bất kỳ mục đích chuyên nghiệp, nhiều lớp nghiêm túc nào bảng.
whatsisname

1

Nếu bạn đang sử dụng Kicad, hãy xem một số video từ các cuộc đàm phán tại KiCon đầu tiên (2019) trên Youtube. Một vài cuộc thảo luận đã được trình bày rõ ràng về các công cụ viết trình bày để tạo ra các phần, một cũng về các kết nối. Ít nhất một con trăn đã sử dụng, được nướng như một ngôn ngữ kịch bản.


1
Bạn có thể vui lòng xây dựng và thêm các liên kết đến video và các công cụ. (Vẫy tay về phía một hội nghị có thể là một nhận xét đáng giá, nhưng nó không hoàn toàn đủ điều kiện như một câu trả lời.)
Nick Alexeev
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.