bulc_create_walls_rectangle
Create four connected walls to form a rectangular room enclosure in building design software. Specify coordinates, dimensions, and wall properties to define the room's boundaries.
Instructions
Create 4 connected walls forming a rectangular enclosure. This is the recommended way to create walls for rectangular rooms. All coordinates are in centimeters.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| x | Yes | X coordinate of bottom-left corner (cm) | |
| y | Yes | Y coordinate of bottom-left corner (cm) | |
| width | Yes | Rectangle width in centimeters | |
| depth | Yes | Rectangle depth in centimeters | |
| thickness | No | Wall thickness in centimeters. Default: 10 | |
| height | No | Wall height in centimeters. Default: 250 | |
| level | No | Floor level index. Default: current level |
Implementation Reference
- src/tools/wall.ts:222-229 (handler)Handler implementation for the 'bulc_create_walls_rectangle' tool. Validates input using Zod schema and sends 'create_walls_rectangle' action to BULC client via getBulcClient().case "bulc_create_walls_rectangle": { const validated = CreateWallsRectangleSchema.parse(args); result = await client.sendCommand({ action: "create_walls_rectangle", params: validated, }); break; }
- src/tools/wall.ts:174-182 (schema)Zod validation schema used in the handler for input parameters of bulc_create_walls_rectangle.const CreateWallsRectangleSchema = z.object({ x: z.number(), y: z.number(), width: z.number().positive(), depth: z.number().positive(), thickness: z.number().positive().optional(), height: z.number().positive().optional(), level: z.number().int().optional(), });
- src/tools/wall.ts:59-92 (schema)JSON schema for input validation of bulc_create_walls_rectangle tool, provided to MCP protocol.inputSchema: { type: "object" as const, properties: { x: { type: "number", description: "X coordinate of bottom-left corner (cm)", }, y: { type: "number", description: "Y coordinate of bottom-left corner (cm)", }, width: { type: "number", description: "Rectangle width in centimeters", }, depth: { type: "number", description: "Rectangle depth in centimeters", }, thickness: { type: "number", description: "Wall thickness in centimeters. Default: 10", }, height: { type: "number", description: "Wall height in centimeters. Default: 250", }, level: { type: "integer", description: "Floor level index. Default: current level", }, }, required: ["x", "y", "width", "depth"], },
- src/tools/wall.ts:53-97 (registration)Tool definition and registration within the wallTools array exported for inclusion in main allTools.{ name: "bulc_create_walls_rectangle", description: "Create 4 connected walls forming a rectangular enclosure. " + "This is the recommended way to create walls for rectangular rooms. " + "All coordinates are in centimeters.", inputSchema: { type: "object" as const, properties: { x: { type: "number", description: "X coordinate of bottom-left corner (cm)", }, y: { type: "number", description: "Y coordinate of bottom-left corner (cm)", }, width: { type: "number", description: "Rectangle width in centimeters", }, depth: { type: "number", description: "Rectangle depth in centimeters", }, thickness: { type: "number", description: "Wall thickness in centimeters. Default: 10", }, height: { type: "number", description: "Wall height in centimeters. Default: 250", }, level: { type: "integer", description: "Floor level index. Default: current level", }, }, required: ["x", "y", "width", "depth"], }, annotations: { readOnlyHint: false, destructiveHint: true, }, },
- src/index.ts:73-76 (registration)Main tool call routing logic that directs calls to bulc_*_wall tools, including bulc_create_walls_rectangle, to the specific handleWallTool function.// Wall tools if (name.startsWith("bulc_") && name.includes("wall")) { return await handleWallTool(name, safeArgs); }