使用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如何在表被注释到配置之前获取表的元数据?   java滚动条不会出现在JList上   java JOGL监视器GPU内存   java为什么要使用RecyclerView onDraw延迟   java定制Oppo Reno 2 Z CPH1951(手机型号)的固件(闪存文件)   java自定义线程池执行器   java如何解决发布版本中重复的jar条目[com/安卓/volley/R.class]?   java如何使用Bukkit API触发事件?   java在blazemeter jmeter RTE插件中使用ctrl+w输入   C#/Visual Studio的java JDT等价物   java为什么当maxread值很大而收到的消息数量很小时,卡夫卡消费者会无限期消费?   java游戏2。x:包含模板列表的绑定模型   带压缩的java日志旋转   运行时。exec用java运行程序读取它正在做什么