查看: 75947
回复: 66
【工具】KiCAD 一键导出生产文件。 坐标,BOM,以及Gerber

主题

回复
发表于2018-08-24 11:23:36 | 显示全部楼层
1# 电梯直达

更新了之前的工具 KiCAD 导出SMT贴片机用的坐标文件和BOM文件


一次性导出坐标文件,BOM文件,以及Gerber文件。工具会将钻孔文件的槽孔会根据孔径转换成多个普通孔,也可以在脚本中保留槽孔不转换

使用方法:

1 复制mf_tool.py和gerber_drill.py到"[KiCad安装目录]\share\kicad\scripting\plugins" 路径下

2 在KiCAD的Python命令行窗口中键入下列命令:

import mf_tool as mf
mf.GenSMTFiles()
  1. 或者在[工具]->[外部工具]下执行Gen Manufacture Docs命令。

4 BOM文件和位置文件会以CSV格式存放在电路板相同目录下,gerber和钻孔文件放在电路板目录下的gerber目录中。通过此方法生成的钻孔文件中的槽孔会被转换成多个普通孔。

注意:

GenMFDoc() 会改变电路板的钻孔原点。建议先用GenMFDoc()生成BOM文件和位置文件,再生成Gerber文件。

生成的BOM文件和坐标文件以及gerber和钻孔文件可以直接在sz-jlc.com进行贴装

下载地址


kicad_tools.zip 

项目地址

https://github.com/xtoolbox/kicad_tools



主题

回复
发表于2020-05-26 09:36:24   |  显示全部楼层
40#
发表于2019-09-04 15:15:32  34# 我这边没有linux的环境,后面windows版本也使用python3的时候,会将脚本更新到python3上

请问以下,我这边在 Win10 环境,Kicad 5.1.6 版本,把脚本拷贝到了 "C:\Program Files\KiCad\share\kicad\scripting\plugins" 路径下,

可是我在软件上怎么刷新也看不到插件?

我在 github 下载了好几个插件尝试过,都是无法显示外部插件。请问这种情况如何解决呢?


主题

回复
发表于2020-05-26 13:13:22   |  显示全部楼层
42#
发表于2020-05-26 10:48:36  41# 新的KiCad插件目录放到这里了C:\Users\<yourusername>\AppData\Roamin...

经过测试,放在这个目录下还是没有找到任何插件~~~~

C:\Users\jx\AppData\Roaming\kicad\scripting\plugins


我这边连软件都重装过了,还是不行。不只知道有没有什么方法判断出是什么问题导致的呢?


主题

回复
发表于2020-05-26 15:25:17   |  显示全部楼层
44#
发表于2020-05-26 14:36:32  43# 用tree/f命令看一下你的plugins目录中的文件结构是什么样的正常情况下是正面这样的C:.└─plugins└─k...

目录结构是下面这样子的,我放了各种插件去尝试过,东西太多我删除了其它插件。

这个目录在我装软件的时候是没有的,是我自己建的目录。


PS C:\Users\jx\AppData\Roaming\kicad> tree /f

C:.

│  bitmap2component

│  eeschema

│  fp-lib-table

│  kicad

│  kicad_common

│  pcbnew

│  PcbNew.hotkeys

│  PyShell_pcbnew.cfg

│  PyShell_pcbnew_startup.py

│  sym-lib-table

└─scripting

   └─plugins

       └─kicad_tools

              .gitignore

               .gitignore

               desc.png

               gerber_drill.py

               gerber_drill.pyc

               holes_with_ref.png

               kisexp.py

               kisexp.pyc

               layout_tool.py

               loadnet.pyc

               mf_tool.py

               README.md

               slot_without_ref.png

               __init__.py

               __init__.pyc

               mf_tool.pyc

               qrcode_footprint_wizard.py

               LICENSE

               loadnet.py



主题

回复
发表于2020-05-26 20:40:21   |  显示全部楼层
46#

