<Spec xmlns="http://IxMilia.com/Dxf/EntitiesSpec">
<Entity Name="Entity" SubclassMarker="" TypeString="">
<Field Name="handle" Code="5" Type="Handle" DefaultValue="Handle::empty()" ReaderOverride="pair.as_handle()?" />
<Field Name="extension_data_groups" Code="102" Type="ExtensionGroup" DefaultValue="vec![]" AllowMultiples="true" />
<Field Name="x_data" Code="1001" Type="XData" DefaultValue="vec![]" AllowMultiples="true" />
<Pointer Name="owner" Code="330" />
<Field Name="is_in_paper_space" Code="67" Type="bool" DefaultValue="false" ReadConverter="as_bool({})" WriteConverter="as_i16({})" DisableWritingDefault="true" MinVersion="R12" />
<Field Name="layer" Code="8" Type="String" DefaultValue='String::from("0")' />
<Field Name="line_type_name" Code="6" Type="String" DefaultValue='String::from("BYLAYER")' DisableWritingDefault="true" />
<Field Name="elevation" Code="38" Type="f64" DefaultValue="0.0" DisableWritingDefault="true" MaxVersion="R12" />
<Pointer Name="material" Code="347" Type="Object" SubType="Material" MinVersion="R2007" />
<Field Name="color" Code="62" Type="Color" DefaultValue="Color::by_layer()" ReadConverter="Color::from_raw_value({})" WriteConverter="{}.raw_value()" DisableWritingDefault="true" />
<Field Name="lineweight_enum_value" Code="370" Type="i16" DefaultValue="0" MinVersion="R2000" />
<Field Name="line_type_scale" Code="48" Type="f64" DefaultValue="1.0" DisableWritingDefault="true" MinVersion="R13" />
<Field Name="is_visible" Code="60" Type="bool" DefaultValue="true" ReadConverter="!as_bool({})" WriteConverter="as_i16(!{})" DisableWritingDefault="true" MinVersion="R13" />
<Field Name="image_byte_count" Code="92" Type="i32" DefaultValue="0" DisableWritingDefault="true" MinVersion="R2000" />
<Field Name="preview_image_data" Code="310" Type="Vec<u8>" DefaultValue="vec![]" AllowMultiples="true" MinVersion="R2000" />
<Field Name="color_24_bit" Code="420" Type="i32" DefaultValue="0" DisableWritingDefault="true" MinVersion="R2004" />
<Field Name="color_name" Code="430" Type="String" DefaultValue="String::new()" MinVersion="R2004" />
<Field Name="transparency" Code="440" Type="i32" DefaultValue="0" MinVersion="R2004" />
<Pointer Name="plot_style" Code="390" MinVersion="R2007" />
<Field Name="shadow_mode" Code="284" Type="ShadowMode" DefaultValue="ShadowMode::CastsAndReceivesShadows" ReadConverter="enum_from_number!(ShadowMode, CastsAndReceivesShadows, from_i16, {})" WriteConverter="{} as i16" MinVersion="R2007" />
<WriteOrder>
<WriteField Field="handle" WriteCondition="write_handles" />
<WriteExtensionData />
<WriteField Field="owner" WriteCondition="write_handles" DontWriteIfValueIs="Handle(0)" />
<WriteSpecificValue Code="100" Value='&String::from("AcDbEntity")' MinVersion="R13" />
<WriteField Field="is_in_paper_space" />
<WriteField Field="layer" />
<WriteField Field="line_type_name" />
<WriteField Field="elevation" />
<WriteField Field="material" />
<WriteField Field="color" />
<WriteField Field="lineweight_enum_value" />
<WriteField Field="line_type_scale" />
<WriteField Field="is_visible" />
<WriteField Field="image_byte_count" />
<WriteField Field="preview_image_data" />
<WriteField Field="color_24_bit" />
<WriteField Field="color_name" />
<WriteField Field="transparency" />
<WriteField Field="plot_style" />
<WriteField Field="shadow_mode" />
</WriteOrder>
</Entity>
<Entity Name="Face3D" SubclassMarker="AcDbFace" TypeString="3DFACE">
<Field Name="first_corner" Code="10" Type="Point" DefaultValue="Point::origin()" CodeOverrides="10,20,30" />
<Field Name="second_corner" Code="11" Type="Point" DefaultValue="Point::origin()" CodeOverrides="11,21,31" />
<Field Name="third_corner" Code="12" Type="Point" DefaultValue="Point::origin()" CodeOverrides="12,22,32" />
<Field Name="fourth_corner" Code="13" Type="Point" DefaultValue="Point::origin()" CodeOverrides="13,23,33" />
<Field Name="edge_flags" Code="70" Type="i32" DefaultValue="0" ReadConverter="{} as i32" WriteConverter="{} as i16" DisableWritingDefault="true">
<Flag Name="is_first_edge_invisible" Mask="1" />
<Flag Name="is_second_edge_invisible" Mask="2" />
<Flag Name="is_third_edge_invisible" Mask="4" />
<Flag Name="is_fourth_edge_invisible" Mask="8" />
</Field>
</Entity>
<Entity Name="Solid3D" SubclassMarker="AcDbModelerGeometry" TypeString="3DSOLID" MinVersion="R13">
<Field Name="format_version_number" Code="70" Type="i16" DefaultValue="1" />
<Field Name="custom_data" Code="1" Type="String" DefaultValue="vec![]" AllowMultiples="true" />
<Field Name="custom_data2" Code="3" Type="String" DefaultValue="vec![]" AllowMultiples="true" />
<Pointer Name="history_object" Code="350" MinVersion="R2007" />
<WriteOrder>
<WriteSpecificValue Code="100" Value='&String::from("AcDbModelerGeometry")' />
<WriteField Field="format_version_number" />
<WriteField Field="custom_data" />
<WriteField Field="custom_data2" />
<WriteSpecificValue Code="100" Value='&String::from("AcDb3dSolid")' MinVersion="R2007" />
<WriteField Field="history_object" />
</WriteOrder>
</Entity>
<Entity Name="ProxyEntity" SubclassMarker="AcDbProxyEntity" TypeString="ACAD_PROXY_ENTITY" MinVersion="R14">
<Field Name="proxy_entity_class_id" Code="90" Type="i32" DefaultValue="498" />
<Field Name="application_entity_class_id" Code="91" Type="i32" DefaultValue="500" />
<Field Name="graphics_data_size" Code="92" Type="i32" DefaultValue="0" />
<Field Name="graphics_data_string" Code="310" Type="Vec<u8>" DefaultValue="vec![]" AllowMultiples="true" />
<Field Name="entity_data_size" Code="93" Type="i32" DefaultValue="0" />
<Field Name="entity_data_string" Code="310" Type="Vec<u8>" DefaultValue="vec![]" AllowMultiples="true" />
<Field Name="object_id_1" Code="330" Type="String" DefaultValue="vec![]" AllowMultiples="true" />
<Field Name="object_id_2" Code="340" Type="String" DefaultValue="vec![]" AllowMultiples="true" />
<Field Name="object_id_3" Code="350" Type="String" DefaultValue="vec![]" AllowMultiples="true" />
<Field Name="object_id_4" Code="360" Type="String" DefaultValue="vec![]" AllowMultiples="true" />
<Field Name="terminator" Code="94" Type="i32" DefaultValue="0" />
<Field Name="__object_drawing_format" Code="95" Type="u32" DefaultValue="0" ReadConverter="{} as u32" WriteConverter="{} as i32" MinVersion="R2000" />
<Field Name="original_data_format_is_dxf" Code="70" Type="bool" DefaultValue="true" ReadConverter="as_bool({})" WriteConverter="as_i16({})" MinVersion="R2000" />
</Entity>
<Entity Name="Arc" SubclassMarker="AcDbArc" TypeString="ARC">
<Field Name="thickness" Code="39" Type="f64" DefaultValue="0.0" DisableWritingDefault="true" />
<Field Name="center" Code="10" Type="Point" DefaultValue="Point::origin()" CodeOverrides="10,20,30" />
<Field Name="radius" Code="40" Type="f64" DefaultValue="0.0" />
<Field Name="normal" Code="210" Type="Vector" DefaultValue="Vector::z_axis()" DisableWritingDefault="true" CodeOverrides="210,220,230" />
<Field Name="start_angle" Code="50" Type="f64" DefaultValue="0.0" Comment="Arc start angle in degrees." />
<Field Name="end_angle" Code="51" Type="f64" DefaultValue="360.0" Comment="Arc end angle in degrees." />
<WriteOrder>
<WriteSpecificValue Code="100" Value='&String::from("AcDbCircle")' />
<WriteField Field="thickness" />
<WriteField Field="center" />
<WriteField Field="radius" />
<WriteField Field="normal" />
<WriteSpecificValue Code="100" Value='&String::from("AcDbArc")' />
<WriteField Field="start_angle" />
<WriteField Field="end_angle" />
</WriteOrder>
</Entity>
<Entity Name="ArcAlignedText" SubclassMarker="AcDbArcAlignedText" TypeString="ARCALIGNEDTEXT" MinVersion="R2000" MaxVersion="R2000">
<Field Name="text" Code="1" Type="String" DefaultValue="String::new()" />
<Field Name="font_name" Code="2" Type="String" DefaultValue="String::new()" />
<Field Name="bigfont_name" Code="3" Type="String" DefaultValue="String::new()" />
<Field Name="text_style_name" Code="7" Type="String" DefaultValue="String::new()" />
<Field Name="center_point" Code="10" Type="Point" DefaultValue="Point::origin()" CodeOverrides="10,20,30" />
<Field Name="arc_radius" Code="40" Type="f64" DefaultValue="0.0" />
<Field Name="width_factor" Code="41" Type="f64" DefaultValue="1.0" />
<Field Name="text_height" Code="42" Type="f64" DefaultValue="0.0" />
<Field Name="character_spacing" Code="43" Type="f64" DefaultValue="0.0" />
<Field Name="offset_from_arc" Code="44" Type="f64" DefaultValue="0.0" />
<Field Name="right_offset" Code="45" Type="f64" DefaultValue="0.0" />
<Field Name="left_offset" Code="46" Type="f64" DefaultValue="0.0" />
<Field Name="start_angle" Code="50" Type="f64" DefaultValue="0.0" />
<Field Name="end_angle" Code="51" Type="f64" DefaultValue="0.0" />
<Field Name="is_character_order_reversed" Code="70" Type="bool" DefaultValue="false" ReadConverter="as_bool({})" WriteConverter="as_i16({})" />
<Field Name="direction_flag" Code="71" Type="i16" DefaultValue="0" />
<Field Name="alignment_flag" Code="72" Type="i16" DefaultValue="0" />
<Field Name="side_flag" Code="73" Type="i16" DefaultValue="0" />
<Field Name="is_bold" Code="74" Type="bool" DefaultValue="false" ReadConverter="as_bool({})" WriteConverter="as_i16({})" />
<Field Name="is_italic" Code="75" Type="bool" DefaultValue="false" ReadConverter="as_bool({})" WriteConverter="as_i16({})" />
<Field Name="is_underline" Code="76" Type="bool" DefaultValue="false" ReadConverter="as_bool({})" WriteConverter="as_i16({})" />
<Field Name="character_set_value" Code="77" Type="i16" DefaultValue="0" />
<Field Name="pitch_and_family_value" Code="78" Type="i16" DefaultValue="0" />
<Field Name="font_type" Code="79" Type="FontType" DefaultValue="FontType::TTF" ReadConverter="enum_from_number!(FontType, TTF, from_i16, {})" WriteConverter="{} as i16" />
<Field Name="color_index" Code="90" Type="i32" DefaultValue="0" />
<Field Name="extrusion_direction" Code="210" Type="Vector" DefaultValue="Vector::z_axis()" DisableWritingDefault="true" CodeOverrides="210,220,230" />
<Field Name="wizard_flag" Code="280" Type="i16" DefaultValue="0" />
</Entity>
<Entity Name="AttributeDefinition" SubclassMarker="AcDbText" TypeString="ATTDEF" GenerateReaderFunction="false">
<Field Name="thickness" Code="39" Type="f64" DefaultValue="0.0" DisableWritingDefault="true" />
<Field Name="location" Code="10" Type="Point" DefaultValue="Point::origin()" CodeOverrides="10,20,30" />
<Field Name="text_height" Code="40" Type="f64" DefaultValue="1.0" />
<Field Name="value" Code="1" Type="String" DefaultValue="String::new()" />
<Field Name="rotation" Code="50" Type="f64" DefaultValue="0.0" DisableWritingDefault="true" />
<Field Name="relative_x_scale_factor" Code="41" Type="f64" DefaultValue="1.0" DisableWritingDefault="true" />
<Field Name="oblique_angle" Code="51" Type="f64" DefaultValue="0.0" DisableWritingDefault="true" />
<Field Name="text_style_name" Code="7" Type="String" DefaultValue='String::from("STANDARD")' DisableWritingDefault="true" />
<Field Name="text_generation_flags" Code="71" Type="i32" DefaultValue="0" ReadConverter="{} as i32" WriteConverter="{} as i16" DisableWritingDefault="true">
<Flag Name="is_text_backwards" Mask="2" />
<Flag Name="is_text_upside_down" Mask="4" />
</Field>
<Field Name="horizontal_text_justification" Code="72" Type="HorizontalTextJustification" DefaultValue="HorizontalTextJustification::Left" ReadConverter="enum_from_number!(HorizontalTextJustification, Left, from_i16, {})" WriteConverter="{} as i16" DisableWritingDefault="true" />
<Field Name="second_alignment_point" Code="11" Type="Point" DefaultValue="Point::origin()" CodeOverrides="11,21,31" />
<Field Name="normal" Code="210" Type="Vector" DefaultValue="Vector::z_axis()" DisableWritingDefault="true" CodeOverrides="210,220,230" />
<Field Name="version" Code="280" Type="Version" DefaultValue="Version::R2010" ReadConverter="enum_from_number!(Version, R2010, from_i16, {})" WriteConverter="{} as i16" MinVersion="R2010" />
<Field Name="prompt" Code="3" Type="String" DefaultValue="String::new()" />
<Field Name="text_tag" Code="2" Type="String" DefaultValue="String::new()" />
<Field Name="flags" Code="70" Type="i32" DefaultValue="0" ReadConverter="{} as i32" WriteConverter="{} as i16">
<Flag Name="is_invisible" Mask="1" />
<Flag Name="is_constant" Mask="2" />
<Flag Name="is_input_verification_required" Mask="4" />
<Flag Name="is_attribute_present" Mask="8" />
</Field>
<Field Name="field_length" Code="73" Type="i16" DefaultValue="0" DisableWritingDefault="true" />
<Field Name="vertical_text_justification" Code="74" Type="VerticalTextJustification" DefaultValue="VerticalTextJustification::Baseline" ReadConverter="enum_from_number!(VerticalTextJustification, Baseline, from_i16, {})" WriteConverter="{} as i16" DisableWritingDefault="true" MinVersion="R12" />
<Field Name="is_locked_in_block" Code="280" Type="bool" DefaultValue="false" ReadConverter="as_bool({})" WriteConverter="as_i16({})" MinVersion="R2007" />
<Field Name="keep_duplicate_records" Code="280" Type="bool" DefaultValue="false" ReadConverter="as_bool({})" WriteConverter="as_i16({})" MinVersion="R2007" />
<Field Name="m_text_flag" Code="70" Type="MTextFlag" DefaultValue="MTextFlag::MultilineAttribute" ReadConverter="enum_from_number!(MTextFlag, MultilineAttribute, from_i16, {})" WriteConverter="{} as i16" MinVersion="R2007" />
<Field Name="is_really_locked" Code="70" Type="bool" DefaultValue="false" ReadConverter="as_bool({})" WriteConverter="as_i16({})" MinVersion="R2007" />
<Field Name="__secondary_attribute_count" Code="70" Type="i32" DefaultValue="0" ReadConverter="{} as i32" WriteConverter="{} as i16" MinVersion="R2007" />
<Pointer Name="secondary_attributes" Code="340" AllowMultiples="true" MinVersion="R2007" />
<Field Name="alignment_point" Code="10" Type="Point" DefaultValue="Point::origin()" CodeOverrides="10,20,30" MinVersion="R2007" />
<Field Name="annotation_scale" Code="40" Type="f64" DefaultValue="1.0" MinVersion="R2007" />
<Field Name="x_record_tag" Code="2" Type="String" DefaultValue="String::new()" MinVersion="R2007" />
<Field Name="m_text" Code="-1" Type="MText" DefaultValue="MText::default()" />
<WriteOrder>
<WriteSpecificValue Code="100" Value='&String::from("AcDbText")' MinVersion="R13" />
<WriteField Field="thickness" />
<WriteField Field="location" />
<WriteField Field="text_height" />
<WriteField Field="value" />
<WriteSpecificValue Code="100" Value='&String::from("AcDbAttributeDefinition")' MinVersion="R13" />
<WriteField Field="rotation" />
<WriteField Field="relative_x_scale_factor" />
<WriteField Field="oblique_angle" />
<WriteField Field="text_style_name" />
<WriteField Field="text_generation_flags" />
<WriteField Field="horizontal_text_justification" />
<WriteField Field="second_alignment_point" />
<WriteField Field="normal" />
<WriteSpecificValue Code="100" Value='&String::from("AcDbAttributeDefinition")' MinVersion="R13" />
<WriteField Field="version" />
<WriteField Field="prompt" />
<WriteField Field="text_tag" />
<WriteField Field="flags" />
<WriteField Field="field_length" />
<WriteField Field="vertical_text_justification" />
<WriteField Field="is_locked_in_block" />
<WriteSpecificValue Code="100" Value='&String::from("AcDbXrecord")' MinVersion="R2007" />
<WriteField Field="keep_duplicate_records" />
<WriteField Field="m_text_flag" />
<WriteField Field="is_really_locked" />
<WriteSpecificValue Code="70" Value="ent.__secondary_attributes_handle.len() as i16" MinVersion="R2007" />
<WriteField Field="secondary_attributes" />
<WriteField Field="alignment_point" />
<WriteField Field="annotation_scale" />
<WriteField Field="x_record_tag" />
</WriteOrder>
</Entity>
<Entity Name="Attribute" SubclassMarker="AcDbText" TypeString="ATTRIB" GenerateReaderFunction="false">
<Field Name="thickness" Code="39" Type="f64" DefaultValue="0.0" DisableWritingDefault="true" />
<Field Name="location" Code="10" Type="Point" DefaultValue="Point::origin()" CodeOverrides="10,20,30" />
<Field Name="text_height" Code="40" Type="f64" DefaultValue="1.0" />
<Field Name="value" Code="1" Type="String" DefaultValue="String::new()" />
<Field Name="version" Code="280" Type="Version" DefaultValue="Version::R2010" ReadConverter="enum_from_number!(Version, R2010, from_i16, {})" WriteConverter="{} as i16" MinVersion="R2010" />
<Field Name="attribute_tag" Code="2" Type="String" DefaultValue="String::new()" />
<Field Name="flags" Code="70" Type="i32" DefaultValue="0" ReadConverter="{} as i32" WriteConverter="{} as i16">
<Flag Name="is_invisible" Mask="1" />
<Flag Name="is_constant" Mask="2" />
<Flag Name="is_input_verification_required" Mask="4" />
<Flag Name="is_attribute_present" Mask="8" />
</Field>
<Field Name="field_length" Code="73" Type="i16" DefaultValue="0" DisableWritingDefault="true" />
<Field Name="rotation" Code="50" Type="f64" DefaultValue="0.0" DisableWritingDefault="true" />
<Field Name="relative_x_scale_factor" Code="41" Type="f64" DefaultValue="1.0" DisableWritingDefault="true" />
<Field Name="oblique_angle" Code="51" Type="f64" DefaultValue="0.0" DisableWritingDefault="true" />
<Field Name="text_style_name" Code="7" Type="String" DefaultValue='String::from("STANDARD")' DisableWritingDefault="true" />
<Field Name="text_generation_flags" Code="71" Type="i32" DefaultValue="0" ReadConverter="{} as i32" WriteConverter="{} as i16" DisableWritingDefault="true">
<Flag Name="is_text_backwards" Mask="2" />
<Flag Name="is_text_upside_down" Mask="4" />
</Field>
<Field Name="horizontal_text_justification" Code="72" Type="HorizontalTextJustification" DefaultValue="HorizontalTextJustification::Left" ReadConverter="enum_from_number!(HorizontalTextJustification, Left, from_i16, {})" WriteConverter="{} as i16" DisableWritingDefault="true" />
<Field Name="vertical_text_justification" Code="74" Type="VerticalTextJustification" DefaultValue="VerticalTextJustification::Baseline" ReadConverter="enum_from_number!(VerticalTextJustification, Baseline, from_i16, {})" WriteConverter="{} as i16" DisableWritingDefault="true" MinVersion="R12" />
<Field Name="second_alignment_point" Code="11" Type="Point" DefaultValue="Point::origin()" CodeOverrides="11,21,31" />
<Field Name="normal" Code="210" Type="Vector" DefaultValue="Vector::z_axis()" DisableWritingDefault="true" CodeOverrides="210,220,230" />
<Field Name="is_locked_in_block" Code="280" Type="bool" DefaultValue="false" ReadConverter="as_bool({})" WriteConverter="as_i16({})" MinVersion="R2007" />
<Field Name="keep_duplicate_records" Code="280" Type="bool" DefaultValue="false" ReadConverter="as_bool({})" WriteConverter="as_i16({})" MinVersion="R2007" />
<Field Name="m_text_flag" Code="70" Type="MTextFlag" DefaultValue="MTextFlag::MultilineAttribute" ReadConverter="(MTextFlag)" WriteConverter="{} as i16" MinVersion="R2007" />
<Field Name="is_really_locked" Code="70" Type="bool" DefaultValue="false" ReadConverter="as_bool({})" WriteConverter="as_i16({})" MinVersion="R2007" />
<Field Name="__secondary_attribute_count" Code="70" Type="i32" DefaultValue="0" ReadConverter="{} as i32" WriteConverter="{} as i16" MinVersion="R2007" />
<Pointer Name="secondary_attributes" Code="340" AllowMultiples="true" MinVersion="R2007" />
<Field Name="alignment_point" Code="10" Type="Point" DefaultValue="Point::origin()" CodeOverrides="10,20,30" MinVersion="R2007" />
<Field Name="annotation_scale" Code="40" Type="f64" DefaultValue="1.0" MinVersion="R2007" />
<Field Name="x_record_tag" Code="2" Type="String" DefaultValue="String::new()" MinVersion="R2007" />
<Field Name="m_text" Code="-1" Type="MText" DefaultValue="MText::default()" />
<WriteOrder>
<WriteSpecificValue Code="100" Value='&String::from("AcDbText")' MinVersion="R13" />
<WriteField Field="thickness" />
<WriteField Field="location" />
<WriteField Field="text_height" />
<WriteField Field="value" />
<WriteSpecificValue Code="100" Value='&String::from("AcDbAttribute")' MinVersion="R13" />
<WriteField Field="version" />
<WriteField Field="attribute_tag" />
<WriteField Field="flags" />
<WriteField Field="field_length" />
<WriteField Field="rotation" />
<WriteField Field="relative_x_scale_factor" />
<WriteField Field="oblique_angle" />
<WriteField Field="text_style_name" />
<WriteField Field="text_generation_flags" />
<WriteField Field="horizontal_text_justification" />
<WriteField Field="vertical_text_justification" />
<WriteField Field="second_alignment_point" />
<WriteField Field="normal" />
<WriteField Field="is_locked_in_block" />
<WriteSpecificValue Code="100" Value='&String::from("AcDbXrecord")' MinVersion="R2007" />
<WriteField Field="keep_duplicate_records" />
<WriteField Field="m_text_flag" />
<WriteField Field="is_really_locked" />
<WriteSpecificValue Code="70" Value="ent.__secondary_attributes_handle.len() as i16" MinVersion="R2007" />
<WriteField Field="secondary_attributes" />
<WriteField Field="alignment_point" />
<WriteField Field="annotation_scale" />
<WriteField Field="x_record_tag" />
</WriteOrder>
</Entity>
<Entity Name="Body" SubclassMarker="AcDbModelerGeometry" TypeString="BODY" MinVersion="R13">
<Field Name="format_version_number" Code="70" Type="i16" DefaultValue="1" />
<Field Name="custom_data" Code="1" Type="String" DefaultValue="vec![]" AllowMultiples="true" />
<Field Name="custom_data2" Code="3" Type="String" DefaultValue="vec![]" AllowMultiples="true" />
</Entity>
<Entity Name="Circle" SubclassMarker="AcDbCircle" TypeString="CIRCLE">
<Field Name="thickness" Code="39" Type="f64" DefaultValue="0.0" DisableWritingDefault="true" />
<Field Name="center" Code="10" Type="Point" DefaultValue="Point::origin()" CodeOverrides="10,20,30" />
<Field Name="radius" Code="40" Type="f64" DefaultValue="0.0" />
<Field Name="normal" Code="210" Type="Vector" DefaultValue="Vector::z_axis()" DisableWritingDefault="true" CodeOverrides="210,220,230" />
</Entity>
<Entity Name="DimensionBase" SubclassMarker="AcDbDimension" TypeString="DIMENSION" HasXData="true">
<Field Name="version" Code="280" Type="Version" DefaultValue="Version::R2010" WriteConverter="{} as i16" MinVersion="R2010" />
<Field Name="block_name" Code="2" Type="String" DefaultValue='String::from("*MODEL_SPACE")' />
<Field Name="definition_point_1" Code="10" Type="Point" DefaultValue="Point::origin()" CodeOverrides="10,20,30" />
<Field Name="text_mid_point" Code="11" Type="Point" DefaultValue="Point::origin()" CodeOverrides="11,21,31" />
<Field Name="dimension_type" Code="70" Type="DimensionType" DefaultValue="DimensionType::Aligned" WriteConverter="self.dimension_type()" />
<Field Name="attachment_point" Code="71" Type="AttachmentPoint" DefaultValue="AttachmentPoint::TopLeft" WriteConverter="{} as i16" MinVersion="R2000" />
<Field Name="text_line_spacing_style" Code="72" Type="TextLineSpacingStyle" DefaultValue="TextLineSpacingStyle::AtLeast" WriteConverter="{} as i16" DisableWritingDefault="true" MinVersion="R2000" />
<Field Name="text_line_spacing_factor" Code="41" Type="f64" DefaultValue="1.0" DisableWritingDefault="true" MinVersion="R2000" />
<Field Name="actual_measurement" Code="42" Type="f64" DefaultValue="0.0" DisableWritingDefault="true" ProtectedSet="true" MinVersion="R2000" />
<Field Name="text" Code="1" Type="String" DefaultValue='String::from("<>")' />
<Field Name="text_rotation_angle" Code="53" Type="f64" DefaultValue="0.0" DisableWritingDefault="true" />
<Field Name="horizontal_direction_angle" Code="51" Type="f64" DefaultValue="0.0" DisableWritingDefault="true" />
<Field Name="normal" Code="210" Type="Vector" DefaultValue="Vector::z_axis()" DisableWritingDefault="true" CodeOverrides="210,220,230" />
<Field Name="dimension_style_name" Code="3" Type="String" DefaultValue='String::from("STANDARD")' MinVersion="R12" />
<Field Name="is_block_reference_referenced_by_this_block_only" Code="70" Type="bool" DefaultValue="false" GenerateWriter="false" />
<Field Name="is_ordinate_x_type" Code="70" Type="bool" DefaultValue="false" GenerateWriter="false" />
<Field Name="is_at_user_defined_location" Code="70" Type="bool" DefaultValue="false" GenerateWriter="false" />
</Entity>
<Entity Name="RotatedDimension" SubclassMarker="AcDbAlignedDimension" TypeString="DIMENSION" BaseClass="DimensionBase" GenerateReaderFunction="false" GenerateWriterFunction="false">
<Field Name="insertion_point" Code="12" Type="Point" DefaultValue="Point::origin()" CodeOverrides="12,22,32" />
<Field Name="definition_point_2" Code="13" Type="Point" DefaultValue="Point::origin()" CodeOverrides="13,23,33" />
<Field Name="definition_point_3" Code="14" Type="Point" DefaultValue="Point::origin()" CodeOverrides="14,24,34" />
<Field Name="rotation_angle" Code="50" Type="f64" DefaultValue="0.0" />
<Field Name="extension_line_angle" Code="52" Type="f64" DefaultValue="0.0" />
</Entity>
<Entity Name="RadialDimension" SubclassMarker="AcDbRadialDimension" TypeString="DIMENSION" BaseClass="DimensionBase" GenerateReaderFunction="false" GenerateWriterFunction="false">
<Field Name="definition_point_2" Code="15" Type="Point" DefaultValue="Point::origin()" CodeOverrides="15,25,35" />
<Field Name="leader_length" Code="40" Type="f64" DefaultValue="0.0" />
</Entity>
<Entity Name="DiameterDimension" SubclassMarker="AcDbDiametricDimension" TypeString="DIMENSION" BaseClass="DimensionBase" GenerateReaderFunction="false" GenerateWriterFunction="false">
<Field Name="definition_point_2" Code="15" Type="Point" DefaultValue="Point::origin()" CodeOverrides="15,25,35" />
<Field Name="leader_length" Code="40" Type="f64" DefaultValue="0.0" />
</Entity>
<Entity Name="AngularThreePointDimension" SubclassMarker="AcDb3PointAngularDimension" TypeString="DIMENSION" BaseClass="DimensionBase" GenerateReaderFunction="false" GenerateWriterFunction="false">
<Field Name="definition_point_2" Code="13" Type="Point" DefaultValue="Point::origin()" CodeOverrides="13,23,33" />
<Field Name="definition_point_3" Code="14" Type="Point" DefaultValue="Point::origin()" CodeOverrides="14,24,34" />
<Field Name="definition_point_4" Code="15" Type="Point" DefaultValue="Point::origin()" CodeOverrides="15,25,35" />
<Field Name="definition_point_5" Code="16" Type="Point" DefaultValue="Point::origin()" CodeOverrides="16,26,36" />
</Entity>
<Entity Name="OrdinateDimension" SubclassMarker="AcDbOrdinateDimension" TypeString="DIMENSION" BaseClass="DimensionBase" GenerateReaderFunction="false" GenerateWriterFunction="false">
<Field Name="definition_point_2" Code="13" Type="Point" DefaultValue="Point::origin()" CodeOverrides="13,23,33" />
<Field Name="definition_point_3" Code="14" Type="Point" DefaultValue="Point::origin()" CodeOverrides="14,24,34" />
</Entity>
<Entity Name="Ellipse" SubclassMarker="AcDbEllipse" TypeString="ELLIPSE" MinVersion="R13">
<Field Name="center" Code="10" Type="Point" DefaultValue="Point::origin()" CodeOverrides="10,20,30" />
<Field Name="major_axis" Code="11" Type="Vector" DefaultValue="Vector::x_axis()" CodeOverrides="11,21,31" />
<Field Name="normal" Code="210" Type="Vector" DefaultValue="Vector::z_axis()" DisableWritingDefault="true" CodeOverrides="210,220,230" />
<Field Name="minor_axis_ratio" Code="40" Type="f64" DefaultValue="1.0" />
<Field Name="start_parameter" Code="41" Type="f64" DefaultValue="0.0" Comment="Ellipse start angle in radians." />
<Field Name="end_parameter" Code="42" Type="f64" DefaultValue="::std::f64::consts::PI * 2.0" Comment="Ellipse end angle in radians." />
</Entity>
<Entity Name="Helix" SubclassMarker="AcDbHelix" TypeString="HELIX" MinVersion="R2007">
<Field Name="major_release_number" Code="90" Type="i32" DefaultValue="0" />
<Field Name="maintainence_release_number" Code="91" Type="i32" DefaultValue="0" />
<Field Name="axis_base_point" Code="10" Type="Point" DefaultValue="Point::origin()" CodeOverrides="10,20,30" />
<Field Name="start_point" Code="11" Type="Point" DefaultValue="Point::origin()" CodeOverrides="11,21,31" />
<Field Name="axis_vector" Code="12" Type="Vector" DefaultValue="Vector::z_axis()" CodeOverrides="12,22,32" />
<Field Name="radius" Code="40" Type="f64" DefaultValue="0.0" />
<Field Name="number_of_turns" Code="41" Type="f64" DefaultValue="0.0" />
<Field Name="turn_height" Code="42" Type="f64" DefaultValue="0.0" />
<Field Name="is_right_handed" Code="290" Type="bool" DefaultValue="false" />
<Field Name="constraint" Code="280" Type="HelixConstraint" DefaultValue="HelixConstraint::ConstrainTurnHeight" ReadConverter="enum_from_number!(HelixConstraint, ConstrainTurnHeight, from_i16, {})" WriteConverter="{} as i16" />
</Entity>
<Entity Name="Image" SubclassMarker="AcDbRasterImage" TypeString="IMAGE" MinVersion="R14">
<Field Name="class_version" Code="90" Type="i32" DefaultValue="0" />
<Field Name="location" Code="10" Type="Point" DefaultValue="Point::origin()" CodeOverrides="10,20,30" />
<Field Name="u_vector" Code="11" Type="Vector" DefaultValue="Vector::x_axis()" CodeOverrides="11,21,31" />
<Field Name="v_vector" Code="12" Type="Vector" DefaultValue="Vector::y_axis()" CodeOverrides="12,22,32" />
<Field Name="image_size" Code="13" Type="Vector" DefaultValue="Vector::zero()" CodeOverrides="13,23" />
<Field Name="image_def_reference" Code="340" Type="String" DefaultValue="String::new()" />
<Field Name="display_options_flags" Code="70" Type="i32" DefaultValue="0" ReadConverter="{} as i32" WriteConverter="{} as i16">
<Flag Name="show_image" Mask="1" />
<Flag Name="show_image_when_not_alligned" Mask="2" />
<Flag Name="use_clipping_boundary" Mask="4" />
<Flag Name="use_transparency" Mask="8" />
</Field>
<Field Name="use_clipping" Code="280" Type="bool" DefaultValue="true" ReadConverter="as_bool({})" WriteConverter="as_i16({})" />
<Field Name="brightness" Code="281" Type="i16" DefaultValue="50" />
<Field Name="contrast" Code="282" Type="i16" DefaultValue="50" />
<Field Name="fade" Code="283" Type="i16" DefaultValue="0" />
<Field Name="image_def_reactor_reference" Code="360" Type="String" DefaultValue="String::new()" />
<Field Name="clipping_type" Code="71" Type="ImageClippingBoundaryType" DefaultValue="ImageClippingBoundaryType::Rectangular" ReadConverter="enum_from_number!(ImageClippingBoundaryType, Rectangular, from_i16, {})" WriteConverter="{} as i16" />
<Field Name="clipping_vertex_count" Code="91" Type="i32" DefaultValue="0" />
<Field Name="__clipping_vertices_x" Code="14" Type="f64" DefaultValue="vec![]" AllowMultiples="true" />
<Field Name="__clipping_vertices_y" Code="24" Type="f64" DefaultValue="vec![]" AllowMultiples="true" />
<Field Name="clipping_vertices" Code="14" Type="Point" DefaultValue="vec![]" AllowMultiples="true" GenerateReader="false" />
<Field Name="is_inside_clipping" Code="290" Type="bool" DefaultValue="false" MinVersion="R2010" />
<WriteOrder>
<WriteSpecificValue Code="100" Value='&String::from("AcDbRasterImage")' />
<WriteField Field="class_version" />
<WriteField Field="location" />
<WriteField Field="u_vector" />
<WriteField Field="v_vector" />
<WriteField Field="image_size" />
<WriteField Field="image_def_reference" />
<WriteField Field="display_options_flags" />
<WriteField Field="use_clipping" />
<WriteField Field="brightness" />
<WriteField Field="contrast" />
<WriteField Field="fade" />
<WriteField Field="image_def_reactor_reference" />
<WriteField Field="clipping_type" />
<WriteSpecificValue Code="91" Value="ent.clipping_vertices.len() as i32" />
<Foreach Field="ent.clipping_vertices">
<WriteSpecificValue Code="14" Value="item.x" />
<WriteSpecificValue Code="24" Value="item.y" />
</Foreach>
<WriteField Field="is_inside_clipping" />
</WriteOrder>
</Entity>
<Entity Name="Insert" SubclassMarker="AcDbBlockReference" TypeString="INSERT">
<Field Name="__seqend_handle" Code="5" Type="Handle" DefaultValue="Handle::empty()" ReaderOverride="pair.as_handle()?" GenerateReader="false" GenerateWriter="false" />
<Field Name="__has_attributes" Code="66" Type="bool" DefaultValue="false" ReadConverter="as_bool({})" />
<Field Name="name" Code="2" Type="String" DefaultValue="String::new()" />
<Field Name="location" Code="10" Type="Point" DefaultValue="Point::origin()" CodeOverrides="10,20,30" />
<Field Name="x_scale_factor" Code="41" Type="f64" DefaultValue="1.0" DisableWritingDefault="true" />
<Field Name="y_scale_factor" Code="42" Type="f64" DefaultValue="1.0" DisableWritingDefault="true" />
<Field Name="z_scale_factor" Code="43" Type="f64" DefaultValue="1.0" DisableWritingDefault="true" />
<Field Name="rotation" Code="50" Type="f64" DefaultValue="0.0" DisableWritingDefault="true" />
<Field Name="column_count" Code="70" Type="i16" DefaultValue="1" DisableWritingDefault="true" />
<Field Name="row_count" Code="71" Type="i16" DefaultValue="1" DisableWritingDefault="true" />
<Field Name="column_spacing" Code="44" Type="f64" DefaultValue="0.0" DisableWritingDefault="true" />
<Field Name="row_spacing" Code="45" Type="f64" DefaultValue="0.0" DisableWritingDefault="true" />
<Field Name="extrusion_direction" Code="210" Type="Vector" DefaultValue="Vector::z_axis()" CodeOverrides="210,220,230" MinVersion="R12" />
<Field Name="__attributes_and_handles" Code="10" Type="(Attribute, Handle)" DefaultValue="vec![]" AllowMultiples="true" GenerateReader="false" GenerateWriter="false" />
<WriteOrder>
<WriteSpecificValue Code="100" Value='&String::from("AcDbBlockReference")' MinVersion="R13" />
<WriteSpecificValue Code="66" Value="as_i16(ent.attributes().count() > 0)" WriteCondition="ent.attributes().count() > 0" />
<WriteField Field="name" />
<WriteField Field="location" />
<WriteField Field="x_scale_factor" />
<WriteField Field="y_scale_factor" />
<WriteField Field="z_scale_factor" />
<WriteField Field="rotation" />
<WriteField Field="column_count" />
<WriteField Field="row_count" />
<WriteField Field="column_spacing" />
<WriteField Field="row_spacing" />
<WriteField Field="extrusion_direction" />
</WriteOrder>
</Entity>
<Entity Name="Leader" SubclassMarker="AcDbLeader" TypeString="LEADER" MinVersion="R13" HasXData="true">
<Field Name="dimension_style_name" Code="3" Type="String" DefaultValue="String::new()" />
<Field Name="use_arrowheads" Code="71" Type="bool" DefaultValue="true" ReadConverter="as_bool({})" WriteConverter="as_i16({})" />
<Field Name="path_type" Code="72" Type="LeaderPathType" DefaultValue="LeaderPathType::StraightLineSegments" ReadConverter="enum_from_number!(LeaderPathType, StraightLineSegments, from_i16, {})" WriteConverter="{} as i16" />
<Field Name="annotation_type" Code="73" Type="LeaderCreationAnnotationType" DefaultValue="LeaderCreationAnnotationType::NoAnnotation" ReadConverter="enum_from_number!(LeaderCreationAnnotationType, NoAnnotation, from_i16, {})" WriteConverter="{} as i16" />
<Field Name="hookline_direction" Code="74" Type="LeaderHooklineDirection" DefaultValue="LeaderHooklineDirection::OppositeFromHorizontalVector" ReadConverter="enum_from_number!(LeaderHooklineDirection, OppositeFromHorizontalVector, from_i16, {})" WriteConverter="{} as i16" />
<Field Name="use_hookline" Code="75" Type="bool" DefaultValue="true" ReadConverter="as_bool({})" WriteConverter="as_i16({})" />
<Field Name="text_annotation_height" Code="40" Type="f64" DefaultValue="1.0" />
<Field Name="text_annotation_width" Code="41" Type="f64" DefaultValue="1.0" />
<Field Name="vertex_count" Code="76" Type="i32" DefaultValue="0" ReadConverter="{} as i32" WriteConverter="{} as i16" />
<Field Name="__vertices_x" Code="10" Type="f64" DefaultValue="vec![]" AllowMultiples="true" />
<Field Name="__vertices_y" Code="20" Type="f64" DefaultValue="vec![]" AllowMultiples="true" />
<Field Name="__vertices_z" Code="30" Type="f64" DefaultValue="vec![]" AllowMultiples="true" />
<Field Name="vertices" Code="10" Type="Point" DefaultValue="vec![]" AllowMultiples="true" GenerateReader="false" />
<Field Name="override_color" Code="77" Type="Color" DefaultValue="Color::by_block()" DisableWritingDefault="true" ReadConverter="Color::from_raw_value({})" WriteConverter="{}.raw_value()" />
<Field Name="associated_annotation_reference" Code="340" Type="String" DefaultValue="String::new()" />
<Field Name="normal" Code="210" Type="Vector" DefaultValue="Vector::z_axis()" CodeOverrides="210,220,230" />
<Field Name="right" Code="211" Type="Vector" DefaultValue="Vector::x_axis()" CodeOverrides="211,221,231" />
<Field Name="block_offset" Code="212" Type="Vector" DefaultValue="Vector::zero()" CodeOverrides="212,222,232" />
<Field Name="annotation_offset" Code="213" Type="Vector" DefaultValue="Vector::x_axis()" CodeOverrides="213,223,233" MinVersion="R14" />
<WriteOrder>
<WriteSpecificValue Code="100" Value='&String::from("AcDbLeader")' />
<WriteField Field="dimension_style_name" />
<WriteField Field="use_arrowheads" />
<WriteField Field="path_type" />
<WriteField Field="annotation_type" />
<WriteField Field="hookline_direction" />
<WriteField Field="use_hookline" />
<WriteField Field="text_annotation_height" />
<WriteField Field="text_annotation_width" />
<WriteSpecificValue Code="76" Value="ent.vertices.len() as i16" />
<Foreach Field="ent.vertices">
<WriteSpecificValue Code="10" Value="item.x" />
<WriteSpecificValue Code="20" Value="item.y" />
<WriteSpecificValue Code="30" Value="item.z" />
</Foreach>
<WriteField Field="override_color" />
<WriteField Field="associated_annotation_reference" />
<WriteField Field="normal" />
<WriteField Field="right" />
<WriteField Field="block_offset" />
<WriteField Field="annotation_offset" />
</WriteOrder>
</Entity>
<Entity Name="Light" SubclassMarker="AcDbLight" TypeString="LIGHT" MinVersion="R2007">
<Field Name="version_number" Code="90" Type="i32" DefaultValue="0" />
<Field Name="name" Code="1" Type="String" DefaultValue="String::new()" />
<Field Name="light_type" Code="70" Type="LightType" DefaultValue="LightType::Distant" ReadConverter="enum_from_number!(LightType, Distant, from_i16, {})" WriteConverter="{} as i16" />
<Field Name="is_active" Code="290" Type="bool" DefaultValue="true" />
<Field Name="plot_glyph" Code="291" Type="bool" DefaultValue="true" />
<Field Name="intensity" Code="40" Type="f64" DefaultValue="1.0" />
<Field Name="position" Code="10" Type="Point" DefaultValue="Point::origin()" CodeOverrides="10,20,30" />
<Field Name="target_location" Code="11" Type="Point" DefaultValue="Point::origin()" CodeOverrides="11,21,31" />
<Field Name="attentuation_type" Code="72" Type="LightAttenuationType" DefaultValue="LightAttenuationType::None" ReadConverter="enum_from_number!(LightAttenuationType, None, from_i16, {})" WriteConverter="{} as i16" />
<Field Name="use_attenuation_limits" Code="292" Type="bool" DefaultValue="true" />
<Field Name="attenuation_start_limit" Code="41" Type="f64" DefaultValue="0.0" />
<Field Name="attenuation_end_limit" Code="42" Type="f64" DefaultValue="1.0" />
<Field Name="hotspot_angle" Code="50" Type="f64" DefaultValue="0.0" />
<Field Name="falloff_angle" Code="51" Type="f64" DefaultValue="0.0" />
<Field Name="cast_shadows" Code="293" Type="bool" DefaultValue="true" />
<Field Name="shadow_type" Code="73" Type="ShadowType" DefaultValue="ShadowType::RayTraced" ReadConverter="enum_from_number!(ShadowType, RayTraced, from_i16, {})" WriteConverter="{} as i16" />
<Field Name="shadow_map_size" Code="91" Type="i32" DefaultValue="0" />
<Field Name="shadow_map_softness" Code="280" Type="i16" DefaultValue="0" />
</Entity>
<Entity Name="Line" SubclassMarker="AcDbLine" TypeString="LINE,3DLINE">
<Field Name="thickness" Code="39" Type="f64" DefaultValue="0.0" DisableWritingDefault="true" />
<Field Name="p1" Code="10" Type="Point" DefaultValue="Point::origin()" CodeOverrides="10,20,30" />
<Field Name="p2" Code="11" Type="Point" DefaultValue="Point::origin()" CodeOverrides="11,21,31" />
<Field Name="extrusion_direction" Code="210" Type="Vector" DefaultValue="Vector::z_axis()" DisableWritingDefault="true" CodeOverrides="210,220,230" />
</Entity>
<Entity Name="LwPolyline" SubclassMarker="AcDbPolyline" TypeString="LWPOLYLINE" MinVersion="R14" GenerateReaderFunction="false">
<Field Name="flags" Code="70" Type="i32" DefaultValue="0" ReadConverter="{} as i32" WriteConverter="{} as i16">
<Flag Name="is_closed" Mask="1" />
<Flag Name="is_pline_gen" Mask="128" />
</Field>
<Field Name="constant_width" Code="43" Type="f64" DefaultValue="0.0" DisableWritingDefault="true" />
<Field Name="thickness" Code="39" Type="f64" DefaultValue="0.0" DisableWritingDefault="true" />
<Field Name="vertices" Code="10" Type="LwPolylineVertex" DefaultValue="vec![]" AllowMultiples="true" />
<Field Name="extrusion_direction" Code="210" Type="Vector" DefaultValue="Vector::z_axis()" DisableWritingDefault="true" CodeOverrides="210,220,230" />
<WriteOrder>
<WriteSpecificValue Code="100" Value='&String::from("AcDbPolyline")' />
<WriteSpecificValue Code="90" Value="ent.vertices.len() as i32" />
<WriteField Field="flags" />
<WriteField Field="constant_width" />
<WriteSpecificValue Code="38" Value="common.elevation" DontWriteIfValueIs="0.0" />
<WriteField Field="thickness" />
<Foreach Field="ent.vertices">
<WriteSpecificValue Code="10" Value="item.x" />
<WriteSpecificValue Code="20" Value="item.y" />
<WriteSpecificValue Code="91" Value="item.id" MinVersion="R2013" />
<WriteSpecificValue Code="40" Value="item.starting_width" DontWriteIfValueIs="0.0" />
<WriteSpecificValue Code="41" Value="item.ending_width" DontWriteIfValueIs="0.0" />
<WriteSpecificValue Code="42" Value="item.bulge" DontWriteIfValueIs="0.0" />
</Foreach>
<WriteField Field="extrusion_direction" />
</WriteOrder>
</Entity>
<Entity Name="MLine" SubclassMarker="AcDbMline" TypeString="MLINE" MinVersion="R13">
<Field Name="style_name" Code="2" Type="String" DefaultValue="String::new()" />
<Pointer Name="style" Code="340" Type="Style" />
<Field Name="scale_factor" Code="40" Type="f64" DefaultValue="1.0" />
<Field Name="justification" Code="70" Type="Justification" DefaultValue="Justification::Top" ReadConverter="enum_from_number!(Justification, Top, from_i16, {})" WriteConverter="{} as i16" />
<Field Name="flags" Code="71" Type="i32" DefaultValue="0" ReadConverter="{} as i32" WriteConverter="{} as i16">
<Flag Name="has_at_least_one_vertex" Mask="1" />
<Flag Name="is_closed" Mask="2" />
<Flag Name="suppress_start_caps" Mask="4" />
<Flag Name="suppress_end_caps" Mask="8" />
</Field>
<Field Name="__vertex_count" Code="72" Type="i32" DefaultValue="0" ReadConverter="{} as i32" WriteConverter="{} as i16" />
<Field Name="style_element_count" Code="73" Type="i32" DefaultValue="0" ReadConverter="{} as i32" WriteConverter="{} as i16" />
<Field Name="start_point" Code="10" Type="Point" DefaultValue="Point::origin()" CodeOverrides="10,20,30" />
<Field Name="normal" Code="210" Type="Vector" DefaultValue="Vector::z_axis()" CodeOverrides="210,220,230" DisableWritingDefault="true" />
<Field Name="__vertices_x" Code="11" Type="f64" DefaultValue="vec![]" AllowMultiples="true" />
<Field Name="__vertices_y" Code="21" Type="f64" DefaultValue="vec![]" AllowMultiples="true" />
<Field Name="__vertices_z" Code="31" Type="f64" DefaultValue="vec![]" AllowMultiples="true" />
<Field Name="vertices" Code="11" Type="Point" DefaultValue="vec![]" AllowMultiples="true" GenerateReader="false" />
<Field Name="__segment_direction_x" Code="12" Type="f64" DefaultValue="vec![]" AllowMultiples="true" />
<Field Name="__segment_direction_y" Code="22" Type="f64" DefaultValue="vec![]" AllowMultiples="true" />
<Field Name="__segment_direction_z" Code="32" Type="f64" DefaultValue="vec![]" AllowMultiples="true" />
<Field Name="segment_directions" Code="12" Type="Vector" DefaultValue="vec![]" AllowMultiples="true" GenerateReader="false" />
<Field Name="__miter_direction_x" Code="13" Type="f64" DefaultValue="vec![]" AllowMultiples="true" />
<Field Name="__miter_direction_y" Code="23" Type="f64" DefaultValue="vec![]" AllowMultiples="true" />
<Field Name="__miter_direction_z" Code="33" Type="f64" DefaultValue="vec![]" AllowMultiples="true" />
<Field Name="miter_directions" Code="13" Type="Vector" DefaultValue="vec![]" AllowMultiples="true" GenerateReader="false" />
<Field Name="__parameter_count" Code="74" Type="i32" DefaultValue="0" ReadConverter="{} as i32" WriteConverter="{} as i16" />
<Field Name="parameters" Code="41" Type="f64" DefaultValue="vec![]" AllowMultiples="true" />
<Field Name="__area_fill_parameter_count" Code="75" Type="i32" DefaultValue="0" ReadConverter="{} as i32" WriteConverter="{} as i16" />
<Field Name="area_fill_parameters" Code="42" Type="f64" DefaultValue="vec![]" AllowMultiples="true" />
<WriteOrder>
<WriteSpecificValue Code="100" Value='&String::from("AcDbMline")' />
<WriteField Field="style_name" />
<WriteField Field="style" />
<WriteField Field="scale_factor" />
<WriteField Field="justification" />
<WriteField Field="flags" />
<WriteSpecificValue Code="72" Value="ent.vertices.len() as i16" />
<WriteField Field="style_element_count" />
<WriteField Field="start_point" />
<WriteField Field="normal" />
<Foreach Field="ent.vertices">
<WriteSpecificValue Code="10" Value="item.x" />
<WriteSpecificValue Code="20" Value="item.y" />
<WriteSpecificValue Code="30" Value="item.z" />
</Foreach>
<Foreach Field="ent.segment_directions">
<WriteSpecificValue Code="11" Value="item.x" />
<WriteSpecificValue Code="21" Value="item.y" />
<WriteSpecificValue Code="31" Value="item.z" />
</Foreach>
<Foreach Field="ent.miter_directions">
<WriteSpecificValue Code="12" Value="item.x" />
<WriteSpecificValue Code="22" Value="item.y" />
<WriteSpecificValue Code="32" Value="item.z" />
</Foreach>
<WriteSpecificValue Code="74" Value="ent.parameters.len() as i16" />
<WriteField Field="parameters" />
<WriteSpecificValue Code="75" Value="ent.area_fill_parameters.len() as i16" />
<WriteField Field="area_fill_parameters" />
</WriteOrder>
</Entity>
<Entity Name="MText" SubclassMarker="AcDbMText" TypeString="MTEXT" HasXData="true" GenerateReaderFunction="false" MinVersion="R13">
<Field Name="insertion_point" Code="10" Type="Point" DefaultValue="Point::origin()" CodeOverrides="10,20,30" />
<Field Name="initial_text_height" Code="40" Type="f64" DefaultValue="1.0" />
<Field Name="reference_rectangle_width" Code="41" Type="f64" DefaultValue="1.0" />
<Field Name="attachment_point" Code="71" Type="AttachmentPoint" DefaultValue="AttachmentPoint::TopLeft" ReadConverter="enum_from_number!(AttachmentPoint, TopLeft, from_i16, {})" WriteConverter="{} as i16" />
<Field Name="drawing_direction" Code="72" Type="DrawingDirection" DefaultValue="DrawingDirection::LeftToRight" ReadConverter="enum_from_number!(DrawingDirection, LeftToRight, from_i16, {})" WriteConverter="{} as i16" />
<Field Name="extended_text" Code="3" Type="String" DefaultValue="vec![]" AllowMultiples="true" />
<Field Name="text" Code="1" Type="String" DefaultValue="String::new()" />
<Field Name="text_style_name" Code="7" Type="String" DefaultValue='String::from("STANDARD")' DisableWritingDefault="true" />
<Field Name="extrusion_direction" Code="210" Type="Vector" DefaultValue="Vector::z_axis()" DisableWritingDefault="true" CodeOverrides="210,220,230" />
<Field Name="x_axis_direction" Code="11" Type="Vector" DefaultValue="Vector::x_axis()" CodeOverrides="11,21,31" />
<Field Name="horizontal_width" Code="42" Type="f64" DefaultValue="1.0" />
<Field Name="vertical_height" Code="43" Type="f64" DefaultValue="1.0" />
<Field Name="rotation_angle" Code="50" Type="f64" DefaultValue="0.0" />
<Field Name="line_spacing_style" Code="73" Type="MTextLineSpacingStyle" DefaultValue="MTextLineSpacingStyle::AtLeast" ReadConverter="enum_from_number!(MTextLineSpacingStyle, AtLeast, from_i16, {})" WriteConverter="{} as i16" />
<Field Name="line_spacing_factor" Code="44" Type="f64" DefaultValue="1.0" />
<Field Name="background_fill_setting" Code="90" Type="BackgroundFillSetting" DefaultValue="BackgroundFillSetting::Off" ReadConverter="enum_from_number!(BackgroundFillSetting, Off, from_i16, {})" WriteConverter="{} as i32" />
<Field Name="background_color_rgb" Code="420" Type="i32" DefaultValue="0" />
<Field Name="background_color_name" Code="430" Type="String" DefaultValue="String::new()" />
<Field Name="fill_box_scale" Code="45" Type="f64" DefaultValue="1.0" DisableWritingDefault="true" />
<Field Name="background_fill_color" Code="63" Type="Color" DefaultValue="Color::by_layer()" ReadConverter="Color::from_raw_value({})" WriteConverter="{}.raw_value()" />
<Field Name="background_fill_color_transparency" Code="441" Type="i32" DefaultValue="0" />
<Field Name="column_type" Code="75" Type="i16" DefaultValue="0" />
<Field Name="column_count" Code="76" Type="i32" DefaultValue="0" ReadConverter="{} as i32" WriteConverter="{} as i16" />
<Field Name="is_column_flow_reversed" Code="78" Type="bool" DefaultValue="false" ReadConverter="as_bool({})" WriteConverter="as_i16({})" />
<Field Name="is_column_auto_height" Code="79" Type="bool" DefaultValue="true" ReadConverter="as_bool({})" WriteConverter="as_i16({})" />
<Field Name="column_width" Code="48" Type="f64" DefaultValue="0.0" />
<Field Name="column_gutter" Code="49" Type="f64" DefaultValue="0.0" />
<Field Name="column_heights" Code="50" Type="f64" DefaultValue="vec![]" AllowMultiples="true" />
<WriteOrder>
<WriteSpecificValue Code="100" Value='&String::from("AcDbMText")' />
<WriteField Field="insertion_point" />
<WriteField Field="initial_text_height" />
<WriteField Field="reference_rectangle_width" />
<WriteField Field="attachment_point" />
<WriteField Field="drawing_direction" />
<WriteField Field="extended_text" />
<WriteField Field="text" />
<WriteField Field="text_style_name" />
<WriteField Field="extrusion_direction" />
<WriteField Field="x_axis_direction" />
<WriteField Field="horizontal_width" />
<WriteField Field="vertical_height" />
<WriteField Field="rotation_angle" />
<WriteField Field="line_spacing_style" />
<WriteField Field="line_spacing_factor" />
<WriteField Field="background_fill_setting" />
<WriteField Field="background_color_rgb" />
<WriteField Field="background_color_name" />
<WriteField Field="fill_box_scale" />
<WriteField Field="background_fill_color" />
<WriteField Field="background_fill_color_transparency" />
<WriteField Field="column_type" />
<WriteField Field="column_count" />
<WriteField Field="is_column_flow_reversed" />
<WriteField Field="is_column_auto_height" />
<WriteField Field="column_width" />
<WriteField Field="column_gutter" />
<WriteSpecificValue Code="50" Value="ent.column_heights.len() as f64" />
<WriteField Field="column_heights" />
</WriteOrder>
</Entity>
<Entity Name="OleFrame" SubclassMarker="AcDbOleFrame" TypeString="OLEFRAME" MinVersion="R13">
<Field Name="version_number" Code="70" Type="i32" DefaultValue="0" ReadConverter="{} as i32" WriteConverter="{} as i16" />
<Field Name="binary_data_length" Code="90" Type="i32" DefaultValue="0" />
<Field Name="binary_data_strings" Code="310" Type="Vec<u8>" DefaultValue="vec![]" AllowMultiples="true" />
<WriteOrder>
<WriteSpecificValue Code="100" Value='&String::from("AcDbOleFrame")' />
<WriteField Field="version_number" />
<WriteField Field="binary_data_length" />
<Foreach Field="ent.binary_data_strings">
<WriteSpecificValue Code="310" Value="item.clone()" />
</Foreach>
<WriteSpecificValue Code="1" Value='&String::from("OLE")' />
</WriteOrder>
</Entity>
<Entity Name="Ole2Frame" SubclassMarker="AcDbOle2Frame" TypeString="OLE2FRAME" MinVersion="R14">
<Field Name="version_number" Code="70" Type="i32" DefaultValue="0" ReadConverter="{} as i32" WriteConverter="{} as i16" />
<Field Name="description" Code="3" Type="String" DefaultValue="String::new()" />
<Field Name="upper_left_corner" Code="10" Type="Point" DefaultValue="Point::origin()" CodeOverrides="10,20,30" />
<Field Name="lower_right_corner" Code="11" Type="Point" DefaultValue="Point::origin()" CodeOverrides="11,21,31" />
<Field Name="object_type" Code="71" Type="OleObjectType" DefaultValue="OleObjectType::Static" ReadConverter="enum_from_number!(OleObjectType, Static, from_i16, {})" WriteConverter="{} as i16" />
<Field Name="tile_mode" Code="72" Type="TileModeDescriptor" DefaultValue="TileModeDescriptor::InTiledViewport" ReadConverter="enum_from_number!(TileModeDescriptor, InTiledViewport, from_i16, {})" WriteConverter="{} as i16" />
<Field Name="binary_data_length" Code="90" Type="i32" DefaultValue="0" />
<Field Name="binary_data_strings" Code="310" Type="Vec<u8>" DefaultValue="vec![]" AllowMultiples="true" />
<WriteOrder>
<WriteSpecificValue Code="100" Value='&String::from("AcDbOle2Frame")' />
<WriteField Field="version_number" />
<WriteField Field="description" />
<WriteField Field="upper_left_corner" />
<WriteField Field="lower_right_corner" />
<WriteField Field="object_type" />
<WriteField Field="tile_mode" />
<WriteField Field="binary_data_length" />
<Foreach Field="ent.binary_data_strings">
<WriteSpecificValue Code="310" Value="item.clone()" />
</Foreach>
<WriteSpecificValue Code="1" Value='&String::from("OLE")' />
</WriteOrder>
</Entity>
<Entity Name="ModelPoint" SubclassMarker="AcDbPoint" TypeString="POINT">
<Field Name="location" Code="10" Type="Point" DefaultValue="Point::origin()" CodeOverrides="10,20,30" />
<Field Name="thickness" Code="39" Type="f64" DefaultValue="0.0" DisableWritingDefault="true" />
<Field Name="extrusion_direction" Code="210" Type="Vector" DefaultValue="Vector::z_axis()" DisableWritingDefault="true" CodeOverrides="210,220,230" />
<Field Name="angle" Code="50" Type="f64" DefaultValue="0.0" DisableWritingDefault="true" />
</Entity>
<Entity Name="Polyline" SubclassMarker="AcDb2dPolyline" TypeString="POLYLINE" HasXData="true" GenerateWriterFunction="false">
<Field Name="__seqend_handle" Code="5" Type="Handle" DefaultValue="Handle::empty()" ReaderOverride="pair.as_handle()?" GenerateReader="false" GenerateWriter="false" />
<Field Name="contains_vertices" Code="66" Type="bool" DefaultValue="true" ReadConverter="as_bool({})" WriteConverter="as_i16({})" MaxVersion="R13" />
<Field Name="location" Code="10" Type="Point" DefaultValue="Point::origin()" CodeOverrides="10,20,30" MinVersion="R12" />
<Field Name="thickness" Code="39" Type="f64" DefaultValue="0.0" DisableWritingDefault="true" />
<Field Name="flags" Code="70" Type="i32" DefaultValue="0" ReadConverter="{} as i32" WriteConverter="{} as i16" DisableWritingDefault="true">
<Flag Name="is_closed" Mask="1" />
<Flag Name="curve_fit_vertices_added" Mask="2" />
<Flag Name="spline_fit_vertices_added" Mask="4" />
<Flag Name="is_3d_polyline" Mask="8" />
<Flag Name="is_3d_polygon_mesh" Mask="16" />
<Flag Name="is_polygon_mesh_closed_in_n_direction" Mask="32" />
<Flag Name="is_polyface_mesh" Mask="64" />
<Flag Name="is_line_type_pattern_generated_continuously" Mask="128" />
</Field>
<Field Name="default_starting_width" Code="40" Type="f64" DefaultValue="0.0" DisableWritingDefault="true" />
<Field Name="default_ending_width" Code="41" Type="f64" DefaultValue="0.0" DisableWritingDefault="true" />
<Field Name="polygon_mesh_m_vertex_count" Code="71" Type="i32" DefaultValue="0" ReadConverter="{} as i32" WriteConverter="{} as i16" DisableWritingDefault="true" />
<Field Name="polygon_mesh_n_vertex_count" Code="72" Type="i32" DefaultValue="0" ReadConverter="{} as i32" WriteConverter="{} as i16" DisableWritingDefault="true" />
<Field Name="smooth_surface_m_density" Code="73" Type="i32" DefaultValue="0" ReadConverter="{} as i32" WriteConverter="{} as i16" DisableWritingDefault="true" />
<Field Name="smooth_surface_n_density" Code="74" Type="i32" DefaultValue="0" ReadConverter="{} as i32" WriteConverter="{} as i16" DisableWritingDefault="true" />
<Field Name="surface_type" Code="75" Type="PolylineCurvedAndSmoothSurfaceType" DefaultValue="PolylineCurvedAndSmoothSurfaceType::None" ReadConverter="enum_from_number!(PolylineCurvedAndSmoothSurfaceType, None, from_i16, {})" WriteConverter="{} as i16" DisableWritingDefault="true" />
<Field Name="normal" Code="210" Type="Vector" DefaultValue="Vector::z_axis()" DisableWritingDefault="true" CodeOverrides="210,220,230" />
<Field Name="__vertices_and_handles" Code="10" Type="(Vertex, Handle)" DefaultValue="vec![]" AllowMultiples="true" GenerateReader="false" GenerateWriter="false" />
</Entity>
<Entity Name="Ray" SubclassMarker="AcDbRay" TypeString="RAY" MinVersion="R13">
<Field Name="start_point" Code="10" Type="Point" DefaultValue="Point::origin()" CodeOverrides="10,20,30" />
<Field Name="unit_direction_vector" Code="11" Type="Vector" DefaultValue="Vector::x_axis()" CodeOverrides="11,21,31" />
</Entity>
<Entity Name="Region" SubclassMarker="AcDbModelerGeometry" TypeString="REGION" MinVersion="R13">
<Field Name="format_version_number" Code="70" Type="i16" DefaultValue="1" />
<Field Name="custom_data" Code="1" Type="String" DefaultValue="vec![]" AllowMultiples="true" />
<Field Name="custom_data2" Code="3" Type="String" DefaultValue="vec![]" AllowMultiples="true" />
</Entity>
<Entity Name="RText" SubclassMarker="RText" TypeString="RTEXT" MinVersion="R2000" MaxVersion="R2000">
<Field Name="insertion_point" Code="10" Type="Point" DefaultValue="Point::origin()" CodeOverrides="10,20,30" />
<Field Name="extrusion_direction" Code="210" Type="Vector" DefaultValue="Vector::z_axis()" DisableWritingDefault="true" CodeOverrides="210,220,230" />
<Field Name="rotation_angle" Code="50" Type="f64" DefaultValue="0.0" />
<Field Name="text_height" Code="40" Type="f64" DefaultValue="0.0" />
<Field Name="text_style" Code="7" Type="String" DefaultValue='String::from("STANDARD")' />
<Field Name="type_flags" Code="70" Type="i32" DefaultValue="0" ReadConverter="{} as i32" WriteConverter="{} as i16">
<Flag Name="is_expression" Mask="1" />
<Flag Name="is_inline_mtext_sequences_enabled" Mask="2" />
</Field>
<Field Name="contents" Code="1" Type="String" DefaultValue="String::new()" />
</Entity>
<Entity Name="Section" SubclassMarker="AcDbSection" TypeString="SECTION" MinVersion="R2007">
<Field Name="state" Code="90" Type="i32" DefaultValue="0" />
<Field Name="flags" Code="91" Type="i32" DefaultValue="0" />
<Field Name="name" Code="1" Type="String" DefaultValue="String::new()" />
<Field Name="vertical_direction" Code="10" Type="Vector" DefaultValue="Vector::z_axis()" CodeOverrides="10,20,30" />
<Field Name="top_height" Code="40" Type="f64" DefaultValue="0.0" />
<Field Name="bottom_height" Code="41" Type="f64" DefaultValue="0.0" />
<Field Name="indicator_transparency" Code="70" Type="i16" DefaultValue="0" />
<Field Name="indicator_color" Code="63" Type="Color" DefaultValue="Color::by_layer()" ReadConverter="Color::from_raw_value({})" WriteConverter="{}.raw_value()" />
<Field Name="indicator_color_name" Code="411" Type="String" DefaultValue="String::new()" />
<Field Name="__vertex_count" Code="92" Type="i32" DefaultValue="0" />
<Field Name="__vertices_x" Code="11" Type="f64" DefaultValue="vec![]" AllowMultiples="true" />
<Field Name="__vertices_y" Code="21" Type="f64" DefaultValue="vec![]" AllowMultiples="true" />
<Field Name="__vertices_z" Code="31" Type="f64" DefaultValue="vec![]" AllowMultiples="true" />
<Field Name="vertices" Code="11" Type="Point" DefaultValue="vec![]" AllowMultiples="true" GenerateReader="false" />
<Field Name="__back_line_vertex_count" Code="93" Type="i32" DefaultValue="0" />
<Field Name="__back_line_vertices_x" Code="12" Type="f64" DefaultValue="vec![]" AllowMultiples="true" />
<Field Name="__back_line_vertices_y" Code="22" Type="f64" DefaultValue="vec![]" AllowMultiples="true" />
<Field Name="__back_line_vertices_z" Code="32" Type="f64" DefaultValue="vec![]" AllowMultiples="true" />
<Field Name="back_line_vertices" Code="12" Type="Point" DefaultValue="vec![]" AllowMultiples="true" GenerateReader="false" />
<Pointer Name="geometry_settings" Code="360" />
<WriteOrder>
<WriteSpecificValue Code="100" Value='&String::from("AcDbSection")' />
<WriteField Field="state" />
<WriteField Field="flags" />
<WriteField Field="name" />
<WriteField Field="vertical_direction" />
<WriteField Field="top_height" />
<WriteField Field="bottom_height" />
<WriteField Field="indicator_transparency" />
<WriteField Field="indicator_color" />
<WriteField Field="indicator_color_name" />
<WriteSpecificValue Code="92" Value="ent.vertices.len() as i32" />
<Foreach Field="ent.vertices">
<WriteSpecificValue Code="11" Value="item.x" />
<WriteSpecificValue Code="21" Value="item.y" />
<WriteSpecificValue Code="31" Value="item.z" />
</Foreach>
<WriteSpecificValue Code="93" Value="ent.back_line_vertices.len() as i32" />
<Foreach Field="ent.back_line_vertices">
<WriteSpecificValue Code="12" Value="item.x" />
<WriteSpecificValue Code="22" Value="item.y" />
<WriteSpecificValue Code="32" Value="item.z" />
</Foreach>
<WriteField Field="geometry_settings" />
</WriteOrder>
</Entity>
<Entity Name="Seqend" SubclassMarker="" TypeString="SEQEND">
</Entity>
<Entity Name="Shape" SubclassMarker="AcDbShape" TypeString="SHAPE">
<Field Name="thickness" Code="39" Type="f64" DefaultValue="0.0" DisableWritingDefault="true" />
<Field Name="location" Code="10" Type="Point" DefaultValue="Point::origin()" CodeOverrides="10,20,30" />
<Field Name="size" Code="40" Type="f64" DefaultValue="0.0" />
<Field Name="name" Code="2" Type="String" DefaultValue="String::new()" />
<Field Name="rotation_angle" Code="50" Type="f64" DefaultValue="0.0" DisableWritingDefault="true" />
<Field Name="relative_x_scale_factor" Code="41" Type="f64" DefaultValue="1.0" DisableWritingDefault="true" />
<Field Name="oblique_angle" Code="51" Type="f64" DefaultValue="0.0" DisableWritingDefault="true" />
<Field Name="extrusion_direction" Code="210" Type="Vector" DefaultValue="Vector::z_axis()" DisableWritingDefault="true" CodeOverrides="210,220,230" />
</Entity>
<Entity Name="Solid" SubclassMarker="AcDbTrace" TypeString="SOLID">
<Field Name="first_corner" Code="10" Type="Point" DefaultValue="Point::origin()" CodeOverrides="10,20,30" />
<Field Name="second_corner" Code="11" Type="Point" DefaultValue="Point::origin()" CodeOverrides="11,21,31" />
<Field Name="third_corner" Code="12" Type="Point" DefaultValue="Point::origin()" CodeOverrides="12,22,32" />
<Field Name="fourth_corner" Code="13" Type="Point" DefaultValue="Point::origin()" CodeOverrides="13,23,33" />
<Field Name="thickness" Code="39" Type="f64" DefaultValue="0.0" DisableWritingDefault="true" />
<Field Name="extrusion_direction" Code="210" Type="Vector" DefaultValue="Vector::z_axis()" DisableWritingDefault="true" CodeOverrides="210,220,230" />
</Entity>
<Entity Name="Spline" SubclassMarker="AcDbSpline" TypeString="SPLINE" MinVersion="R13">
<Field Name="normal" Code="210" Type="Vector" DefaultValue="Vector::z_axis()" CodeOverrides="210,220,230" />
<Field Name="flags" Code="70" Type="i32" DefaultValue="0" ReadConverter="{} as i32" WriteConverter="{} as i16">
<Flag Name="is_closed" Mask="1" />
<Flag Name="is_periodic" Mask="2" />
<Flag Name="is_rational" Mask="4" />
<Flag Name="is_planar" Mask="8" />
<Flag Name="is_linear" Mask="16" />
</Field>
<Field Name="degree_of_curve" Code="71" Type="i32" DefaultValue="1" ReadConverter="{} as i32" WriteConverter="{} as i16" />
<Field Name="__number_of_knots_ignored" Code="72" Type="i32" DefaultValue="0" ReadConverter="{} as i32" WriteConverter="{} as i16" />
<Field Name="__number_of_control_points_ignored" Code="73" Type="i32" DefaultValue="0" ReadConverter="{} as i32" WriteConverter="{} as i16" />
<Field Name="__number_of_fit_points_ignored" Code="74" Type="i32" DefaultValue="0" ReadConverter="{} as i32" WriteConverter="{} as i16" />
<Field Name="knot_tolerance" Code="42" Type="f64" DefaultValue="0.000_000_1" DisableWritingDefault="true" />
<Field Name="control_point_tolerance" Code="43" Type="f64" DefaultValue="0.000_000_1" DisableWritingDefault="true" />
<Field Name="fit_tolerance" Code="44" Type="f64" DefaultValue="0.000_000_000_1" DisableWritingDefault="true" />
<Field Name="start_tangent" Code="12" Type="Point" DefaultValue="Point::origin()" CodeOverrides="12,22,32" />
<Field Name="end_tangent" Code="13" Type="Point" DefaultValue="Point::origin()" CodeOverrides="13,23,33" />
<Field Name="knot_values" Code="40" Type="f64" DefaultValue="vec![]" AllowMultiples="true" />
<Field Name="weight_values" Code="41" Type="f64" DefaultValue="vec![]" AllowMultiples="true"/>
<Field Name="__control_point_x" Code="10" Type="f64" DefaultValue="vec![]" AllowMultiples="true" />
<Field Name="__control_point_y" Code="20" Type="f64" DefaultValue="vec![]" AllowMultiples="true" />
<Field Name="__control_point_z" Code="30" Type="f64" DefaultValue="vec![]" AllowMultiples="true" />
<Field Name="control_points" Code="10" Type="Point" DefaultValue="vec![]" AllowMultiples="true" GenerateReader="false" />
<Field Name="__fit_point_x" Code="11" Type="f64" DefaultValue="vec![]" AllowMultiples="true" />
<Field Name="__fit_point_y" Code="21" Type="f64" DefaultValue="vec![]" AllowMultiples="true" />
<Field Name="__fit_point_z" Code="31" Type="f64" DefaultValue="vec![]" AllowMultiples="true" />
<Field Name="fit_points" Code="11" Type="Point" DefaultValue="vec![]" AllowMultiples="true" GenerateReader="false" />
<WriteOrder>
<WriteSpecificValue Code="100" Value='&String::from("AcDbSpline")' />
<WriteField Field="normal" />
<WriteField Field="flags" />
<WriteField Field="degree_of_curve" />
<WriteSpecificValue Code="72" Value="ent.knot_values.len() as i16" />
<WriteSpecificValue Code="73" Value="ent.control_points.len() as i16" />
<WriteSpecificValue Code="74" Value="ent.fit_points.len() as i16" />
<WriteField Field="knot_tolerance" />
<WriteField Field="control_point_tolerance" />
<WriteField Field="fit_tolerance" />
<WriteField Field="start_tangent" />
<WriteField Field="end_tangent" />
<WriteField Field="knot_values" />
<WriteField Field="weight_values" />
<Foreach Field="ent.control_points">
<WriteSpecificValue Code="10" Value="item.x" />
<WriteSpecificValue Code="20" Value="item.y" />
<WriteSpecificValue Code="30" Value="item.z" />
</Foreach>
<Foreach Field="ent.fit_points">
<WriteSpecificValue Code="11" Value="item.x" />
<WriteSpecificValue Code="21" Value="item.y" />
<WriteSpecificValue Code="31" Value="item.z" />
</Foreach>
</WriteOrder>
</Entity>
<Entity Name="Text" SubclassMarker="AcDbText" TypeString="TEXT">
<Field Name="thickness" Code="39" Type="f64" DefaultValue="0.0" DisableWritingDefault="true" />
<Field Name="location" Code="10" Type="Point" DefaultValue="Point::origin()" CodeOverrides="10,20,30" />
<Field Name="text_height" Code="40" Type="f64" DefaultValue="1.0" />
<Field Name="value" Code="1" Type="String" DefaultValue="String::new()" />
<Field Name="rotation" Code="50" Type="f64" DefaultValue="0.0" DisableWritingDefault="true" />
<Field Name="relative_x_scale_factor" Code="41" Type="f64" DefaultValue="1.0" DisableWritingDefault="true" />
<Field Name="oblique_angle" Code="51" Type="f64" DefaultValue="0.0" DisableWritingDefault="true" />
<Field Name="text_style_name" Code="7" Type="String" DefaultValue='String::from("STANDARD")' DisableWritingDefault="true" />
<Field Name="text_generation_flags" Code="71" Type="i32" DefaultValue="0" ReadConverter="{} as i32" WriteConverter="{} as i16" DisableWritingDefault="true">
<Flag Name="is_text_backwards" Mask="2" />
<Flag Name="is_text_upside_down" Mask="4" />
</Field>
<Field Name="horizontal_text_justification" Code="72" Type="HorizontalTextJustification" DefaultValue="HorizontalTextJustification::Left" ReadConverter="enum_from_number!(HorizontalTextJustification, Left, from_i16, {})" WriteConverter="{} as i16" DisableWritingDefault="true" />
<Field Name="second_alignment_point" Code="11" Type="Point" DefaultValue="Point::origin()" DisableWritingDefault="true" CodeOverrides="11,21,31" />
<Field Name="normal" Code="210" Type="Vector" DefaultValue="Vector::z_axis()" DisableWritingDefault="true" CodeOverrides="210,220,230" />
<Field Name="vertical_text_justification" Code="73" Type="VerticalTextJustification" DefaultValue="VerticalTextJustification::Baseline" ReadConverter="enum_from_number!(VerticalTextJustification, Baseline, from_i16, {})" WriteConverter="{} as i16" DisableWritingDefault="true" />
<WriteOrder>
<WriteSpecificValue Code="100" Value='&String::from("AcDbText")' MinVersion="R13" />
<WriteField Field="thickness" />
<WriteField Field="location" />
<WriteField Field="text_height" />
<WriteField Field="value" />
<WriteField Field="rotation" />
<WriteField Field="relative_x_scale_factor" />
<WriteField Field="oblique_angle" />
<WriteField Field="text_style_name" />
<WriteField Field="text_generation_flags" />
<WriteField Field="horizontal_text_justification" />
<WriteField Field="second_alignment_point" />
<WriteField Field="normal" />
<WriteField Field="vertical_text_justification" />
<WriteSpecificValue Code="100" Value='&String::from("AcDbText")' MinVersion="R13" />
</WriteOrder>
</Entity>
<Entity Name="Tolerance" SubclassMarker="AcDbFcf" TypeString="TOLERANCE" MinVersion="R13">
<Field Name="dimension_style_name" Code="3" Type="String" DefaultValue="String::new()" />
<Field Name="insertion_point" Code="10" Type="Point" DefaultValue="Point::origin()" CodeOverrides="10,20,30" />
<Field Name="display_text" Code="1" Type="String" DefaultValue="String::new()" MinVersion="R2000" />
<Field Name="extrusion_direction" Code="210" Type="Vector" DefaultValue="Vector::z_axis()" DisableWritingDefault="true" CodeOverrides="210,220,230" />
<Field Name="direction_vector" Code="11" Type="Vector" DefaultValue="Vector::x_axis()" CodeOverrides="11,21,31" />
</Entity>
<Entity Name="Trace" SubclassMarker="AcDbTrace" TypeString="TRACE">
<Field Name="first_corner" Code="10" Type="Point" DefaultValue="Point::origin()" CodeOverrides="10,20,30" />
<Field Name="second_corner" Code="11" Type="Point" DefaultValue="Point::origin()" CodeOverrides="11,21,31" />
<Field Name="third_corner" Code="12" Type="Point" DefaultValue="Point::origin()" CodeOverrides="12,22,32" />
<Field Name="fourth_corner" Code="13" Type="Point" DefaultValue="Point::origin()" CodeOverrides="13,23,33" />
<Field Name="thickness" Code="39" Type="f64" DefaultValue="0.0" DisableWritingDefault="true" />
<Field Name="extrusion_direction" Code="210" Type="Vector" DefaultValue="Vector::z_axis()" DisableWritingDefault="true" CodeOverrides="210,220,230" />
</Entity>
<Entity Name="DgnUnderlay" SubclassMarker="AcDbUnderlayReference" TypeString="DGNUNDERLAY" Tag="DGN" MinVersion="R2007">
<Pointer Name="object" Code="340" Type="Object" />
<Field Name="insertion_point" Code="10" Type="Point" DefaultValue="Point::origin()" CodeOverrides="10,20,30" />
<Field Name="x_scale" Code="41" Type="f64" DefaultValue="1.0" />
<Field Name="y_scale" Code="42" Type="f64" DefaultValue="1.0" />
<Field Name="z_scale" Code="43" Type="f64" DefaultValue="1.0" />
<Field Name="rotation_angle" Code="50" Type="f64" DefaultValue="0.0" />
<Field Name="normal" Code="210" Type="Vector" DefaultValue="Vector::z_axis()" CodeOverrides="210,220,230" />
<Field Name="flags" Code="280" Type="i32" DefaultValue="0" ReadConverter="{} as i32" WriteConverter="{} as i16">
<Flag Name="is_clipping_on" Mask="1" />
<Flag Name="is_underlay_on" Mask="2" />
<Flag Name="is_monochrome" Mask="4" />
<Flag Name="adjust_for_background" Mask="8" />
<Flag Name="is_clip_inside_mode" Mask="16" />
</Field>
<Field Name="contrast" Code="281" Type="i16" DefaultValue="100" />
<Field Name="fade" Code="282" Type="i16" DefaultValue="0" />
<Field Name="__point_x" Code="11" Type="f64" DefaultValue="vec![]" AllowMultiples="true" />
<Field Name="__point_y" Code="21" Type="f64" DefaultValue="vec![]" AllowMultiples="true" />
<Field Name="points" Code="11" Type="Point" DefaultValue="vec![]" AllowMultiples="true" GenerateReader="false" />
<WriteOrder>
<WriteSpecificValue Code="100" Value='&String::from("AcDbUnderlayReference")' />
<WriteField Field="object" />
<WriteField Field="insertion_point" />
<WriteField Field="x_scale" />
<WriteField Field="y_scale" />
<WriteField Field="z_scale" />
<WriteField Field="rotation_angle" />
<WriteField Field="normal" />
<WriteField Field="flags" />
<WriteField Field="contrast" />
<WriteField Field="fade" />
<Foreach Field="ent.points">
<WriteSpecificValue Code="11" Value="item.x" />
<WriteSpecificValue Code="12" Value="item.y" />
</Foreach>
</WriteOrder>
</Entity>
<Entity Name="DwfUnderlay" SubclassMarker="AcDbUnderlayReference" TypeString="DWFUNDERLAY" Tag="DWF" MinVersion="R2007">
<Pointer Name="object" Code="340" Type="Object" />
<Field Name="insertion_point" Code="10" Type="Point" DefaultValue="Point::origin()" CodeOverrides="10,20,30" />
<Field Name="x_scale" Code="41" Type="f64" DefaultValue="1.0" />
<Field Name="y_scale" Code="42" Type="f64" DefaultValue="1.0" />
<Field Name="z_scale" Code="43" Type="f64" DefaultValue="1.0" />
<Field Name="rotation_angle" Code="50" Type="f64" DefaultValue="0.0" />
<Field Name="normal" Code="210" Type="Vector" DefaultValue="Vector::z_axis()" CodeOverrides="210,220,230" />
<Field Name="flags" Code="280" Type="i32" DefaultValue="0" ReadConverter="{} as i32" WriteConverter="{} as i16">
<Flag Name="is_clipping_on" Mask="1" />
<Flag Name="is_underlay_on" Mask="2" />
<Flag Name="is_monochrome" Mask="4" />
<Flag Name="adjust_for_background" Mask="8" />
<Flag Name="is_clip_inside_mode" Mask="16" />
</Field>
<Field Name="contrast" Code="281" Type="i16" DefaultValue="100" />
<Field Name="fade" Code="282" Type="i16" DefaultValue="0" />
<Field Name="__point_x" Code="11" Type="f64" DefaultValue="vec![]" AllowMultiples="true" />
<Field Name="__point_y" Code="21" Type="f64" DefaultValue="vec![]" AllowMultiples="true" />
<Field Name="points" Code="11" Type="Point" DefaultValue="vec![]" AllowMultiples="true" GenerateReader="false" />
<WriteOrder>
<WriteSpecificValue Code="100" Value='&String::from("AcDbUnderlayReference")' />
<WriteField Field="object" />
<WriteField Field="insertion_point" />
<WriteField Field="x_scale" />
<WriteField Field="y_scale" />
<WriteField Field="z_scale" />
<WriteField Field="rotation_angle" />
<WriteField Field="normal" />
<WriteField Field="flags" />
<WriteField Field="contrast" />
<WriteField Field="fade" />
<Foreach Field="ent.points">
<WriteSpecificValue Code="11" Value="item.x" />
<WriteSpecificValue Code="12" Value="item.y" />
</Foreach>
</WriteOrder>
</Entity>
<Entity Name="PdfUnderlay" SubclassMarker="AcDbUnderlayReference" TypeString="PDFUNDERLAY" Tag="PDF" MinVersion="R2007">
<Pointer Name="object" Code="340" Type="Object" />
<Field Name="insertion_point" Code="10" Type="Point" DefaultValue="Point::origin()" CodeOverrides="10,20,30" />
<Field Name="x_scale" Code="41" Type="f64" DefaultValue="1.0" />
<Field Name="y_scale" Code="42" Type="f64" DefaultValue="1.0" />
<Field Name="z_scale" Code="43" Type="f64" DefaultValue="1.0" />
<Field Name="rotation_angle" Code="50" Type="f64" DefaultValue="0.0" />
<Field Name="normal" Code="210" Type="Vector" DefaultValue="Vector::z_axis()" CodeOverrides="210,220,230" />
<Field Name="flags" Code="280" Type="i32" DefaultValue="0" ReadConverter="{} as i32" WriteConverter="{} as i16">
<Flag Name="is_clipping_on" Mask="1" />
<Flag Name="is_underlay_on" Mask="2" />
<Flag Name="is_monochrome" Mask="4" />
<Flag Name="adjust_for_background" Mask="8" />
<Flag Name="is_clip_inside_mode" Mask="16" />
</Field>
<Field Name="contrast" Code="281" Type="i16" DefaultValue="100" />
<Field Name="fade" Code="282" Type="i16" DefaultValue="0" />
<Field Name="__point_x" Code="11" Type="f64" DefaultValue="vec![]" AllowMultiples="true" />
<Field Name="__point_y" Code="21" Type="f64" DefaultValue="vec![]" AllowMultiples="true" />
<Field Name="points" Code="11" Type="Point" DefaultValue="vec![]" AllowMultiples="true" GenerateReader="false" />
<WriteOrder>
<WriteSpecificValue Code="100" Value='&String::from("AcDbUnderlayReference")' />
<WriteField Field="object" />
<WriteField Field="insertion_point" />
<WriteField Field="x_scale" />
<WriteField Field="y_scale" />
<WriteField Field="z_scale" />
<WriteField Field="rotation_angle" />
<WriteField Field="normal" />
<WriteField Field="flags" />
<WriteField Field="contrast" />
<WriteField Field="fade" />
<Foreach Field="ent.points">
<WriteSpecificValue Code="11" Value="item.x" />
<WriteSpecificValue Code="12" Value="item.y" />
</Foreach>
</WriteOrder>
</Entity>
<Entity Name="Vertex" SubclassMarker="AcDbVertex" TypeString="VERTEX" GenerateWriterFunction="false">
<Field Name="location" Code="10" Type="Point" DefaultValue="Point::origin()" CodeOverrides="10,20,30" />
<Field Name="starting_width" Code="40" Type="f64" DefaultValue="0.0" DisableWritingDefault="true" />
<Field Name="ending_width" Code="41" Type="f64" DefaultValue="0.0" DisableWritingDefault="true" />
<Field Name="bulge" Code="42" Type="f64" DefaultValue="0.0" DisableWritingDefault="true" />
<Field Name="flags" Code="70" Type="i32" DefaultValue="0" ReadConverter="{} as i32" WriteConverter="{} as i16">
<Flag Name="is_extra_created_by_curve_fit" Mask="1" />
<Flag Name="is_curve_fit_tangent_defined" Mask="2" />
<Flag Name="is_spline_vertex_created_by_spline_fitting" Mask="8" />
<Flag Name="is_spline_frame_control_point" Mask="16" />
<Flag Name="is_3d_polyline_vertex" Mask="32" />
<Flag Name="is_3d_polygon_mesh" Mask="64" />
<Flag Name="is_polyface_mesh_vertex" Mask="128" />
</Field>
<Field Name="curve_fit_tangent_direction" Code="50" Type="f64" DefaultValue="0.0" />
<Field Name="polyface_mesh_vertex_index1" Code="71" Type="i32" DefaultValue="0" DisableWritingDefault="true" ReadConverter="{} as i32" WriteConverter="{} as i16" MinVersion="R13" />
<Field Name="polyface_mesh_vertex_index2" Code="72" Type="i32" DefaultValue="0" DisableWritingDefault="true" ReadConverter="{} as i32" WriteConverter="{} as i16" MinVersion="R13" />
<Field Name="polyface_mesh_vertex_index3" Code="73" Type="i32" DefaultValue="0" DisableWritingDefault="true" ReadConverter="{} as i32" WriteConverter="{} as i16" MinVersion="R13" />
<Field Name="polyface_mesh_vertex_index4" Code="74" Type="i32" DefaultValue="0" DisableWritingDefault="true" ReadConverter="{} as i32" WriteConverter="{} as i16" MinVersion="R13" />
<Field Name="identifier" Code="91" Type="i32" DefaultValue="0" MinVersion="R2010" />
</Entity>
<Entity Name="Wipeout" SubclassMarker="AcDbWipeout" TypeString="WIPEOUT" MinVersion="R2000">
<Field Name="class_version" Code="90" Type="i32" DefaultValue="0" />
<Field Name="location" Code="10" Type="Point" DefaultValue="Point::origin()" CodeOverrides="10,20,30" />
<Field Name="u_vector" Code="11" Type="Vector" DefaultValue="Vector::x_axis()" CodeOverrides="11,21,31" />
<Field Name="v_vector" Code="12" Type="Vector" DefaultValue="Vector::y_axis()" CodeOverrides="12,22,32" />
<Field Name="image_size" Code="13" Type="Vector" DefaultValue="Vector::zero()" CodeOverrides="13,23" />
<Field Name="image_def_reference" Code="340" Type="String" DefaultValue="String::new()" />
<Field Name="display_options_flags" Code="70" Type="i32" DefaultValue="0" ReadConverter="{} as i32" WriteConverter="{} as i16">
<Flag Name="show_image" Mask="1" />
<Flag Name="show_image_when_not_alligned" Mask="2" />
<Flag Name="use_clipping_boundary" Mask="4" />
<Flag Name="use_transparency" Mask="8" />
</Field>
<Field Name="use_clipping" Code="280" Type="bool" DefaultValue="true" ReadConverter="as_bool({})" WriteConverter="as_i16({})" />
<Field Name="brightness" Code="281" Type="i16" DefaultValue="50" />
<Field Name="contrast" Code="282" Type="i16" DefaultValue="50" />
<Field Name="fade" Code="283" Type="i16" DefaultValue="0" />
<Field Name="image_def_reactor_reference" Code="360" Type="String" DefaultValue="String::new()" />
<Field Name="clipping_type" Code="71" Type="ImageClippingBoundaryType" DefaultValue="ImageClippingBoundaryType::Rectangular" ReadConverter="enum_from_number!(ImageClippingBoundaryType, Rectangular, from_i16, {})" WriteConverter="{} as i16" />
<Field Name="clipping_vertex_count" Code="91" Type="i32" DefaultValue="0" />
<Field Name="__clipping_vertices_x" Code="14" Type="f64" DefaultValue="vec![]" AllowMultiples="true" />
<Field Name="__clipping_vertices_y" Code="12" Type="f64" DefaultValue="vec![]" AllowMultiples="true" />
<Field Name="clipping_vertices" Code="14" Type="Point" DefaultValue="vec![]" AllowMultiples="true" GenerateReader="false" />
<Field Name="is_inside_clipping" Code="290" Type="bool" DefaultValue="false" MinVersion="R2010" />
<WriteOrder>
<WriteSpecificValue Code="100" Value='&String::from("AcDbRasterImage")' />
<WriteField Field="class_version" />
<WriteField Field="location" />
<WriteField Field="u_vector" />
<WriteField Field="v_vector" />
<WriteField Field="image_size" />
<WriteField Field="image_def_reference" />
<WriteField Field="display_options_flags" />
<WriteField Field="use_clipping" />
<WriteField Field="brightness" />
<WriteField Field="contrast" />
<WriteField Field="fade" />
<WriteField Field="image_def_reactor_reference" />
<WriteField Field="clipping_type" />
<WriteSpecificValue Code="91" Value="ent.clipping_vertices.len() as i32" />
<Foreach Field="ent.clipping_vertices">
<WriteSpecificValue Code="14" Value="item.x" />
<WriteSpecificValue Code="24" Value="item.y" />
</Foreach>
<WriteField Field="is_inside_clipping" />
</WriteOrder>
</Entity>
<Entity Name="XLine" SubclassMarker="AcDbXline" TypeString="XLINE" MinVersion="R13">
<Field Name="first_point" Code="10" Type="Point" DefaultValue="Point::origin()" CodeOverrides="10,20,30" />
<Field Name="unit_direction_vector" Code="11" Type="Vector" DefaultValue="Vector::x_axis()" CodeOverrides="11,21,31" />
</Entity>
</Spec>