查看:
60126
回复: 66 |
【工具】KiCAD 一键导出生产文件。 坐标,BOM,以及Gerber
|
|||
![]() ![]()
XToolbox
4
主题
46
回复 |
![]()
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
![]() xtoolbox.org
|
|||
![]() ![]() 【官方工作人员】
199
主题
1118
回复 |
2#
cool !
![]() 深圳市嘉立创科技发展有限公司 SMT事业部:http://www.sz-jlc.com
|
|||
![]()
Icenowy
0
主题
1
回复 |
3#
这个脚本能不能加一个开源协议授权?
我有点想给发行版打包(逃 ![]() |
|||
![]() ![]()
XToolbox
4
主题
46
回复 |
4#
没有协议随便搞 ![]() xtoolbox.org
|
|||
![]()
RQBH
1
主题
8
回复 |
5#
这个在5.0下面执行完好像什么都没有发生,没有任何文件生成呢
![]() |
|||
![]() ![]()
XToolbox
4
主题
46
回复 |
6#
你是怎么执行,是通过python命令行还是工具菜单
![]() xtoolbox.org
|
|||
![]()
RQBH
1
主题
8
回复 |
7#
是通过console 命令行
![]() |
|||
![]() ![]()
XToolbox
4
主题
46
回复 |
8#
命令行中有没有显示什么信息 如果没有任何信息 可以在mf_tool.py中找到 sys.setdefaultencoding("utf8") 把这句话注释掉,然后重新启动脚本控制台运行脚本 可以看到输出信息 ![]() xtoolbox.org
|
|||
![]() ![]()
XToolbox
4
主题
46
回复 |
9#
在这里获取最新版本,可以看到出错信息 ![]() xtoolbox.org
|
|||
![]()
MCUMCU
0
主题
9
回复 |
10#
有没有谁把AD文件转成KICAD的,我转过后发现所有过孔都没有了,这是什么原因?
![]() |
|||
![]()
stentor
3
主题
10
回复 |
11#
我自己写了个脚本,功能跟这个差不多,用了很久了,一直没啥问题。最近下了个单子,结果二极管部分贴反了。跟嘉立创沟通后,大概原因是这样子,kicad所有层上元件的旋转角度是以top层为准。但是smt处理时嘉立创会强制镜像底层元件坐标。所以kicad的底层元件旋转角度就全错了。嘉立创说我以前所有的坐标都是错的,全靠手工修改。按这个说法,这得对kicad输出的底层元件的旋转角度做特殊处理。不知道有没有人遇到过跟我一样的问题?
![]() |
|||
![]() ![]()
XToolbox
4
主题
46
回复 |
12#
KiCAD的坐标系和JLC的不太一样,需要做平移和旋转 现在JLC的下单助手可以预览,转出来的坐标可以先预览再发出去打样 ![]() xtoolbox.org
|
|||
![]()
乱十七
2
主题
27
回复 |
13#
kicad坐标系统应该是一样的吧!我一直都用kicad以及jlc打板。kicad旋转角度跟嘉力创规定一样,都是逆时针为正角度。只是kicad库中很多原件0度位置跟jlc规定不同,你得自己修改一套pcb封装库
![]() |
|||
![]()
stentor
3
主题
10
回复 |
14#
top层一样,bottom层大概差了180度。kicad标准库中的元件还是符合规范的,第三方的就很难说了。
![]() |
|||
![]()
飞过海的嘎嘎嘎
13
主题
102
回复 |
15#
发现了一个问题。 我的自用元件库某些封装是用中文命名的。只要PCB中有放置这些封装。那么这个一键导出SMT的插件就不能成功运行。 报错如下
![]() |
|||
![]() ![]()
XToolbox
4
主题
46
回复 |
16#
目前中文确实会有问题,因为中文有GBK,UTF8,GB2312这些常用的编码。在这些编码之间进行转换会比较麻烦 ![]() xtoolbox.org
|
|||
![]()
懿缁
0
主题
4
回复 |
17#
您好,请问一下我怎么修改那个mf_tool.py脚本让它输出Kicad封装库里面自己添加的字段,我现在找不到自己添加字段的那个变量名是什么,您能指点一下吗?
![]() |
|||
![]()
Armoric
0
主题
2
回复 |
18#
一直出现这个问题,我都是使用的嘉立创下载的库器件和封装。这什么原因? ![]() |
|||
![]() ![]()
XToolbox
4
主题
46
回复 |
19#
这是因为嘉立创的库文件中有中文,操作系统默认中文编码不一导致的问题。 ![]() xtoolbox.org
|
|||
![]()
飞过海的嘎嘎嘎
13
主题
102
回复 |
20#
大佬。能不能修复这个问题呢。
库中文确实比英文好用多了。我现在尽量用英文。但是有些料用英文真没法表述。
![]() |
|||
![]() ![]()
XToolbox
4
主题
46
回复 |
21#
这个比较麻烦,因为KiCAD自身对中文的支持就不好 KiCAD中有些地方UTF8有正确显示,有些地方GB2312能正确显示 目前我用JLC的库,在KiCAD中导出的网表是UTF8格式,用工具可以正确输出打样 ![]() xtoolbox.org
|
|||
![]() ![]()
XToolbox
4
主题
46
回复 |
22#
功能有所更新,增加了一个UI,可以选择生成哪些文件,以及是否生成元件编号的丝印。可以在日志框中查看错误信息。 有时候会出现 " print IOError: [Errno 9] Bad file descriptor " 这样的错误,遇到这种情况多试几次就能成功了
![]() xtoolbox.org
|
|||
![]()
飞过海的嘎嘎嘎
13
主题
102
回复 |
23#
![]() ![]() |
|||
![]()
smartboard
2
主题
4
回复 |
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' ![]() |
|||
![]() ![]()
XToolbox
4
主题
46
回复 |
26#
你的KiCAD是什么版本的
![]() xtoolbox.org
|
|||
![]()
smartboard
2
主题
4
回复 |
27#
kicad 5.1.2,外框是结构工程师给我的DXF文件导入的!不能获取宽是啥意思。这个也是同样问题,你可以试试,你看看能不能把判断条件在放开一些,记得有时候有2条cut线,都会出错!顶顶顶优化成为最牛逼的插件LED Board.rar
![]() |
|||
![]()
F4NNIU
6
主题
27
回复 |
28#
大神你好,可否参与贡献。
![]() FastAdmin 开源后台框架 www.FastAdmin.net
|
|||
![]()
F4NNIU
6
主题
27
回复 |
29#
可以的,我尝试一下。
![]() FastAdmin 开源后台框架 www.FastAdmin.net
|
|||
![]()
F4NNIU
6
主题
27
回复 |
30#
你的 PCB 板框无法识别出来。
![]() FastAdmin 开源后台框架 www.FastAdmin.net
|
|||
![]()
F4NNIU
6
主题
27
回复 |
31#
![]() FastAdmin 开源后台框架 www.FastAdmin.net
|
|||
![]()
smartboard
2
主题
4
回复 |
32#
有边框,dxf边是不完整的边框吗?还会必须手动画边框才支持。
![]() |
|||
![]()
netube
0
主题
1
回复 |
33#
您好,在windows 版 KICAD 5.1.4成功使用了您的插件,非常的方便,感激不尽 但是LINUX版的 KICAD 5.1.4 只能使用 Python3 , 所以无法使用这个插件,我试过简单地用 2to3 插件更新py脚本也无法使用, 请问大佬能帮忙更新一个py3版本吗,KICAD今后都是主推python3了所以这个强大的插件用不了真的非常困扰啊 ![]() 电容反接法力无边
|
|||
![]() ![]()
XToolbox
4
主题
46
回复 |
34#
我这边没有linux的环境,后面windows版本也使用python3的时候,会将脚本更新到python3上
![]() xtoolbox.org
|
|||
![]()
小猪芬迪克
0
主题
2
回复 |
35#
为什么KICAD里面改了封装后坐标没了,但是BOOM表里有
|
|||
![]()
StarSky
0
主题
1
回复 |
36#
你好,我下载了插件,生成文件后里面Description都是desc,请问这个怎么弄?
|
|||
![]()
棠城实验室
1
主题
24
回复 |
37#
非常不错
|
|||
![]()
东莞张工POWER
0
主题
2
回复 |
38#
请问用什么插件能生成您这样的BOM表,我生成的就是一个CSV文件,如何整理成您这样的文件?另外位置文件POS文件怎么打开?
|
|||
![]()
CNII
0
主题
1
回复 |
39#
您好,请教一下,您是怎么转的,可以教我不
|
|||
![]()
Jinxing
0
主题
6
回复 |
40#
请问以下,我这边在 Win10 环境,Kicad 5.1.6 版本,把脚本拷贝到了 "C:\Program Files\KiCad\share\kicad\scripting\plugins" 路径下, 可是我在软件上怎么刷新也看不到插件? 我在 github 下载了好几个插件尝试过,都是无法显示外部插件。请问这种情况如何解决呢? |
|||
![]() ![]()
XToolbox
4
主题
46
回复 |
41#
新的KiCad插件目录放到这里了 C:\Users\<your user name>\AppData\Roaming\kicad\scripting\plugins\kicad_tools 把上面的<your user name>换成你的用户名
或者在【运行】中输入 %APPDATA%,进入应用程序数据目录 ![]() xtoolbox.org
|
|||
![]()
Jinxing
0
主题
6
回复 |
42#
经过测试,放在这个目录下还是没有找到任何插件~~~~ C:\Users\jx\AppData\Roaming\kicad\scripting\plugins
我这边连软件都重装过了,还是不行。不只知道有没有什么方法判断出是什么问题导致的呢? |
|||
![]() ![]()
XToolbox
4
主题
46
回复 |
43#
用tree /f 命令看一下你的plugins目录中的文件结构是什么样的 正常情况下是正面这样的
C:. └─plugins └─kicad_tools gerber_drill.py kisexp.py loadnet.py mf_tool.py __init__.py
![]() xtoolbox.org
|
|||
![]()
Jinxing
0
主题
6
回复 |
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
|
|||
![]() ![]()
XToolbox
4
主题
46
回复 |
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}
![]() xtoolbox.org
|
|||
![]()
Jinxing
0
主题
6
回复 |
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}
|
|||
![]()
Jinxing
0
主题
6
回复 |
47#
已经可以使用啦~~ 删除了那行有绝对路径的就不报错了,麻烦下次把 python 格式整理一下吧。 感觉编程习惯不是很好。。 N多空行,调试的东西不删除。。 |
|||
![]()
Jinxing
0
主题
6
回复 |
48#
顺便提几个问题! 1. 能否设置 BOM、Gerber,自定义输出路径。虽然手动改 python 代码路径也可以。 但是能直接输入更方便。 2. Gerber 的命名是什么规则? 3. Gerber 的压缩文件也最好可以提供文件名输入,个人有些习惯问题。例如:项目名称_文件类型_版本_日期 其它文件也是如此最好。 最后,谢谢啦。脚本挺方便的! |
|||
![]() ![]()
XToolbox
4
主题
46
回复 |
49#
对的,就是你说的这些问题。根据你的反馈修改了文件。
![]() xtoolbox.org
|
|||
![]()
liuzm
0
主题
1
回复 |
50#
请教下。
这款插件输出的gerber文件,使用CAM350无法查看,是有意限制吗? 对比过,kicad手动输出的gerber文件是能读取的。
|
|||
![]() ![]()
XToolbox
4
主题
46
回复 |
51#
你好,Gerber的输出没有做限制,都是调用的KiCAD本身的命令完成的。 我没有用CAM350测试过,都是用KiCAD自带的Gerber查看器查看的。 你可以试试用《嘉立创下单助手》能不能正常识别输出的Gerber,如果可以,说明是和CAM350有兼容问题。 我这边一直都是输出后直接把生成的压缩包发给JLC,还没有出过问题。 ![]() xtoolbox.org
|
|||
![]()
妥妥拉拉
0
主题
3
回复 |
52#
能不能帮忙测试一下KiCad 5.99 nightly build下面怎么使用这个工具,目前nightly build使用不了这个工具 非常感谢,希望能够用上嘉立创的SMT |
|