关于KiCAD画PCB操作的相关问题请教
最近在尝试用KiCAD软件来画板子,遇到一些问题想请教老司机该怎么操作:1. 在元件布局时多个元件对齐是怎么操作的。
2. 测量距离有没有什么命令操作,目前我只能通过看坐标来自己计算。
3. 我在画PCB时边画边在修改原理图,发现通过网络表不能使原理图跟PCB一致。比如我先已经导入网络表了,现在在原理图总把一些元件删除或改成其他名称了,直接通过网络表导入后发现已经被删除的元件还在,而且网络都没有变。另外如果我想把网络全部删除掉有没有什么命令操作。 开源的免费的用起来好蛋疼,ad现在公司不准用,有点晕。 1.写脚本
2.放置->尺寸标注
3.导入的时候交换封装选删除 笑笑我笑了 发表于 2018-5-24 07:36
1.写脚本
2.放置->尺寸标注
3.导入的时候交换封装选删除
多谢!请问哪里有相关的脚本例程下载? ZXL1969 发表于 2018-5-23 19:20
开源的免费的用起来好蛋疼,ad现在公司不准用,有点晕。
没办法,有得必有失,所以现在尝试一下嘛 hy317 发表于 2018-5-24 08:36
多谢!请问哪里有相关的脚本例程下载?
以前画的一个64路DO的板子的对齐脚本你参考下
# -*- coding: utf-8> -*-
from pcbnew import *
pcb = LoadBoard('ioexpend.kicad_pcb');
for module in pcb.GetModules():
if module.GetReference() == 'P1001':
P301PosY = module.GetPosition().y;
P301PosX = module.GetPosition().x;
for module in pcb.GetModules():
if module.GetReference() == 'P701':
P1001PosY = module.GetPosition().y;
P1001PosX = module.GetPosition().x;
#R10**
refList = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10',
'11', '12', '13', '14', '15', '16', '17', '18', '19','20', '21', '22', '23', '24'];
for s in refList:
refString = 'R10' + s
realString= 'R7' + s;
for module in pcb.GetModules():
if module.GetReference() == refString:
PosY = module.GetPosition().y;
PosX = module.GetPosition().x;
print realString
for module in pcb.GetModules():
if module.GetReference() == realString:
deltaPosX = PosX - P301PosX;
realPosX = P1001PosX + deltaPosX;
module.SetPosition(wxPoint(realPosX, PosY));
#D1001-D1008
refList = ['01', '02', '03', '04', '05', '06', '07', '08'];
for s in refList:
refString = 'D10' + s;
realString= 'D7' + s;
for module in pcb.GetModules():
if module.GetReference() == refString:
PosY = module.GetPosition().y;
PosX = module.GetPosition().x;
print realString
for module in pcb.GetModules():
if module.GetReference() == realString:
deltaPosX = PosX - P301PosX;
realPosX = P1001PosX + deltaPosX;
module.SetPosition(wxPoint(realPosX, PosY));
refList = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11'];
for s in refList:
refString = 'U10' + s
realString= 'U7' + s;
for module in pcb.GetModules():
if module.GetReference() == refString:
PosY = module.GetPosition().y;
PosX = module.GetPosition().x;
print realString
for module in pcb.GetModules():
if module.GetReference() == realString:
deltaPosX = PosX - P301PosX;
realPosX = P1001PosX + deltaPosX;
module.SetPosition(wxPoint(realPosX, PosY));
#保存
SaveBoard('ioexpend.kicad_pcb', pcb);
不知道你用的是啥版本,我用5.0版,自己编译的版本
1.按shift选中需要对齐的元件,右键菜单里就有对齐选项
2.a)有测量工具啊。b)把鼠标放到起始位置,按空格键,底部状态栏里的dx/dy就会清零,然后移动鼠标就可以看到鼠标当前位置相对起始位置的距离
3.a)导入网络表的时候有些选项,比如删除/保留多余的封装,不知你选了没有。b)现在pcbnew跟eeschema都有"update pcb from schematic"功能 笑笑我笑了 发表于 2018-5-24 09:16
以前画的一个64路DO的板子的对齐脚本你参考下
非常感谢!! max 发表于 2018-5-24 09:31
不知道你用的是啥版本,我用5.0版,自己编译的版本
1.按shift选中需要对齐的元件,右键菜单里就有对齐选项 ...
非常感谢!
我就是在官网下的4.07版 hy317 发表于 2018-5-24 08:37
没办法,有得必有失,所以现在尝试一下嘛
以前的Protel 99 SE格式文能转为kicad文件吗?能转的话就好了。 ZXL1969 发表于 2018-5-24 19:13
以前的Protel 99 SE格式文能转为kicad文件吗?能转的话就好了。
试试这个
https://github.com/thesourcerer8/altium2kicad max 发表于 2018-5-24 19:55
试试这个
https://github.com/thesourcerer8/altium2kicad
谢谢!! max 发表于 2018-5-24 19:55
试试这个
https://github.com/thesourcerer8/altium2kicad
太谢谢了,有kicad转ad的吗? ZXL1969 发表于 2018-5-25 07:30
太谢谢了,有kicad转ad的吗?
这个就不大清楚了 静下心来玩了一下,发现这东西好傻比,其中圆的属性好久都没搞懂,上面x中心y中心是圆的中心坐标,下面x y搞不明白,输入数字都可改变圆半径,而圆半径这一重要属性没地方输入!!! ZXL1969 发表于 2018-5-27 11:01
静下心来玩了一下,发现这东西好傻比,其中圆的属性好久都没搞懂,上面x中心y中心是圆的中心坐标,下面x y ...
后面那个应该是圆上一个点的坐标
页:
[1]