如何使用 KiCAD pcbnew 插件 Python API 获取封装图形元素
查看我们之前的文章 如何使用 KiCAD pcbnew 插件 Python API 获取所有封装列表 和 如何使用 KiCAD pcbnew 插件 Python API 获取所有选中的封装 了解如何获取封装对象的更多信息。
一旦你有 pcbnew.FOOTPRINT 对象,你可以使用以下命令获取其图形元素(基本上是封装中的线、矩形、圆等 - 但不包括任何丝印标签)
footprint_graphical_elements.py
footprint.GraphicalElements()示例:
footprint_graphical_iter.py
for graphical_element in footprint.GraphicalItems():
print(graphical_element)输出:
output.txt
<pcbnew.FP_TEXT; proxy of <Swig Object of type 'FP_TEXT *' at 0x7fc47f2c41e0> >
<pcbnew.FP_SHAPE; proxy of <Swig Object of type 'FP_SHAPE *' at 0x7fc47f0f10b0> >
<pcbnew.FP_SHAPE; proxy of <Swig Object of type 'FP_SHAPE *' at 0x7fc47f2c69d0> >
<pcbnew.FP_SHAPE; proxy of <Swig Object of type 'FP_SHAPE *' at 0x7fc47f2c6d30> >
<pcbnew.FP_SHAPE; proxy of <Swig Object of type 'FP_SHAPE *' at 0x7fc47f0f10e0> >
<pcbnew.FP_SHAPE; proxy of <Swig Object of type 'FP_SHAPE *' at 0x7fc47f2c6cd0> >
<pcbnew.FP_SHAPE; proxy of <Swig Object of type 'FP_SHAPE *' at 0x7fc47f2c6ca0> >
<pcbnew.FP_SHAPE; proxy of <Swig Object of type 'FP_SHAPE *' at 0x7fc47f0f38d0> >
<pcbnew.FP_SHAPE; proxy of <Swig Object of type 'FP_SHAPE *' at 0x7fc47f2c68b0> >
<pcbnew.FP_SHAPE; proxy of <Swig Object of type 'FP_SHAPE *' at 0x7fc47f2c41e0> >
<pcbnew.FP_SHAPE; proxy of <Swig Object of type 'FP_SHAPE *' at 0x7fc47f0f10b0> >
<pcbnew.FP_SHAPE; proxy of <Swig Object of type 'FP_SHAPE *' at 0x7fc47f2c69d0> >
<pcbnew.FP_SHAPE; proxy of <Swig Object of type 'FP_SHAPE *' at 0x7fc47f2c6d30> >你可以使用以下方式过滤它们
filter_graphical_items.py
fp_texts: list[pcbnew.FP_TEXT] = [
item for footprint in selected_footprint.GraphicalItems()
if type(item).__name__ == 'FP_TEXT'
]
fp_shapes: list[pcbnew.FP_SHAPE] = [
item for footprint in selected_footprint.GraphicalItems()
if type(item).__name__ == 'FP_SHAPE'
]Check out similar posts by category:
Electronics, KiCad
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow