コンテンツにスキップ

最初のスクリプト

このチュートリアルでは、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+ を押して選択部分だけを実行します

次のステップ