open_document
Open a saved SolidWorks document by absolute path. The file extension determines the type (part, assembly, drawing) and activates it for immediate modification.
Instructions
Abrir un documento de SolidWorks existente por ruta absoluta.
Carga un .SLDPRT / .SLDASM / .SLDDRW ya guardado. El tipo se infiere de la extensión y SW lo activa automáticamente — el documento abierto pasa a ser el documento activo que reportan get_active_part_info, list_faces, list_edges, etc. [en: Open an existing SolidWorks document by absolute path. Doc type is inferred from the extension; SW auto-activates the opened doc so the standard "active document" tools (get_active_part_info, etc.) operate on it immediately.]
Úsalo para "modifica esta pieza guardada" — se reabre y se modifica en su lugar, nunca se rehace desde cero.
Args: path: Ruta absoluta al archivo INCLUYENDO la extensión. La extensión determina el tipo: .SLDPRT parts (swDocPART) .SLDASM assemblies (swDocASSEMBLY) .SLDDRW drawings (swDocDRAWING) Cualquier otra extensión → SolidWorksError.
Returns: { "name": str, # title del doc (sin trailing '*') "path": str, # path tal cual lo pasaste "type": "part" | "assembly" | "drawing", "opened": True, "errors": 0, # bitmask placeholder (OpenDoc6 path "warnings": 0, # for these is v1.1) }
Raises: - ValueError si path está vacío. - SolidWorksError si el archivo no existe en disco (mensaje incluye la pista del Escritorio de Spanish-Windows + OneDrive). - SolidWorksError si la extensión no es .SLDPRT/.SLDASM/.SLDDRW. - SolidWorksError si SW devuelve None (archivo corrupto, versión más nueva que la instalación, mismatch tipo↔extensión).
Caveat:
Usa ISldWorks.OpenDoc (la variante simple de 2 args), no OpenDoc6. Por eso errors/warnings vienen siempre en 0 — el bitmask completo requiere VARIANT BYREF bajo pywin32 late-binding y está deferido a v1.1. Para "abrió bien o no", basta con "opened": True.
Si ya hay un documento con el mismo nombre abierto en SW, SW activa el existente en vez de re-abrir. Comportamiento default de SW — no lo sobreescribimos.
En Windows en español con OneDrive, el escritorio del cliente es
C:\Users\<user>\OneDrive\Escritorio, NOC:\Users\<user>\Desktop. Si el usuario dice "abre la pieza del escritorio" sin path, usa la ruta de OneDrive\Escritorio.
Example — abrir una pieza guardada y verificar: open_document(r"C:\Users<user>\OneDrive\Escritorio\bracket.SLDPRT") get_active_part_info() # name + saved feature tree (Para refrescar tras una edición externa: close_active_document(force=True) → open_document(...).)
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes |