使用python脚本创建kicad示意图

KicadModTree的Python项目详细描述


此存储库包含使用python生成自定义kicad示意图的脚本,以及允许我们 创建自定义kicad示意图。使用这个框架开发了kicad库的大量足迹。

KicadmodTree

许可证:gnu gplv3+

维护者:thomas pointhuber

Build StatusCode ClimateDocumentation Status

支持:python 2.7和3.3+

关于

我开始为kicad绘制一些类似的示意图,比如连接器,它们主要是一个基本形状,不同的 针数。为了能够快速更新/改进这些封装外形,我决定编写自己的封装外形生成器框架, 允许简单地创建简单而复杂的形状。

这是我的第二种方法(第一种方法可以在git历史中找到)。这个解决方案应该很容易 使用、读取以及使用自定义节点易于扩展。

概述

该框架主要基于脚本化cad系统(例如openscad)的思想。这意味着,一切都是 节点,可以像树一样构造。换言之,您可以将封装外形的部分分组,并将它们转换为 你想要的方式。克隆公司也不再是问题,因为这个概念。

为了能够创建自定义节点,我将系统分为两部分。基本节点,表示简单的结构 也可由kicad本身和改变基本节点行为的专用节点(例如定位)使用, 或者表示基节点的特殊用法(例如rectline)。

序列化封装外形时,serialize命令只需处理基节点,因为所有其他节点都基于 在基节点上。这允许我们编写专门的节点,而不必担心文件处理程序或其他核心系统。 您只需创建您的特殊节点,框架就知道如何无缝地处理它。

有关详细信息,请查看Documentation

KicadModTree        - The KicadModTree framework which is used for footprint generation
docs                - Files required to generate a sphinx documentation
scripts             - scripts which are generating footprints based on this library

开发

安装开发依赖项

manage.sh update_dev_packages

运行测试

manage.sh tests

示例脚本

fromKicadModTreeimport*footprint_name="example_footprint"# init kicad footprintkicad_mod=Footprint(footprint_name)kicad_mod.setDescription("A example footprint")kicad_mod.setTags("example")# set general valueskicad_mod.append(Text(type='reference',text='REF**',at=[0,-3],layer='F.SilkS'))kicad_mod.append(Text(type='value',text=footprint_name,at=[1.5,3],layer='F.Fab'))# create silscreenkicad_mod.append(RectLine(start=[-2,-2],end=[5,2],layer='F.SilkS'))# create courtyardkicad_mod.append(RectLine(start=[-2.25,-2.25],end=[5.25,2.25],layer='F.CrtYd'))# create padskicad_mod.append(Pad(number=1,type=Pad.TYPE_THT,shape=Pad.SHAPE_RECT,at=[0,0],size=[2,2],drill=1.2,layers=Pad.LAYERS_THT))kicad_mod.append(Pad(number=2,type=Pad.TYPE_THT,shape=Pad.SHAPE_CIRCLE,at=[3,0],size=[2,2],drill=1.2,layers=Pad.LAYERS_THT))# add modelkicad_mod.append(Model(filename="example.3dshapes/example_footprint.wrl",at=[0,0,0],scale=[1,1,1],rotate=[0,0,0]))# output kicad modelfile_handler=KicadFileHandler(kicad_mod)file_handler.writeFile('example_footprint.kicad_mod')

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Admob不使用webview   Java Wicket表单:序列化对象类“myClassName”时出错   java googledriveapi更新文件与我的帐户管理员   java简单框架未知xml标记解析   java如何使用主类和用户获取Spark应用程序ID   java如何更改自定义属性的值?   java有没有办法在jMock中找到未使用的期望值?   gradle运行任务的java文档?   java通过使用数组来存储文本文件的行,通过覆盖来删除文本文件中的行   用于表达式语言注入的java利用负载   java IDEStyle程序运行   java在运行时启用/禁用Springws   爪哇芦苇。formatNumber NullPointException   java为什么我的代码无法检测两个动态实体之间的碰撞?