查看:
76609
回复: 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()
4 BOM文件和位置文件会以CSV格式存放在电路板相同目录下,gerber和钻孔文件放在电路板目录下的gerber目录中。通过此方法生成的钻孔文件中的槽孔会被转换成多个普通孔。 注意:GenMFDoc() 会改变电路板的钻孔原点。建议先用GenMFDoc()生成BOM文件和位置文件,再生成Gerber文件。 生成的BOM文件和坐标文件以及gerber和钻孔文件可以直接在sz-jlc.com进行贴装 下载地址项目地址 https://github.com/xtoolbox/kicad_tools |
|||
|
发表于2018-08-24 17:06:50
|
只看该作者
2#
cool !
|
|||
|
发表于2018-09-03 14:37:51
|
只看该作者
3#
这个脚本能不能加一个开源协议授权? 我有点想给发行版打包(逃 |
|||
|
发表于2018-09-05 13:28:18
|
只看该作者
4#
没有协议随便搞 |
|||
|
发表于2018-09-10 09:39:51
|
只看该作者
5#
这个在5.0下面执行完好像什么都没有发生,没有任何文件生成呢
|
|||
|
发表于2018-09-10 12:25:16
|
只看该作者
6#
你是怎么执行,是通过python命令行还是工具菜单
|
|||
|
发表于2018-10-16 08:55:08
|
只看该作者
7#
是通过console 命令行
|
|||
|
发表于2018-10-18 10:35:46
|
只看该作者
8#
命令行中有没有显示什么信息 如果没有任何信息 可以在mf_tool.py中找到 sys.setdefaultencoding("utf8") 把这句话注释掉,然后重新启动脚本控制台运行脚本 可以看到输出信息 |
|||
|
发表于2018-10-21 10:16:33
|
只看该作者
9#
在这里获取最新版本,可以看到出错信息 |
|||
|
发表于2018-11-05 17:19:35
|
只看该作者
10#
有没有谁把AD文件转成KICAD的,我转过后发现所有过孔都没有了,这是什么原因?
|
|||
|
发表于2019-01-16 18:29:10
|
只看该作者
11#
我自己写了个脚本,功能跟这个差不多,用了很久了,一直没啥问题。最近下了个单子,结果二极管部分贴反了。跟嘉立创沟通后,大概原因是这样子,kicad所有层上元件的旋转角度是以top层为准。但是smt处理时嘉立创会强制镜像底层元件坐标。所以kicad的底层元件旋转角度就全错了。嘉立创说我以前所有的坐标都是错的,全靠手工修改。按这个说法,这得对kicad输出的底层元件的旋转角度做特殊处理。不知道有没有人遇到过跟我一样的问题?
|
|||
|
发表于2019-02-18 09:41:58
|
只看该作者
12#
KiCAD的坐标系和JLC的不太一样,需要做平移和旋转 现在JLC的下单助手可以预览,转出来的坐标可以先预览再发出去打样 |
|||
|
发表于2019-03-11 11:45:14
|
只看该作者
13#
kicad坐标系统应该是一样的吧!我一直都用kicad以及jlc打板。kicad旋转角度跟嘉力创规定一样,都是逆时针为正角度。只是kicad库中很多原件0度位置跟jlc规定不同,你得自己修改一套pcb封装库
|
|||
|
发表于2019-03-12 09:05:30
|
只看该作者
14#
top层一样,bottom层大概差了180度。kicad标准库中的元件还是符合规范的,第三方的就很难说了。
|
|||
|
发表于2019-03-25 23:35:55
|
只看该作者
15#
发现了一个问题。 我的自用元件库某些封装是用中文命名的。只要PCB中有放置这些封装。那么这个一键导出SMT的插件就不能成功运行。 报错如下
|
|||
|
发表于2019-03-29 17:45:54
|
只看该作者
16#
目前中文确实会有问题,因为中文有GBK,UTF8,GB2312这些常用的编码。在这些编码之间进行转换会比较麻烦 |
|||
|
发表于2019-04-16 15:19:39
|
只看该作者
17#
您好,请问一下我怎么修改那个mf_tool.py脚本让它输出Kicad封装库里面自己添加的字段,我现在找不到自己添加字段的那个变量名是什么,您能指点一下吗?
|
|||
|
发表于2019-05-28 19:47:21
|
只看该作者
18#
一直出现这个问题,我都是使用的嘉立创下载的库器件和封装。这什么原因? |
|||
|
发表于2019-06-03 11:55:25
|
只看该作者
19#
这是因为嘉立创的库文件中有中文,操作系统默认中文编码不一导致的问题。 |
|||
|
发表于2019-06-03 18:01:41
|
只看该作者
20#
大佬。能不能修复这个问题呢。
库中文确实比英文好用多了。我现在尽量用英文。但是有些料用英文真没法表述。
|
|||
|
发表于2019-06-05 10:41:42
|
只看该作者
21#
这个比较麻烦,因为KiCAD自身对中文的支持就不好 KiCAD中有些地方UTF8有正确显示,有些地方GB2312能正确显示 目前我用JLC的库,在KiCAD中导出的网表是UTF8格式,用工具可以正确输出打样 |
|||
|
发表于2019-06-06 17:12:44
|
只看该作者
22#
功能有所更新,增加了一个UI,可以选择生成哪些文件,以及是否生成元件编号的丝印。可以在日志框中查看错误信息。 有时候会出现 " print IOError: [Errno 9] Bad file descriptor " 这样的错误,遇到这种情况多试几次就能成功了
|
|||
|
发表于2019-06-06 20:21:58
|
只看该作者
23#
应该加一级文件夹单独放一起,插件里已经够乱了。在丢一堆文件进去。谁是谁都分不清了
|
|||
|
发表于2019-07-11 14:26:06
|
只看该作者
25#
群主这是什么原因: Start generate BOM list Error:Traceback (most recent call last): File "d:\Program Files\KiCad\share\kicad\scripting\plugins/mf_tool.py", line 705, in Onclick GenMFDoc(needGenBOM = self.chkBOM.GetValue(), needGenPos = self.chkPos.GetValue(), logger = lambda *args: self.log(*args) ) File "d:\Program Files\KiCad\share\kicad\scripting\plugins/mf_tool.py", line 531, in GenMFDoc bound = GetBoardBound(brd) File "d:\Program Files\KiCad\share\kicad\scripting\plugins/mf_tool.py", line 113, in GetBoardBound w = d.GetWidth() AttributeError: 'NoneType' object has no attribute 'GetWidth' |
|||
|
发表于2019-07-16 15:21:13
|
只看该作者
26#
你的KiCAD是什么版本的
|
|||
|
发表于2019-07-24 15:50:04
|
只看该作者
27#
kicad 5.1.2,外框是结构工程师给我的DXF文件导入的!不能获取宽是啥意思。这个也是同样问题,你可以试试,你看看能不能把判断条件在放开一些,记得有时候有2条cut线,都会出错!顶顶顶优化成为最牛逼的插件LED Board.rar
|
|||
|
发表于2019-07-28 22:40:30
|
只看该作者
28#
大神你好,可否参与贡献。
|
|||
|
发表于2019-07-28 22:51:46
|
只看该作者
29#
可以的,我尝试一下。
|
|||
|
发表于2019-07-29 09:14:35
|
只看该作者
30#
你的 PCB 板框无法识别出来。
|
|||
|
发表于2019-07-29 14:32:33
|
只看该作者
31#
|
|||
|
发表于2019-08-12 15:44:54
|
只看该作者
32#
有边框,dxf边是不完整的边框吗?还会必须手动画边框才支持。
|
|||
|
发表于2019-09-01 21:56:39
|
只看该作者
33#
您好,在windows 版 KICAD 5.1.4成功使用了您的插件,非常的方便,感激不尽 但是LINUX版的 KICAD 5.1.4 只能使用 Python3 , 所以无法使用这个插件,我试过简单地用 2to3 插件更新py脚本也无法使用, 请问大佬能帮忙更新一个py3版本吗,KICAD今后都是主推python3了所以这个强大的插件用不了真的非常困扰啊 |
|||
|
发表于2019-09-04 15:15:32
|
只看该作者
34#
我这边没有linux的环境,后面windows版本也使用python3的时候,会将脚本更新到python3上
|
|||
|
发表于2019-09-17 20:49:46
|
只看该作者
35#
为什么KICAD里面改了封装后坐标没了,但是BOOM表里有 |
|||
|
发表于2019-11-06 14:21:33
|
只看该作者
36#
你好,我下载了插件,生成文件后里面Description都是desc,请问这个怎么弄?
|
|||
|
发表于2019-12-17 00:09:29
|
只看该作者
37#
非常不错
|
|||
|
发表于2020-03-28 18:55:42
|
只看该作者
38#
请问用什么插件能生成您这样的BOM表,我生成的就是一个CSV文件,如何整理成您这样的文件?另外位置文件POS文件怎么打开?
|
|||
|
发表于2020-04-17 09:58:12
|
只看该作者
39#
您好,请教一下,您是怎么转的,可以教我不
|
|||
|
发表于2020-05-26 09:36:24
|
只看该作者
40#
请问以下,我这边在 Win10 环境,Kicad 5.1.6 版本,把脚本拷贝到了 "C:\Program Files\KiCad\share\kicad\scripting\plugins" 路径下, 可是我在软件上怎么刷新也看不到插件? 我在 github 下载了好几个插件尝试过,都是无法显示外部插件。请问这种情况如何解决呢? |
|||
|
发表于2020-05-26 10:48:36
|
只看该作者
41#
新的KiCad插件目录放到这里了 C:\Users\<your user name>\AppData\Roaming\kicad\scripting\plugins\kicad_tools 把上面的<your user name>换成你的用户名 或者在【运行】中输入 %APPDATA%,进入应用程序数据目录 |
|||
|
发表于2020-05-26 13:13:22
|
只看该作者
42#
经过测试,放在这个目录下还是没有找到任何插件~~~~ C:\Users\jx\AppData\Roaming\kicad\scripting\plugins 我这边连软件都重装过了,还是不行。不只知道有没有什么方法判断出是什么问题导致的呢? |
|||
|
发表于2020-05-26 14:36:32
|
只看该作者
43#
用tree /f 命令看一下你的plugins目录中的文件结构是什么样的 正常情况下是正面这样的 C:. └─plugins └─kicad_tools gerber_drill.py kisexp.py loadnet.py mf_tool.py __init__.py |
|||
|
发表于2020-05-26 15:25:17
|
只看该作者
44#
目录结构是下面这样子的,我放了各种插件去尝试过,东西太多我删除了其它插件。 这个目录在我装软件的时候是没有的,是我自己建的目录。 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 15:50:21
|
只看该作者
45#
目录结构是正确的 在KiCad的pcbnew的Python命令行窗口中,执行 import kicad_tools是什么结果 我的执行结果如下: 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\wise_dev\AppData\Roaming\kicad\PyShell_pcbnew_startup.py import kicad_tools Namespace窗口中的内容如下: locals() Type: <type 'dict'> Value: {'pp': <bound method Display.setItem of <wx.py.crust.Display; proxy of <Swig Object of type 'wxStyledTextCtrl *' at 0xc72a4e0> >>, 'shell': <wx.py.shell.Shell; proxy of <Swig Object of type 'wxStyledTextCtrl *' at 0xc6dd670> >, '__builtins__': <module '__builtin__' (built-in)>, '__package__': None, 'filling': <wx.py.filling.Filling; proxy of <Swig Object of type 'wxSplitterWindow *' at 0x97ab770> >, 'notebook': <wx._controls.Notebook; proxy of <Swig Object of type 'wxNotebook *' at 0xa2607f0> >, 'kicad_tools': <module 'kicad_tools' from 'C:\Users\xtoolbox\AppData\Roaming\kicad\scripting\plugins/kicad_tools/__init__.pyc'>, '__name__': '__main__', '__doc__': None} |
|||
|
发表于2020-05-26 20:40:21
|
只看该作者
46#
------------------------------------------------------------------------------------- Shell: ------------------------------------------------------------------------------------- Py 0.9.8Python 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 的压缩文件也最好可以提供文件名输入,个人有些习惯问题。例如:项目名称_文件类型_版本_日期 其它文件也是如此最好。 最后,谢谢啦。脚本挺方便的! |
|||
|
发表于2020-05-28 13:55:55
|
只看该作者
49#
对的,就是你说的这些问题。根据你的反馈修改了文件。
|
|||
|
发表于2020-09-07 17:36:24
|
只看该作者
50#
请教下。
这款插件输出的gerber文件,使用CAM350无法查看,是有意限制吗? 对比过,kicad手动输出的gerber文件是能读取的。
|
|||
|
发表于2020-09-08 10:35:14
|
只看该作者
51#
你好,Gerber的输出没有做限制,都是调用的KiCAD本身的命令完成的。 我没有用CAM350测试过,都是用KiCAD自带的Gerber查看器查看的。 你可以试试用《嘉立创下单助手》能不能正常识别输出的Gerber,如果可以,说明是和CAM350有兼容问题。 我这边一直都是输出后直接把生成的压缩包发给JLC,还没有出过问题。 |
|||
|
发表于2020-09-27 23:06:36
|
只看该作者
52#
能不能帮忙测试一下KiCad 5.99 nightly build下面怎么使用这个工具,目前nightly build使用不了这个工具 非常感谢,希望能够用上嘉立创的SMT |
|