UI はローカライズ済みです。スキルの紹介と説明文書は選択した言語へ AI が自動翻訳し、コード・コマンド・パス・専門用語は原文のままです。原作者の文書が優先されます。
スキルを探す
生産性・共同作業 · SKILL.md

solidworks-automation

solidworks-automation

用户需要用 Python/C#/VBA 连接 SolidWorks API 自动建模、装配、工程图、仿真等时调用本技能。

Independent GitHub snapshot · Automated classification · Original documentation governs

スキルの説明

GitHub

name: solidworks-automation description: "用户需要用 Python/C#/VBA 连接 SolidWorks API 自动建模、装配、工程图、仿真等时调用本技能。" metadata: category: engineering-cad version: 5.5.0 author: Delancy

SolidWorks Automation

Use this skill when the task requires executable SolidWorks automation code or a live COM session for parts, assemblies, drawings, Simulation, Flow Simulation, sheet metal, weldments, molds, or tooling. For design-only decisions or parameterization methodology without implementation, use sw-designer instead.

Operating rules

  • Reuse an active SolidWorks instance with GetActiveObject("SldWorks.Application"); only fall back to Dispatch when no usable instance exists.
  • Reuse sw.ActiveDoc when it matches the task. Create a new document only when explicitly required or no suitable document exists.
  • Wrap temporary documents in try...finally and close them by title; do not leave orphan windows or COM references.
  • Treat units as meters inside the API. Keep user-facing dimensions in millimeters and convert explicitly.
  • Before any mutation, capture a geometry fingerprint: feature count, body count, bbox, volume, and relevant dimensions.
  • After each mutation, force a rebuild, re-read the fingerprint, and assert the expected change. Do not report success from a return value alone.
  • If an assertion fails, stop the current strategy, print the traceback and current feature-tree state, and propose a concrete fallback. Do not silently catch the failure.
  • Do not guess API names, argument counts, or COM null handling. Probe the live object with dir(), get_com_member, or a tiny subprocess before using an uncertain API.
  • Keep real project files and generated models under F:\codexspace\...; do not copy full projects to the Desktop or C drive.

Recommended workflow

  1. Preflight capability. State whether the current runtime can inspect images/PDFs and whether SolidWorks is available. For drawing-driven work, identify the drawing source and who or what performed visual verification.
  2. Build a dimension ledger. Separate exact, inferred, designer-choice, and unsupported dimensions. Bounding-box matching is not sufficient; account for recesses, lands, grooves, PCD holes, chamfers, and secondary features.
  3. Choose an execution channel.
    • Prefer Python COM for connection, sketching, additive extrudes, measurements, and file I/O.
    • Prefer one sketch with outer and inner closed loops plus FeatureExtrusion2 for through holes and rings.
    • Use C# or a generated VBA macro for methods that Python COM cannot call reliably, especially complex cut features with more than 12 parameters.
  4. Implement in the project workspace. Keep builder code modular, parameter-driven, and testable without loading the full manual.
  5. Execute and validate. Compile the script first. If SolidWorks is available, run it, force a rebuild, then assert feature/body counts, bbox, volume, and output-file existence. Use screenshots or rendered views when geometry intent matters.
  6. Report truthfully. Distinguish completed geometry, markers-only holes, approximations, and unsupported features. Never describe an uncut marker as a through hole.

Known SW 2024 COM shortcuts

  • SelectByID2 has 9 arguments; the Callout argument must be a real COM null variant, typically VARIANT(VT_DISPATCH, None).
  • FeatureExtrusion2 uses 23 arguments on this install.
  • EditRebuild3 may be a property instead of a method. ForceRebuild3(False) is the safer rebuild call.
  • FeatureCut, FeatureCut3, and FeatureCut4 are fragile from Python COM. Use additive geometry, multi-contour sketches, C#, or VBA rather than pretending a None return means success.
  • LoadFile4 may return (doc, status); unwrap it before using the document.
  • Extension.SaveAs needs COM variants for export data and by-ref error/warning values.
  • For assemblies, preload components, insert at process coordinates, then mate using stable named entities or SelectByRay; verify BOM count and envelope before attempting perfect mates.

References

Read these only when the current task needs them.

  • references/automation-manual.md — the full 46-section manual. Search it first with rg -n "keyword" references/automation-manual.md, then read the narrow line range. Avoid loading the whole file by default.
  • references/drawing-to-3d-lessons.md — DXF/PDF-to-part rules, secondary-feature checks, volume calibration, and ground-truth STEP comparison.
  • references/materials-forming-mold-lessons.md — stamping edge sizing, die-cast shrink direction, process metadata, moldbase checks, and mold assembly QA.
  • references/assembly-debugging-lessons.md — repeated-instance counting, transformed hole centers, and render-based assembly validation.
  • references/com-dualinterface-quirks.md — COM 双接口怪癖实证手册(2026-10 单机全流程实战沉淀)。当动态 COM 调用报"找不到成员"、拉伸静默返回 None、AddComponent5 静默失败、ComposeTransform 摆位不对、截图视图切不过去时,先读它。配套可运行流水线见 examples/verified/。
  • examples/01_basic_part.py
  • examples/02_assembly.py
  • examples/03_drawing.py
  • examples/04_simulation.py
保存したスキル