最初のスクリプト
このチュートリアルでは、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}")cells と layers はメソッドではなくプロパティです——名詞に括弧は不要です。この規則は API 全体に一貫しています: shape.area、cell.bounds、polygon.vertices。括弧が付くのは動詞だけです: shape.destroy()、cell.clone(name)。
形状を数える
main = drawing.main_cellprint(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 Drawingfrom 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}")ジオメトリは常に、それを所有することになるオブジェクトが作成します。図面がセルとレイヤーを作り、セルが形状を作ります。
スクリプトエディターを使う
長いスクリプトでは、組み込みエディターを使用します。
- View → Python Script Editor (Ctrl+Shift+E) を開きます
- エディターでスクリプトを書きます
- F5 を押してスクリプト全体を実行します
- または行を選択し、Ctrl+↵ を押して選択部分だけを実行します
次のステップ
- ツールプラグインの作成——GUI ダイアログ付きの再利用可能なツールを作成します
- 形式プラグインの作成——カスタムファイル形式を追加します