UNPKG

autocad-dxf

Version:

A module which can be used to parse AutoCAD dxf files and to make programmatic and geometric operations on the AutoCAD drawing entities.

538 lines (522 loc) 26 kB
module.exports = { HEADER_KEYS: { // === Drawing Setup & Identification === ACADVER: "acad_version", // AutoCAD drawing database version number ACADMAINTVER: "acad_maintenance_version", // Maintenance version number DWGCODEPAGE: "drawing_code_page", // System code page when drawing was created HANDSEED: "next_available_handle", // Next available handle HANDLING: "handles_enabled", // 1 if handles are enabled REQUIREDVERSIONS: "required_versions", // (AutoCAD 2013+) Required application versions for custom objects PROJECTNAME: "project_name", // Project name (often for sheet sets) HYPERLINKBASE: "hyperlink_base_url", // Base URL for relative hyperlinks STYLESHEET: "stylesheet_filename", // Stylesheet filename associated with the drawing VERSIONGUID: "version_guid", // Version GUID, changes with each save FINGERPRINTGUID: "fingerprint_guid", // Fingerprint GUID, uniquely identifies a drawing EXTNAMES: "use_extended_symbol_names", // (R2000+) If 1, allows longer symbol table names // === Units & Precision === MEASUREMENT: "measurement_system", // 0 = English (Imperial), 1 = Metric (for hatch & linetype) INSUNITS: "insertion_units", // Default drawing units for block insertion (0-24) LUNITS: "linear_units_format", // Units format for coordinates and distances LUPREC: "linear_units_precision", // Units precision for coordinates and distances ANGBASE: "angle_zero_direction", // Angle 0 direction (in degrees, usually East) ANGDIR: "angle_direction", // Angle direction (0 = Counterclockwise, 1 = Clockwise) AUNITS: "angle_unit_format", // Units format for angles AUPREC: "angle_unit_precision", // Units precision for angles UNITMODE: "unit_mode_display", // Controls display of fractional, feet-and-inches, surveyor's angles (0 or 1) // === Drawing Limits & Extents === LIMMIN: "drawing_limits_min_xy", // XY drawing limits lower-left corner (WCS) LIMMAX: "drawing_limits_max_xy", // XY drawing limits upper-right corner (WCS) LIMCHECK: "drawing_limits_checking", // 1 if limits checking is on EXTMIN: "drawing_extents_min", // X, Y, Z drawing extents lower-left corner (WCS) EXTMAX: "drawing_extents_max", // X, Y, Z drawing extents upper-right corner (WCS) // Paper Space Limits & Extents PLIMMIN: "ps_limits_min_xy", // Paper space limits lower-left corner PLIMMAX: "ps_limits_max_xy", // Paper space limits upper-right corner PLIMCHECK: "ps_limits_checking", // 1 if paper space limits checking is on PEXTMIN: "ps_extents_min", // Paper space extents lower-left corner PEXTMAX: "ps_extents_max", // Paper space extents upper-right corner // === Current Environment & Modes === CLAYER: "current_layer_name", // Current layer name CECOLOR: "current_entity_color", // Current entity color number (0=BYBLOCK, 256=BYLAYER) CELTYPE: "current_entity_linetype", // Current entity linetype name (or BYBLOCK, BYLAYER) CELTSCALE: "current_entity_linetype_scale", // Current entity linetype scale CELWEIGHT: "current_entity_lineweight", // Lineweight of new objects (-3 to 211) CMLSTYLE: "current_multiline_style_name", // Current multiline style name CMLJUST: "current_multiline_justification", // 0=Top, 1=Middle, 2=Bottom CMLSCALE: "current_multiline_scale", // Current multiline scale TEXTSTYLE: "current_text_style_name", // Current text style name THICKNESS: "current_thickness", // Current 3D thickness FILLMODE: "fill_mode", // 1 if fill mode is on ORTHOMODE: "orthographic_mode", // 1 if ortho mode is on REGENMODE: "regenauto_mode", // 1 if REGENAUTO is on QTEXTMODE: "quick_text_mode", // 1 if quick text mode is on MIRRTEXT: "mirror_text_mode", // 1 if text is mirrored by MIRROR command OSMODE: "object_snap_mode", // Running object snap modes (bitcoded) ATTMODE: "attribute_display_mode", // Attribute visibility: 0=None, 1=Normal, 2=All ATTDIA: "attribute_dialog_mode", // 1 for dialog box for attribute entry, 0 for command line ATTREQ: "attribute_request_mode", // 1 to prompt for attributes during INSERT, 0 for defaults PDMODE: "point_display_mode", // Point display mode (integer) PDSIZE: "point_display_size", // Point display size PLINEGEN: "polyline_linetype_generation", // For 2D polylines: 0=vertex-to-vertex, 1=continuous PLINEWID: "default_polyline_width", // Default polyline width PROXYGRAPHICS: "save_proxy_graphics", // 1 to save proxy graphics for custom objects PSLTSCALE: "paperspace_linetype_scale", // 1 if linetype scaling in paper space is based on viewport scale SKETCHINC: "sketch_record_increment", // Sketch record increment value SKPOLY: "sketch_as_polylines", // 0 for lines, 1 for polylines during SKETCH SPLFRAME: "spline_frame_display", // 1 to display spline control frame TREEDEPTH: "spatial_index_tree_depth", // Max depth for spatial index tree (e.g., for TRIM/EXTEND) USERI1: "user_integer_1", USERI2: "user_integer_2", USERI3: "user_integer_3", USERI4: "user_integer_4", USERI5: "user_integer_5", USERR1: "user_real_1", USERR2: "user_real_2", USERR3: "user_real_3", USERR4: "user_real_4", USERR5: "user_real_5", USRTIMER: "user_elapsed_timer_on", // 1 if user elapsed timer is active VISRETAIN: "xref_layer_visibility_retain", // 1 to retain visibility changes to xref-dependent layers // === Coordinate Systems (UCS) === UCSNAME: "ucs_current_name", // Name of current UCS (model space) UCSORG: "ucs_current_origin", // Origin of current UCS (model space, WCS coordinates) UCSXDIR: "ucs_current_x_axis", // X-axis direction of current UCS (model space, WCS vector) UCSYDIR: "ucs_current_y_axis", // Y-axis direction of current UCS (model space, WCS vector) UCSORTHOVIEW: "ucs_orthographic_view_type", // Orthographic view type of current UCS UCSBASE: "ucs_base_name", // Name of UCS that defines the orthographic UCS settings UCSAXISANG: "ucs_axis_angle", // (R2007+) Angle of UCS around its X, Y, or Z axis UCSFOLLOW: "ucs_follow_mode", // 1 if UCS changes to match plan view when VIEW changes WORLDVIEW: "set_wcs_for_dview_vpoint", // 1 sets UCS to WCS during DVIEW/VPOINT // Paper Space UCS PUCSNAME: "ps_ucs_current_name", // Name of current UCS (paper space) PUCSORG: "ps_ucs_current_origin", // Origin of current UCS (paper space) PUCSXDIR: "ps_ucs_current_x_axis", // X-axis direction of current UCS (paper space) PUCSYDIR: "ps_ucs_current_y_axis", // Y-axis direction of current UCS (paper space) PUCSORTHOVIEW: "ps_ucs_orthographic_view_type", PUCSBASE: "ps_ucs_base_name", PUCSAXISANG: "ps_ucs_axis_angle", // === Elevation & Extrusion === ELEVATION: "current_elevation_z", // Current elevation (Z-axis) for new objects (model space) PELEVATION: "ps_current_elevation_z", // Current elevation (Z-axis) for new objects (paper space) // === Geometric Properties === CHAMFERA: "chamfer_distance_a", // First chamfer distance CHAMFERB: "chamfer_distance_b", // Second chamfer distance CHAMFERC: "chamfer_length", // Chamfer length (if using length/angle method) CHAMFERD: "chamfer_angle", // Chamfer angle (if using length/angle method) FILLETRAD: "fillet_radius", // Fillet radius LTSCALE: "global_linetype_scale", // Global linetype scale factor TRACEWID: "default_trace_width", // Default trace width TEXTSIZE: "default_text_height", // (Older, often superseded by text style) Default text height TEXTQLTY: "truetype_text_quality", // (Obsolete) Text quality for TrueType fonts (0-100) // === Date & Time === TDCREATE: "drawing_creation_time_julian", // Julian date/time of creation TDUPDATE: "drawing_update_time_julian", // Julian date/time of last update TDINDWG: "total_editing_time", // Total editing time (days and fractional days) TDUSRTIMER: "user_elapsed_timer_value", // User elapsed timer (days and fractional days) TDUCREATE: "utc_creation_time", // Universal date/time of creation TDUUPDATE: "utc_update_time", // Universal date/time of last update // === Plotting & Output === PSTYLEMODE: "plot_style_mode", // 1 for color-dependent, 0 for named plot styles CEPSNTYPE: "current_entity_plot_style_type", // Plot style type of new objects CEPSNID: "current_entity_plot_style_handle", // Plotstyle handle of new objects (if CEPSNTYPE is 3) PAPERUPDATE: "paper_update_setting", // (Obsolete) PLOTROTMODE: "plot_rotation_mode", // (Obsolete) // === Viewport Variables (often associated with *Active VPORT table entry, but some are global) === VIEWCTR: "active_viewport_center_xy", // View center point (DCS) for current viewport VIEWDIR: "active_viewport_view_direction", // View direction (from target to camera in WCS) for current viewport VIEWSIZE: "active_viewport_height", // View height (in drawing units) for current viewport TARGET: "active_viewport_target_point", // Target point (WCS) LENSLENGTH: "active_viewport_lens_length_mm", // Lens length in mm for perspective view VIEWTWIST: "active_viewport_twist_angle", // View twist angle FRONTZ: "active_viewport_front_clip_z", // Front clip plane Z value (offset from target) BACKZ: "active_viewport_back_clip_z", // Back clip plane Z value (offset from target) SNAPANG: "snap_grid_rotation_angle", // Snap/grid rotation angle for current viewport SNAPBASE: "snap_grid_origin_xy", // Snap/grid origin point for current viewport SNAPISOPAIR: "isometric_snap_plane", // Isometric plane (0=left, 1=top, 2=right) SNAPMODE: "snap_mode_on", // 1 if snap mode is on SNAPSTYLE: "snap_style", // 0=standard, 1=isometric SNAPUNIT: "snap_spacing_xy", // Snap spacing (X,Y) GRIDDISPLAY: "grid_display_behavior", // (R2008+) Bitcode for grid display GRIDMAJOR: "major_grid_line_frequency", // (R2008+) How many minor grid lines per major line GRIDUNIT: "grid_spacing_xy", // Grid spacing (X,Y) for current viewport MAXACTVP: "max_active_viewports", // Sets maximum number of viewports to be regenerated // === 3D & Shading === SHADEDGE: "shade_edge_mode", // Edge shading mode (0-3) SHADEDIF: "shade_diffuse_to_ambient_ratio", // Percent ambient to diffuse light (0-100) DISPSILH: "display_solid_silhouette_curves", // 1 to display silhouette curves of solid bodies in Wireframe CSHADOW: "current_shadow_display_mode", // Shadow mode for 3D objects CSHADOWPLANES: "custom_shadow_plane_z", // Z-depth of custom ground plane for shadows INTERSECTIONCOLOR: "intersection_polyline_color", // Color for intersection polylines INTERSECTIONDISPLAY: "intersection_polyline_display", // 1 to display intersection polylines for solids OBSCOLOR: "obscured_line_color_index", // Color index for obscured lines OBSLTYPE: "obscured_linetype_index", // Linetype index for obscured lines SOLIDHIST: "solid_history_recording", // 0=None, 1=Record history, 2=Record history (create b-rep) SHOWHIST: "show_solid_history", // Controls display of composite solid history PSOLWIDTH: "default_polysolid_width", PSOLHEIGHT: "default_polysolid_height", RENDERERTYPE: "current_renderer_type", // 0=Scanline, 1=Rapid RT LIGHTGLYPHDISPLAY: "light_glyph_display", // 1 to display light glyphs TILEMODELIGHTSYNCH: "tilemode_light_synchronization", // (Obsolete) CMATERIAL: "current_material_handle", // Handle of the current material // === Underlay Management === DWFFRAME: "dwf_underlay_frame_visibility", // 0=No frame, 1=Display frame, 2=Display and plot frame DGNFRAME: "dgn_underlay_frame_visibility", // (Similar to DWFFRAME) PDFFRAME: "pdf_underlay_frame_visibility", // (Similar to DWFFRAME) XCLIPFRAME: "xclip_frame_visibility", // 0=No frame, 1=Display frame, 2=Display and plot frame // === Geographic Location === GEOData: "geographic_data_handle", // Handle to GEODATA object LATITUDE: "geographic_location_latitude", LONGITUDE: "geographic_location_longitude", NORTHDIRECTION: "geographic_north_direction_angle", TIMEZONE: "geographic_timezone", // === Miscellaneous / Advanced === DRAGVS: "visual_style_while_dragging_handle", // Handle to visual style used while dragging SORTENTS: "object_sort_method_flags", // Controls object sorting for various operations (bitcoded) INDEXCTL: "layer_spatial_index_control", // Controls creation of layer and spatial indexes (0-3) HIDETEXT: "hide_text_objects_during_hide", // 0=Text not hidden, 1=Text hidden (obsolete for TrueType) HALOGAP: "halo_gap_percentage", // Gap percentage for halos on objects CAMERADISPLAY: "camera_icon_display", // 1 if camera icons are displayed CAMERAHEIGHT: "default_camera_height", INTERFEREOBJVS: "interference_object_visual_style_handle", // Visual style for interference objects INTERFEREVPVS: "interference_viewport_visual_style_handle", // Visual style for viewport during interference check DRAWORDERCTL: "draworder_inheritance_control", // (Obsolete) MLeaderScale: "multileader_scale", MSOleScale: "ole_object_scale_control", // OLE object scaling SAVEFIDELITY: "visual_fidelity_on_save", // 1 to maintain visual fidelity for annotative objects ANNOALLVISIBLE: "show_all_annotation_scales", // 1 to display annotative objects at all scales ANNOTATIVEDWG: "drawing_is_annotative", // 1 if the drawing contains annotative objects MSLTSCALE: "modelspace_linetype_scale_for_ps", // 1 if linetype scaling in model space is affected by PSLTSCALE LIGHTINGUNITS: "lighting_units", // 0=Generic, 1=Photometric (American), 2=Photometric (International) LUPS: "luminance_units_per_square_centimeter", // For photometric lighting TILEMODE: "tilemode_status", // (Obsolete, reflects active space: 1 = Model tab, 0 = Layout tab) // === Dimensioning Variables ($DIM...) === // Many of these control the current dimension style unless overridden DIMADEC: "dim_angular_precision", DIMALT: "dim_alternate_units_enabled", DIMALTD: "dim_alternate_units_decimal_places", DIMALTF: "dim_alternate_units_scale_factor", DIMALTRND: "dim_alternate_units_rounding", DIMALTTD: "dim_alternate_tolerance_decimal_places", DIMALTTZ: "dim_alternate_tolerance_zero_suppression", DIMALTU: "dim_alternate_units_format", DIMALTZ: "dim_alternate_units_zero_suppression", DIMAPOST: "dim_alternate_units_suffix_prefix", DIMASO: "dim_associativity_obsolete", // Obsolete, use DIMASSOC DIMASSOC: "dim_associativity_control", // Controls associativity of dimension objects DIMASZ: "dim_arrow_size", DIMATFIT: "dim_text_arrow_placement_rule", DIMAUNIT: "dim_angular_unit_format", DIMAZIN: "dim_angular_zero_suppression", DIMBLK: "dim_arrow_block_name", DIMBLK1: "dim_first_arrow_block_name", DIMBLK2: "dim_second_arrow_block_name", DIMCEN: "dim_center_mark_size", DIMCLRD: "dim_dimension_line_color", DIMCLRE: "dim_extension_line_color", DIMCLRT: "dim_text_color", DIMDEC: "dim_primary_units_precision", DIMDLE: "dim_dimension_line_extension", DIMDLI: "dim_dimension_line_increment_baseline", DIMEXE: "dim_extension_line_extension", DIMEXO: "dim_extension_line_offset", DIMFRAC: "dim_fraction_format", // 0=Horizontal, 1=Diagonal, 2=Not stacked DIMFXL: "dim_fixed_length_extension_lines_enabled", // R2007+ DIMFXLON: "dim_fixed_length_extension_line_length", // R2007+ DIMGAP: "dim_text_gap_from_dim_line", DIMJOGANG: "dim_jogged_radius_dimension_oblique_angle", // Angle of transverse lines in jogged dim DIMJUST: "dim_horizontal_text_justification", DIMLDRBLK: "dim_leader_arrow_block_name", DIMLFAC: "dim_linear_measurement_scale_factor", DIMLIM: "dim_generate_limits", DIMLUNIT: "dim_linear_units_format_non_angular", // For non-angular dimensions (superseded by LUNITS but exists in DIMSTYLE) DIMLWD: "dim_dimension_line_lineweight", DIMLWE: "dim_extension_line_lineweight", DIMPOST: "dim_primary_units_suffix_prefix", DIMRND: "dim_rounding_value_for_distances", DIMSAH: "dim_separate_arrow_blocks_enabled", DIMSCALE: "dim_overall_scale_factor", DIMSD1: "dim_suppress_first_dimension_line", DIMSD2: "dim_suppress_second_dimension_line", DIMSE1: "dim_suppress_first_extension_line", DIMSE2: "dim_suppress_second_extension_line", DIMSHO: "dim_recompute_while_dragging_obsolete", // Obsolete DIMSOXD: "dim_suppress_outside_extension_dimension_lines", DIMSTYLE: "dim_current_style_name", DIMTAD: "dim_text_above_dimension_line_vertical_just", // 0=Centered, 1=Above, etc. DIMTDEC: "dim_tolerance_decimal_places", DIMTFAC: "dim_tolerance_text_height_scale_factor", DIMTIH: "dim_text_inside_horizontal", // 1=Inside horizontal, 0=Aligned with dim line DIMTIX: "dim_force_text_inside_extensions", DIMTM: "dim_minus_tolerance_value", DIMTMOVE: "dim_text_movement_rules", DIMTOFL: "dim_force_line_between_extensions_if_text_outside", DIMTOH: "dim_text_outside_horizontal", // 1=Outside horizontal, 0=Aligned with dim line DIMTOL: "dim_generate_tolerances", DIMTOLJ: "dim_tolerance_vertical_justification", DIMTP: "dim_plus_tolerance_value", DIMTSZ: "dim_tick_size", // 0 for arrows, >0 for ticks DIMTVP: "dim_text_vertical_position_relative_to_dim_line", DIMTXT: "dim_text_height", DIMTXTDIRECTION: "dim_text_direction", // (R2007+) 0=Left-to-Right, 1=Right-to-Left DIMTZIN: "dim_tolerance_zero_suppression", DIMUPT: "dim_user_positioned_text", DIMZIN: "dim_primary_units_zero_suppression", LASTSAVEDBY: "last_saved_by", DIMTXSTY: "dim_text_style_name", DIMDSEP: "dim_decimal_separator_char_ascii", DIMTFILL: "dim_text_fill_mode", DIMTFILLCLR: "dim_text_fill_color_aci", DIMARCSYM: "dim_arc_length_symbol_placement", DIMLTYPE: "dim_line_linetype_name", DIMLTEX1: "dim_extension_line1_linetype_name", DIMLTEX2: "dim_extension_line2_linetype_name", INSBASE: "insertion_base_point", MENU: "menu_filename", // (Likely already in your map, verify) SPLINETYPE: "spline_curve_type_pedit", // (Likely already in your map) SPLINESEGS: "spline_segments_per_patch", // (Likely already in your map) SURFTAB1: "surface_density_m_direction", // (Likely already in your map) SURFTAB2: "surface_density_n_direction", // (Likely already in your map) SURFTYPE: "surface_type_pedit_smooth", // (Likely already in your map) SURFU: "surface_u_density_pedit_smooth", // (Likely already in your map) SURFV: "surface_v_density_pedit_smooth", // (Likely already in your map) UCSORTHOREF: "ucs_orthographic_reference_name", UCSORGTOP: "ucs_origin_top", UCSORGBOTTOM: "ucs_origin_bottom", UCSORGLEFT: "ucs_origin_left", UCSORGRIGHT: "ucs_origin_right", UCSORGFRONT: "ucs_origin_front", UCSORGBACK: "ucs_origin_back", PUCSORTHOREF: "ps_ucs_orthographic_reference_name", PUCSORGTOP: "ps_ucs_origin_top", PUCSORGBOTTOM: "ps_ucs_origin_bottom", PUCSORGLEFT: "ps_ucs_origin_left", PUCSORGRIGHT: "ps_ucs_origin_right", PUCSORGFRONT: "ps_ucs_origin_front", PUCSORGBACK: "ps_ucs_origin_back", PINSBASE: "ps_insertion_base_point", ENDCAPS: "lineweight_endcap_style", JOINSTYLE: "lineweight_join_style", XEDIT: "xref_in_place_editing_enabled", PSVPSCALE: "ps_viewport_creation_scale_factor", // Paper space viewport scale factor (0.0 means "Scale to fit") OLESTARTUP: "ole_object_load_on_open", STEPSPERSEC: "animation_steps_per_second_3dorbit", STEPSIZE: "animation_step_size_3dorbit", "3DDWFPREC": "threed_dwf_precision", // Note: Key starts with number, map to valid JS var name LOFTANG1: "loft_draft_angle1", // (Likely already in your map) LOFTANG2: "loft_draft_angle2", // (Likely already in your map) LOFTMAG1: "loft_draft_magnitude1", // (Likely already in your map) LOFTMAG2: "loft_draft_magnitude2", // (Likely already in your map) LOFTPARAM: "loft_parameterization", // (Likely already in your map) LOFTNORMALS: "loft_normals_setting", // (Likely already in your map) REALWORLDSCALE: "real_world_scale_for_linetypes", INTERFERECOLOR: "interference_object_color_aci", // (Likely already in your map) SHADOWPLANELOCATION: "shadow_plane_z_location", // (Likely already in your map) // === AutoCAD Mechanical Specific (if applicable, often prefixed with $AM...) === // These are less common in generic DXF unless coming from ACADM // Example: $AMCONTENTPROFILE, $AMCONTENTVARIANT // === Variables often found but sometimes undocumented or for specific internal use === // It's harder to provide definitive human-readable names without specific context. // Examples: $ACADLSPASDOC, $PICKSTYLE, $SURFTYPE, $SURFU, $SURFV, etc. }, HEADER_VALUES: { AUNITS: { "0": "Decimal degrees", "1": "Degrees/minutes/seconds", "2": "Grads", "3": "Radians", "4": "Surveyor’s units" }, CMLJUST: { "0": "Top", "1": "Middle", "2": "Bottom" }, DIMAUNIT: { "0": "Decimal degrees", "1": "Degrees/minutes/seconds", "2": "Grads", "3": "Radians", "4": "Surveyor’s units" }, ANGDIR: { "0": "Counterclockwise", "1": "Clockwise" }, MEASUREMENT: { "0": "English (Imperial)", "1": "Metric" }, ORTHOMODE: { "0": "Off", "1": "On" }, ATTMODE: { "0": "Invisible", "1": "Normal", "2": "All" }, COORDS: { "0": "Static", "1": "Dynamic", "2": "Polar" }, TILEMODE: { "0": "Paper space", "1": "Model space" }, LIMCHECK: { "0": "Off", "1": "On" }, PLIMCHECK: { "0": "Off", "1": "On" }, PSLTSCALE: { "0": "No scaling", "1": "Scale by viewport" }, USRTIMER: { "0": "Off", "1": "On" }, VISRETAIN: { "0": "Off", "1": "On" }, WORLDVIEW: { "0": "Off", "1": "On" }, LUNITS: { "1": "Scientific", "2": "Decimal", "3": "Engineering", "4": "Architectural", "5": "Fractional" }, INSUNITS: { "0": "Unitless", "1": "Inches", "2": "Feet", "3": "Miles", "4": "Millimeters", "5": "Centimeters", "6": "Meters", "7": "Kilometers", "8": "Microinches", "9": "Mils", "10": "Yards", "11": "Angstroms", "12": "Nanometers", "13": "Microns", "14": "Decimeters", "15": "Decameters", "16": "Hectometers", "17": "Gigameters", "18": "Astronomical units", "19": "Light years", "20": "Parsecs" }, DIMDSEP: { // Dimension Decimal Separator Character (ASCII value) "46": "Period (.)", "44": "Comma (,)", "32": "Space ( )" // Add others if needed }, DIMTFILL: { // Dimension Text Fill Mode "0": "No background fill", "1": "Drawing background color fill", "2": "Custom background color fill (see DIMTFILLCLR)" }, DIMTFILLCLR: { // Dimension Text Fill Color (ACI - AutoCAD Color Index) "0": "ByBlock (if DIMTFILL=2) / Drawing Background (if DIMTFILL=1)", "256": "ByLayer" // Add other ACI values as needed, e.g., "1": "Red", "2": "Yellow" }, DIMARCSYM: { // Dimension Arc Length Symbol Placement "0": "Symbol preceding dimension text", "1": "Symbol above dimension text", "2": "No arc length symbol" }, SPLINETYPE: { // Spline Curve Type (for PEDIT command) "5": "Quadratic B-spline", "6": "Cubic B-spline", "8": "Bezier curve" }, SURFTYPE: { // Surface Type (for PEDIT SMOOTH command) "5": "Quadratic B-spline surface", "6": "Cubic B-spline surface", "8": "Bezier surface" }, ENDCAPS: { // Lineweight Endcap Style "0": "No endcaps", "1": "Round endcaps", "2": "Angle endcaps", // (Standard: 45 degrees) "3": "Square endcaps" }, JOINSTYLE: { // Lineweight Join Style "0": "Miter join", "1": "Round join", "2": "Bevel join" // "3": "Diamond join" // (Less common in base DXF, might be app-specific) }, XEDIT: { // Xref In-Place Editing Enabled "0": "Disallowed", "1": "Allowed" }, OLESTARTUP: { // OLE Object Load on Drawing Open "0": "Do not load OLE object", "1": "Load OLE object when drawing is opened" }, "3DDWFPREC": { // Precision for 3D DWF Publishing // Values can range. These are common interpretations. "1": "Low Precision", "2": "Medium-Low Precision", // Your output was '2.0' "3": "Medium Precision", "4": "Medium-High Precision", "5": "High Precision", "6": "Maximum Precision" // Higher values (e.g., 16-20) might refer to specific bit depths. }, LOFTPARAM: { // Loft Parameterization (Controls continuity between lofted sections) "0": "Smooth fit (default)", "1": "Ruled (linear interpolation)", "2": "Normal to Start Cross Section", "3": "Normal to End Cross Section", "4": "Normal to Start and End Cross Sections", "5": "Normal to All Cross Sections", "6": "Use Draft Angles (LOFTANG1, LOFTANG2)", "7": "Use Draft Angles, Start Magnitude, End Magnitude (LOFTMAG1, LOFTMAG2)" // Your output was '7' }, LOFTNORMALS: { // Loft Normals Setting (Defines how surface normals are calculated) "0": "Ruled", "1": "Smooth", "2": "First Normal (normal to first section)", "3": "Last Normal (normal to last section)", "4": "Ends Normal (normal to start and end sections)", "5": "All Normal (normal to all sections)", "6": "Use Draft Angles" // (When LOFTANG1/2 are used) }, REALWORLDSCALE: { // Real World Scale for Linetypes "0": "Legacy behavior (scaled by PSLTSCALE/LTSCALE combination)", "1": "Scaled to real-world units (annotation scale affects display)" }, INTERFERECOLOR: { // Interference Object Color (ACI) "0": "BYBLOCK", "256": "BYLAYER" // Add other ACI values as needed, e.g., "1": "Red", your output was '1' }, DIMATFIT: { // Dimension Text and Arrow Placement Rule (when not enough space) "0": "Place both text and arrows outside extension lines", "1": "Move arrows first, then text", "2": "Move text first, then arrows", "3": "Move either text or arrows, whichever fits best" // Your output was '3' }, DIMTMOVE: { // Dimension Text Movement Rules "0": "Moves the dimension line with dimension text", "1": "Adds a leader when dimension text is moved", "2": "Allows text to be moved freely without a leader" // Your output was '0' } } };