UNPKG

@bitbybit-dev/base

Version:

Bit By Bit Developers Base CAD Library to Program Geometry

122 lines (121 loc) 3.07 kB
import * as Inputs from "../../../inputs"; export declare class DxfGenerator { private entityHandle; private colorFormat; private acadVersion; /** * Generate a complete DXF file content from path-based entities */ generateDxf(dxfInputs: Inputs.IO.DxfModelDto): string; /** * Generate DXF header section */ private generateHeader; /** * Generate DXF tables section (layers, line types, etc.) */ private generateTables; /** * Generate line type table */ private generateLineTypeTable; /** * Generate text style table */ private generateStyleTable; /** * Generate VPORT table (viewport configuration) */ private generateVportTable; /** * Generate VIEW table (empty but required for AC1009) */ private generateViewTable; /** * Generate UCS table (user coordinate system - empty but required for AC1009) */ private generateUcsTable; /** * Generate APPID table (application ID - required for AC1009) */ private generateAppidTable; /** * Generate DIMSTYLE table (dimension style - empty but required for AC1009) */ private generateDimstyleTable; /** * Generate blocks section (empty but required) */ private generateBlocks; /** * Generate layer table based on unique layers in all parts */ private generateLayerTable; /** * Generate DXF entities section with all path segments */ private generateEntities; /** * Generate entity for a single segment based on its type */ private generateSegmentEntity; /** * Type guard for line segments */ private isLineSegment; /** * Type guard for arc segments */ private isArcSegment; /** * Type guard for circle segments */ private isCircleSegment; /** * Type guard for polyline segments */ private isPolylineSegment; /** * Type guard for spline segments */ private isSplineSegment; /** * Generate a LINE entity */ private generateLineEntity; /** * Generate a CIRCLE entity */ private generateCircleEntity; /** * Generate an ARC entity */ private generateArcEntity; /** * Generate a LWPOLYLINE entity */ private generatePolylineEntity; /** * Generate a SPLINE entity */ private generateSplineEntity; /** * Check if polyline should be closed (first and last points are the same) */ private isClosedPolyline; /** * Get next entity handle as hex string */ private getNextHandle; /** * Convert color to DXF format * Accepts hex color (#RRGGBB) or ACI color index (1-255) * Returns appropriate DXF color codes based on colorFormat setting */ private convertColorToDxf; /** * Convert RGB values to nearest AutoCAD Color Index (ACI) * Uses a simplified mapping to standard ACI colors */ private rgbToAciColorIndex; }