revit-cli
Version:
A scalable CLI tool for Revit communication and data manipulation
100 lines • 2.84 kB
TypeScript
/**
* Room-related type definitions for the Revit CLI
* Extracted from room-commands.ts for better maintainability
*/
/**
* Represents a room element from the Revit API
*/
export interface RoomData {
/** Unique identifier for the room element */
id: string;
/** Room name or identifier */
name: string;
/** Room number assigned in Revit */
number: string;
/** Level where the room is located */
level: string;
/** Room area in square units */
area: number;
/** Room volume in cubic units */
volume: number;
/** Additional comments or description */
comments: string;
/** Department or functional classification */
department: string;
/** Occupancy type or classification */
occupancy: string;
/** Additional room parameters as key-value pairs */
parameters: Record<string, any>;
}
/**
* Request payload for updating a single room
*/
export interface UpdateRoomRequest {
/** Room element ID to update */
id: string;
/** Parameters to update with their new values */
parameters: Record<string, any>;
}
/**
* Response from the Revit API after updating a room
*/
export interface UpdateRoomResponse {
/** Indicates if the update was successful */
success: boolean;
/** Updated room data */
room?: RoomData;
/** Error message if update failed */
error?: string;
/** Additional details about the operation */
message?: string;
}
/**
* Options for room filtering and selection
*/
export interface RoomFilterOptions {
/** Filter by level name */
level?: string;
/** Filter by department */
department?: string;
/** Filter by occupancy type */
occupancy?: string;
/** Filter by room name pattern */
namePattern?: string;
/** Filter by room number pattern */
numberPattern?: string;
/** Minimum area threshold */
minArea?: number;
/** Maximum area threshold */
maxArea?: number;
}
/**
* Parameters for bulk room updates
*/
export interface BulkUpdateOptions {
/** Filter criteria to select rooms for update */
filter: RoomFilterOptions;
/** Parameters to update on selected rooms */
parameters: Record<string, any>;
/** Whether to perform a dry run without actual updates */
dryRun?: boolean;
}
/**
* Result of a bulk update operation
*/
export interface BulkUpdateResult {
/** Total number of rooms processed */
totalProcessed: number;
/** Number of successfully updated rooms */
successCount: number;
/** Number of failed updates */
failureCount: number;
/** List of rooms that were updated */
updatedRooms: RoomData[];
/** List of errors encountered during updates */
errors: Array<{
roomId: string;
error: string;
}>;
}
//# sourceMappingURL=room-types.d.ts.map