[package]
edition = "2021"
name = "acadrust"
version = "0.6.7"
authors = ["Hakan AK"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A pure Rust library for reading and writing CAD files in DXF format (ASCII and Binary) and DWG format (Binary)."
homepage = "https://github.com/hakanaktt/acadrust"
documentation = "https://docs.rs/acadrust"
readme = "README.md"
keywords = [
"cad",
"dxf",
"dwg",
"drawing",
"vector-graphics",
]
categories = [
"parser-implementations",
"encoding",
]
license = "MPL-2.0"
repository = "https://github.com/hakanaktt/acadrust"
[features]
default = ["parallel"]
import = [
"dep:quick-xml",
"dep:serde_json",
]
parallel = ["dep:rayon"]
serde = [
"dep:serde",
"bitflags/serde",
"indexmap/serde",
]
[lib]
name = "acadrust"
path = "src/lib.rs"
[[example]]
name = "aec_blank"
path = "examples/aec_blank.rs"
[[example]]
name = "architecture"
path = "examples/architecture.rs"
[[example]]
name = "architecture_create"
path = "examples/architecture_create.rs"
[[example]]
name = "entity_atlas"
path = "examples/entity_atlas.rs"
[[example]]
name = "gen_all_entities_all_versions"
path = "examples/gen_all_entities_all_versions.rs"
[[example]]
name = "generate_r2010_inline_constraint_fixture"
path = "examples/generate_r2010_inline_constraint_fixture.rs"
[[example]]
name = "issue_regressions_bricscad"
path = "examples/issue_regressions_bricscad.rs"
[[example]]
name = "r12_cad_roundtrip"
path = "examples/r12_cad_roundtrip.rs"
[[example]]
name = "r12_native_fixtures"
path = "examples/r12_native_fixtures.rs"
[[example]]
name = "roundtrip_analysis"
path = "examples/roundtrip_analysis.rs"
[[example]]
name = "to_r12"
path = "examples/to_r12.rs"
[[example]]
name = "validate_issue135_constraints"
path = "examples/validate_issue135_constraints.rs"
[[test]]
name = "acad_layout_root_registration"
path = "tests/acad_layout_root_registration.rs"
[[test]]
name = "acis_wireframe_bounds"
path = "tests/acis_wireframe_bounds.rs"
[[test]]
name = "annotative_context_encoder"
path = "tests/annotative_context_encoder.rs"
[[test]]
name = "anonymous_block_names"
path = "tests/anonymous_block_names.rs"
[[test]]
name = "appid_default_handle_collision"
path = "tests/appid_default_handle_collision.rs"
[[test]]
name = "architecture_construct"
path = "tests/architecture_construct.rs"
[[test]]
name = "architecture_geometry_regressions"
path = "tests/architecture_geometry_regressions.rs"
[[test]]
name = "architecture_io_regressions"
path = "tests/architecture_io_regressions.rs"
[[test]]
name = "architecture_samples"
path = "tests/architecture_samples.rs"
[[test]]
name = "associative_constraint_group"
path = "tests/associative_constraint_group.rs"
[[test]]
name = "associative_empty_value"
path = "tests/associative_empty_value.rs"
[[test]]
name = "audit_recover_api"
path = "tests/audit_recover_api.rs"
[[test]]
name = "block_base_point"
path = "tests/block_base_point.rs"
[[test]]
name = "block_definition_roundtrip"
path = "tests/block_definition_roundtrip.rs"
[[test]]
name = "block_entity_xdata"
path = "tests/block_entity_xdata.rs"
[[test]]
name = "block_record_xdata"
path = "tests/block_record_xdata.rs"
[[test]]
name = "body_optional_history"
path = "tests/body_optional_history.rs"
[[test]]
name = "constraint_vertex_ids"
path = "tests/constraint_vertex_ids.rs"
[[test]]
name = "current_style_header"
path = "tests/current_style_header.rs"
[[test]]
name = "datatable_roundtrip"
path = "tests/datatable_roundtrip.rs"
[[test]]
name = "deterministic_output"
path = "tests/deterministic_output.rs"
[[test]]
name = "dimension_dxf_roundtrip"
path = "tests/dimension_dxf_roundtrip.rs"
[[test]]
name = "dimjogang"
path = "tests/dimjogang.rs"
[[test]]
name = "dimstyle_dxf_defaults"
path = "tests/dimstyle_dxf_defaults.rs"
[[test]]
name = "dwg2010_region_tail"
path = "tests/dwg2010_region_tail.rs"
[[test]]
name = "dwg_added_object_classes"
path = "tests/dwg_added_object_classes.rs"
[[test]]
name = "dwg_assoc_edge_arc"
path = "tests/dwg_assoc_edge_arc.rs"
[[test]]
name = "dwg_declared_sizes"
path = "tests/dwg_declared_sizes.rs"
[[test]]
name = "dwg_determinism"
path = "tests/dwg_determinism.rs"
[[test]]
name = "dwg_dimassoc_unreferenced_point"
path = "tests/dwg_dimassoc_unreferenced_point.rs"
[[test]]
name = "dwg_header_dim_arrow_blocks"
path = "tests/dwg_header_dim_arrow_blocks.rs"
[[test]]
name = "dwg_header_extents"
path = "tests/dwg_header_extents.rs"
[[test]]
name = "dwg_legacy_styles"
path = "tests/dwg_legacy_styles.rs"
[[test]]
name = "dwg_object_capacity"
path = "tests/dwg_object_capacity.rs"
[[test]]
name = "dwg_provenance_notice"
path = "tests/dwg_provenance_notice.rs"
[[test]]
name = "dwg_review_regressions"
path = "tests/dwg_review_regressions.rs"
[[test]]
name = "dwg_write_scaling"
path = "tests/dwg_write_scaling.rs"
[[test]]
name = "dxf_autocad_conformance"
path = "tests/dxf_autocad_conformance.rs"
[[test]]
name = "dxf_hatch_angle_bits"
path = "tests/dxf_hatch_angle_bits.rs"
[[test]]
name = "dxf_header_dim_arrows"
path = "tests/dxf_header_dim_arrows.rs"
[[test]]
name = "dxf_insert_seqend_handle"
path = "tests/dxf_insert_seqend_handle.rs"
[[test]]
name = "dxf_layout_dictionary_cache"
path = "tests/dxf_layout_dictionary_cache.rs"
[[test]]
name = "dxf_null_table_handles"
path = "tests/dxf_null_table_handles.rs"
[[test]]
name = "dxf_r12_writer"
path = "tests/dxf_r12_writer.rs"
[[test]]
name = "dxf_reader_regressions"
path = "tests/dxf_reader_regressions.rs"
[[test]]
name = "dxf_recovery"
path = "tests/dxf_recovery.rs"
[[test]]
name = "dxf_style_roundtrip"
path = "tests/dxf_style_roundtrip.rs"
[[test]]
name = "dxf_summary_info_roundtrip"
path = "tests/dxf_summary_info_roundtrip.rs"
[[test]]
name = "dynamic_action_codecs"
path = "tests/dynamic_action_codecs.rs"
[[test]]
name = "dynamic_properties"
path = "tests/dynamic_properties.rs"
[[test]]
name = "empty_constraint_group_registry"
path = "tests/empty_constraint_group_registry.rs"
[[test]]
name = "entity_audit_regressions"
path = "tests/entity_audit_regressions.rs"
[[test]]
name = "explode_document_roundtrip"
path = "tests/explode_document_roundtrip.rs"
[[test]]
name = "field_count_regressions"
path = "tests/field_count_regressions.rs"
[[test]]
name = "furnishing_dwg_read"
path = "tests/furnishing_dwg_read.rs"
[[test]]
name = "hatch_gradient_dxf_tags"
path = "tests/hatch_gradient_dxf_tags.rs"
[[test]]
name = "helix_roundtrip"
path = "tests/helix_roundtrip.rs"
[[test]]
name = "import_collada"
path = "tests/import_collada.rs"
[[test]]
name = "import_stl"
path = "tests/import_stl.rs"
[[test]]
name = "issue104"
path = "tests/issue104.rs"
[[test]]
name = "issue105"
path = "tests/issue105.rs"
[[test]]
name = "issue109"
path = "tests/issue109.rs"
[[test]]
name = "issue114"
path = "tests/issue114.rs"
[[test]]
name = "issue115"
path = "tests/issue115.rs"
[[test]]
name = "issue119"
path = "tests/issue119.rs"
[[test]]
name = "issue120"
path = "tests/issue120.rs"
[[test]]
name = "issue121"
path = "tests/issue121.rs"
[[test]]
name = "issue123"
path = "tests/issue123.rs"
[[test]]
name = "issue124"
path = "tests/issue124.rs"
[[test]]
name = "issue125"
path = "tests/issue125.rs"
[[test]]
name = "issue126"
path = "tests/issue126.rs"
[[test]]
name = "issue127"
path = "tests/issue127.rs"
[[test]]
name = "issue128"
path = "tests/issue128.rs"
[[test]]
name = "issue129"
path = "tests/issue129.rs"
[[test]]
name = "issue130"
path = "tests/issue130.rs"
[[test]]
name = "issue131"
path = "tests/issue131.rs"
[[test]]
name = "issue132"
path = "tests/issue132.rs"
[[test]]
name = "issue132_colors"
path = "tests/issue132_colors.rs"
[[test]]
name = "issue133"
path = "tests/issue133.rs"
[[test]]
name = "issue134"
path = "tests/issue134.rs"
[[test]]
name = "issue135"
path = "tests/issue135.rs"
[[test]]
name = "issue135_constraint_groups"
path = "tests/issue135_constraint_groups.rs"
[[test]]
name = "issue135_inline_dxf"
path = "tests/issue135_inline_dxf.rs"
[[test]]
name = "issue135_native_constraints"
path = "tests/issue135_native_constraints.rs"
[[test]]
name = "issue136"
path = "tests/issue136.rs"
[[test]]
name = "issue141"
path = "tests/issue141.rs"
[[test]]
name = "issue142"
path = "tests/issue142.rs"
[[test]]
name = "issue143"
path = "tests/issue143.rs"
[[test]]
name = "issue144"
path = "tests/issue144.rs"
[[test]]
name = "issue145"
path = "tests/issue145.rs"
[[test]]
name = "issue148"
path = "tests/issue148.rs"
[[test]]
name = "issue152"
path = "tests/issue152.rs"
[[test]]
name = "issue156"
path = "tests/issue156.rs"
[[test]]
name = "issue160"
path = "tests/issue160.rs"
[[test]]
name = "issue174"
path = "tests/issue174.rs"
[[test]]
name = "issue176"
path = "tests/issue176.rs"
[[test]]
name = "issue41"
path = "tests/issue41.rs"
[[test]]
name = "issue42"
path = "tests/issue42.rs"
[[test]]
name = "issue45"
path = "tests/issue45.rs"
[[test]]
name = "issue51"
path = "tests/issue51.rs"
[[test]]
name = "issue52"
path = "tests/issue52.rs"
[[test]]
name = "issue55"
path = "tests/issue55.rs"
[[test]]
name = "issue63"
path = "tests/issue63.rs"
[[test]]
name = "issue64"
path = "tests/issue64.rs"
[[test]]
name = "issue66"
path = "tests/issue66.rs"
[[test]]
name = "issue67"
path = "tests/issue67.rs"
[[test]]
name = "issue68"
path = "tests/issue68.rs"
[[test]]
name = "issue80"
path = "tests/issue80.rs"
[[test]]
name = "layer_color_book_roundtrip"
path = "tests/layer_color_book_roundtrip.rs"
[[test]]
name = "layer_description"
path = "tests/layer_description.rs"
[[test]]
name = "layer_rename"
path = "tests/layer_rename.rs"
[[test]]
name = "layer_table_records"
path = "tests/layer_table_records.rs"
[[test]]
name = "layout_back_links"
path = "tests/layout_back_links.rs"
[[test]]
name = "legacy_class_identity"
path = "tests/legacy_class_identity.rs"
[[test]]
name = "material_xrecord"
path = "tests/material_xrecord.rs"
[[test]]
name = "model_layout_root"
path = "tests/model_layout_root.rs"
[[test]]
name = "mpolygon"
path = "tests/mpolygon.rs"
[[test]]
name = "mtext_annotative"
path = "tests/mtext_annotative.rs"
[[test]]
name = "multileader_byblock_linetype"
path = "tests/multileader_byblock_linetype.rs"
[[test]]
name = "multiline_attribute_style"
path = "tests/multiline_attribute_style.rs"
[[test]]
name = "ole2frame_dwg_roundtrip"
path = "tests/ole2frame_dwg_roundtrip.rs"
[[test]]
name = "ole2frame_dxf_binary_chunks"
path = "tests/ole2frame_dxf_binary_chunks.rs"
[[test]]
name = "paper_space_owners"
path = "tests/paper_space_owners.rs"
[[test]]
name = "r12_dwg_roundtrip"
path = "tests/r12_dwg_roundtrip.rs"
[[test]]
name = "r12_entity_stream"
path = "tests/r12_entity_stream.rs"
[[test]]
name = "r12_header_fidelity"
path = "tests/r12_header_fidelity.rs"
[[test]]
name = "r12_native_mesh"
path = "tests/r12_native_mesh.rs"
[[test]]
name = "r12_native_state"
path = "tests/r12_native_state.rs"
[[test]]
name = "r12_table_fidelity"
path = "tests/r12_table_fidelity.rs"
[[test]]
name = "r2010_inline_constraint_fixture"
path = "tests/r2010_inline_constraint_fixture.rs"
[[test]]
name = "raw_all_acds"
path = "tests/raw_all_acds.rs"
[[test]]
name = "raw_all_compound"
path = "tests/raw_all_compound.rs"
[[test]]
name = "raw_all_exclusions"
path = "tests/raw_all_exclusions.rs"
[[test]]
name = "read_visiting"
path = "tests/read_visiting.rs"
[[test]]
name = "resolve_references_xdictionary"
path = "tests/resolve_references_xdictionary.rs"
[[test]]
name = "roundtrip"
path = "tests/roundtrip.rs"
[[test]]
name = "section_manager_roundtrip"
path = "tests/section_manager_roundtrip.rs"
[[test]]
name = "semantic_inventory"
path = "tests/semantic_inventory.rs"
[[test]]
name = "shape_angles"
path = "tests/shape_angles.rs"
[[test]]
name = "solid_history"
path = "tests/solid_history.rs"
[[test]]
name = "spline_dxf_parameterization"
path = "tests/spline_dxf_parameterization.rs"
[[test]]
name = "spline_knot_degree"
path = "tests/spline_knot_degree.rs"
[[test]]
name = "summary_info_roundtrip"
path = "tests/summary_info_roundtrip.rs"
[[test]]
name = "table_cell_conversion"
path = "tests/table_cell_conversion.rs"
[[test]]
name = "table_dwg_read"
path = "tests/table_dwg_read.rs"
[[test]]
name = "table_dwg_roundtrip"
path = "tests/table_dwg_roundtrip.rs"
[[test]]
name = "table_dxf_roundtrip"
path = "tests/table_dxf_roundtrip.rs"
[[test]]
name = "transparency_roundtrip"
path = "tests/transparency_roundtrip.rs"
[[test]]
name = "true_color_unsigned_accmcolor"
path = "tests/true_color_unsigned_accmcolor.rs"
[[test]]
name = "typed_storage_serde"
path = "tests/typed_storage_serde.rs"
[[test]]
name = "underlay_roundtrip"
path = "tests/underlay_roundtrip.rs"
[[test]]
name = "viewport_angles"
path = "tests/viewport_angles.rs"
[[test]]
name = "viewport_clipping"
path = "tests/viewport_clipping.rs"
[[test]]
name = "viewport_grid_flags"
path = "tests/viewport_grid_flags.rs"
[[test]]
name = "viewport_off_state"
path = "tests/viewport_off_state.rs"
[[test]]
name = "viewport_shading"
path = "tests/viewport_shading.rs"
[[test]]
name = "xref_block_roundtrip"
path = "tests/xref_block_roundtrip.rs"
[[test]]
name = "xref_linetype_localization"
path = "tests/xref_linetype_localization.rs"
[dependencies.anyhow]
version = "1.0"
[dependencies.bitflags]
version = "2.4"
[dependencies.byteorder]
version = "1.5"
[dependencies.encoding_rs]
version = "0.8"
[dependencies.flate2]
version = "1.0"
[dependencies.foldhash]
version = "0.2"
[dependencies.indexmap]
version = "2.0"
[dependencies.itoa]
version = "1"
[dependencies.nom]
version = "7.1"
[dependencies.oem_cp]
version = "2.1"
[dependencies.once_cell]
version = "1.19"
[dependencies.quick-xml]
version = "0.36"
optional = true
[dependencies.ryu]
version = "1"
[dependencies.serde]
version = "1"
features = [
"derive",
"rc",
]
optional = true
[dependencies.serde_json]
version = "1"
features = ["preserve_order"]
optional = true
[dependencies.thiserror]
version = "2"
[dependencies.web-time]
version = "1"
[dev-dependencies.criterion]
version = "0.5"
[dev-dependencies.proptest]
version = "1.4"
[dev-dependencies.serde_json]
version = "1"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.memmap2]
version = "0.9"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.rayon]
version = "1"
optional = true
[profile.bench]
inherits = "release"
[profile.release]
opt-level = 3
lto = true
codegen-units = 1