-------------------------------------------------------------------------------------

Shell:

-------------------------------------------------------------------------------------

Py 0.9.8

Python 2.7.16 (default, Aug 15 2019, 17:51:40)  [GCC 9.2.0 64 bit (AMD64)] on win32

Type "help", "copyright", "credits" or "license" for more information.

Startup script executed: C:\Users\djx\AppData\Roaming\kicad\PyShell_pcbnew_startup.py

import kicad_tools

Traceback (most recent call last):

 File "<input>", line 1, in <module>

 File "C:\Program Files\KiCad\share\kicad\scripting\plugins/kicad_tools/__init__.py", line 1, in <module>

   from . import mf_tool

 File "C:\Program Files\KiCad\share\kicad\scripting\plugins/kicad_tools/mf_tool.py", line 11, in <module>

   import loadnet

 File "C:\Program Files\KiCad\share\kicad\scripting\plugins/kicad_tools/loadnet.py", line 1, in <module>

   import kisexp as sexp

 File "C:\Program Files\KiCad\share\kicad\scripting\plugins/kicad_tools/kisexp.py", line 86, in <module>

   loadKicadNet("D:\\work\\xtools\\usb_pv\\handware\\hw.net")

 File "C:\Program Files\KiCad\share\kicad\scripting\plugins/kicad_tools/kisexp.py", line 80, in loadKicadNet

   file = io.open(filename, "r", encoding="utf-8")

IOError: [Errno 2] No such file or directory: 'D:\\work\\xtools\\usb_pv\\handware\\hw.net'


这里为什么有个绝对路径??


-------------------------------------------------------------------------------------

Namespace 输出信息:

-------------------------------------------------------------------------------------


locals()


Type: <type 'dict'>


Value: {'pp': <bound method Display.setItem of <wx.py.crust.Display; proxy of <Swig Object of type 'wxStyledTextCtrl *' at 0xeaf4ba0> >>, 'shell': <wx.py.shell.Shell; proxy of <Swig Object of type 'wxStyledTextCtrl *' at 0xeaf3660> >, '__builtins__': <module '__builtin__' (built-in)>, '__package__': None, 'filling': <wx.py.filling.Filling; proxy of <Swig Object of type 'wxSplitterWindow *' at 0xe19baa0> >, 'notebook': <wx._controls.Notebook; proxy of <Swig Object of type 'wxNotebook *' at 0xf9191f0> >, '__name__': '__main__', '__doc__': None}





主题

回复
发表于2020-05-26 22:00:41   |  显示全部楼层
47#

已经可以使用啦~~

删除了那行有绝对路径的就不报错了,麻烦下次把 python 格式整理一下吧。

感觉编程习惯不是很好。。 N多空行,调试的东西不删除。。


主题

回复
发表于2020-05-26 22:08:53   |  显示全部楼层
48#

顺便提几个问题!

1. 能否设置 BOM、Gerber,自定义输出路径。虽然手动改 python 代码路径也可以。

但是能直接输入更方便。

2. Gerber 的命名是什么规则?

3. Gerber 的压缩文件也最好可以提供文件名输入,个人有些习惯问题。例如:项目名称_文件类型_版本_日期

其它文件也是如此最好。

最后,谢谢啦。脚本挺方便的!


主题

回复
  • 温馨提示: 标题不合格、重复发帖、发布广告贴,将会被删除帖子或禁止发言。 详情请参考: 社区发帖规则
  • 您当前输入了 0 个文字。还可以输入 8000 个文字。 已添加复制上传图片功能,该功能目前仅支持chrome和火狐

禁言/删除

X
请选择禁言时长:
是否清除头像:
禁言/删除备注:
昵 称:
 
温馨提示:昵称只能设置一次,设置后无法修改。
只支持中文、英文和数字。

举报

X
请选择举报类型:
请输入详细内容:

顶部