build_part_dsl
Construct a 3D part by chaining build123d-style methods. The DSL compiles to a single batch operation for SolidWorks without executing arbitrary code.
Instructions
Construye una pieza desde un script FLUIDO estilo build123d en UNA llamada.
"Compila una vez, construye una vez": escribe la pieza como UNA expresión encadenada; el servidor la compila a una op-list y la ejecuta como un solo lote (mismas garantías que execute_batch — redibujo/reconstrucción diferidos, rollback todo-o-nada, una sola aprobación). NO ejecuta código: solo una gramática CERRADA (Part() + métodos en lista blanca + edges() + literales); cualquier otra cosa se rechaza.
Ejemplos: build_part_dsl("Part().sketch('front').circle(0,0,20).extrude(30)" ".chamfer(edges(geom='circle', sort='z', dir='desc', pick='first'), d=1)") build_part_dsl("Part().sketch('front').rectangle(-30,-20,30,20).extrude(15)" ".fillet(edges(geom='line'), r=2)")
Métodos: sketch(plane), rectangle(x1,y1,x2,y2), circle(cx,cy,r), line(x1,y1,x2,y2), arc(cx,cy,r,start,end,direction='ccw'), extrude(depth, reverse=False), cut(depth=0, through_all=False), fillet(edges(...), r=R), chamfer(edges(...), d=D, angle=45). Multi-feature: encadena varios sketch(plano) en planos por defecto ('front'/'top'/'right'). edges(...): geom/body/axis/at/tol/min/max/radius/sort/dir/pick/scope (scope 'last_feature'/'new' = Select.LAST/NEW). v1: NO sketch-sobre-cara / selectores de cara (usa create_sketch_on_face con selector por separado).
[en: Build a part from a fluent build123d-style script in one call. A closed grammar compiled to the execute_batch op-list and run; no code is executed.]
Args: script: la expresión fluida. dry_run: si True, solo compila y devuelve la op-list (no toca SolidWorks). rebuild: una reconstrucción al cerrar el lote (default True).
Devuelve el resultado de execute_batch + compiled_ops (qué se ejecutó) +
summary. DSL inválido -> error claro; cae a execute_batch o tools sueltas.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| script | Yes | ||
| dry_run | No | ||
| rebuild | No |