sw_execute_script
Execute Python code against a live SOLIDWORKS COM session to automate modeling, assemblies, mates, interference checks, and STEP/DXF exports.
Instructions
Ejecuta Python arbitrario contra la sesion de SOLIDWORKS, igual que el 'script' del MCP de Fusion. En el scope del script: sw (la aplicacion), doc (ActiveDoc, puede ser None), c (el modulo solidworks_mcp.core, alias sw_core: extrude, bodies_info, overall_bbox, features_info, save_as...), fx (features: revolve, shell, hole_wizard, circular/linear_pattern, mirror_body, draft, rib, ref_plane_offset, loft, sweep, chapa, ecuaciones, configuraciones, mass_props), mz (mecanizado: dfm_3ejes, export_cam) y am (ensamblaje: add_mate, interferences). Escribe en la variable 'result' para devolver datos estructurados; lo impreso por print() se devuelve en 'stdout'.
ANTES de escribir una llamada COM que no conozcas de memoria, consulta sw_api_doc(iface, member): devuelve el orden y tipo real de los parametros en esta instalacion mas su significado, el enum que los gobierna y las unidades (la API trabaja en METROS y radianes). Los metodos de features tienen 20+ parametros posicionales; adivinarlos falla en silencio.
readOnly=true declara que el script no modifica el documento. Se comprueba en dos pasos: antes de ejecutar se bloquea si el texto contiene una llamada con pinta de mutar (Feature*, Insert*, Set*, Save*...) o una asignacion a propiedad; despues de ejecutar se compara el numero de cuerpos, de caras y el flag de modificado del documento, y si algo cambio pese a todo se devuelve en 'readOnlyViolation' en vez de ocultarlo. ESTO NO ES UNA CAJA DE ARENA: es una red contra el despiste, no una barrera de seguridad; con COM cualquier script con acceso a doc puede llamar a lo que quiera. No hay limite de tiempo: un script que cuelga bloquea el servidor hasta que termine.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| script | Yes | Codigo Python a ejecutar. | |
| readOnly | No | Declara que el script no debe modificar el documento (ver arriba). |