跳转到内容

你的第一个脚本

本教程演示如何在 LinkCAD 的交互式控制台中运行你的第一个 Python 脚本。

打开控制台

转到 View → Python Console (Ctrl+Shift+P)。窗口底部会出现 Python 提示符。

Hello World

输入以下内容并按

print("Hello from LinkCAD!")

你应该能在控制台中看到输出。

探索图纸

控制台和脚本编辑器都定义了一个名为 drawing 的全局变量,它始终指向 LinkCAD 中当前打开的图纸;未加载任何文件时为 None

加载文件后,可以检查其结构:

if drawing is None:
print("Open a file first")
else:
for cell in drawing.cells:
print(f"Cell: {cell.name}")
for layer in drawing.layers:
print(f"Layer: {layer.name}")

cellslayers 是属性,不是方法——名词不需要括号。这一约定贯穿整个 API:shape.areacell.boundspolygon.vertices。只有动词保留括号:shape.destroy()cell.clone(name)

统计形状

main = drawing.main_cell
print(f"Total shapes in main cell: {len(main.shapes)}")

或者更实用一些,按图层统计:

from collections import Counter
counts = Counter(
shape.layer.name
for cell in drawing.cells
for shape in cell.shapes
if shape.layer is not None
)
for name, count in counts.most_common():
print(f"{name}: {count} shapes")

从零创建图纸

图纸把整个数据库保存在内存中,必须释放。用作上下文管理器时会自动完成:

from linkcad.v1.db import Drawing
from linkcad.v1.geom import Point
with Drawing("first-script") as dwg:
top = dwg.add_cell("TOP")
dwg.main_cell = top
metal = dwg.add_layer("METAL1")
top.add_polygon(metal, [(0, 0), (10_000, 0), (10_000, 10_000), (0, 10_000)])
top.add_circle(metal, Point(20_000, 5_000), diameter=6_000)
top.add_text(metal, "TOP", Point(0, 12_000), height=2_000)
print(f"{len(top.shapes)} shapes, bounds {top.bounds}")

几何图形始终由将要拥有它的对象创建:图纸创建单元和图层,单元创建形状。

使用脚本编辑器

对于较长的脚本,请使用内置编辑器:

  1. 打开 View → Python Script Editor (Ctrl+Shift+E)
  2. 在编辑器中编写脚本
  3. F5 运行整个脚本
  4. 或选择若干行并按 Ctrl+ 仅运行所选内容

后续步骤