{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/deepcad-a-deep-generative-network-for","title":"DeepCAD: A Deep Generative Network for Computer-Aided Design Models","arxiv_id":"2105.09492","date":"2021-05-20","proceeding":"ICCV 2021 10","authors":["Rundi Wu","Chang Xiao","Changxi Zheng"],"abstract":"Deep generative models of 3D shapes have received a great deal of research interest. Yet, almost all of them generate discrete shape representations, such as voxels, point clouds, and polygon meshes. We present the first 3D generative model for a drastically different shape representation --- describing a shape as a sequence of computer-aided design (CAD) operations. Unlike meshes and point clouds, CAD models encode the user creation process of 3D shapes, widely used in numerous industrial and engineering design tasks. However, the sequential and irregular structure of CAD operations poses significant challenges for existing 3D generative models. Drawing an analogy between CAD operations and natural language, we propose a CAD generative network based on the Transformer. We demonstrate the performance of our model for both shape autoencoding and random shape generation. To train our network, we create a new CAD dataset consisting of 178,238 models and their CAD construction sequences. We have made this dataset publicly available to promote future research on this topic.","url_abs":"https://arxiv.org/abs/2105.09492v2","url_pdf":"https://arxiv.org/pdf/2105.09492v2.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"deepcad-a-deep-generative-network-for","repo_url":"https://github.com/ChrisWu1997/DeepCAD","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"cad-reconstruction","task_name":"CAD Reconstruction"}],"methods":[{"method_slug":"absolute-position-encodings","method_name":"Absolute Position Encodings"},{"method_slug":"adam","method_name":"Adam"},{"method_slug":"attention","method_name":"Attention"},{"method_slug":"bpe","method_name":"BPE"},{"method_slug":"dense-connections","method_name":"Dense Connections"},{"method_slug":"dropout","method_name":"Dropout"},{"method_slug":"label-smoothing","method_name":"Label Smoothing"},{"method_slug":"layer-normalization","method_name":"Layer Normalization"},{"method_slug":"linear-layer","method_name":"Linear Layer"},{"method_slug":"multi-head-attention","method_name":"Multi-Head Attention"},{"method_slug":"position-wise-feed-forward-layer","method_name":"Position-Wise Feed-Forward Layer"},{"method_slug":"residual-connection","method_name":"Residual Connection"},{"method_slug":"softmax","method_name":"Softmax"},{"method_slug":"transformer","method_name":"Transformer"}],"datasets_introduced":[{"slug":"deepcad","name":"DeepCAD","full_name":""}],"methods_introduced":[],"results":[{"leaderboard":"/sota/cad-reconstruction-on-cc3d","task":"CAD Reconstruction","dataset":"CC3D","model":"DeepCAD","rank_in_archive_order":4,"of":4,"metrics":{"Chamfer Distance (median)":"263"},"uses_additional_data":false},{"leaderboard":"/sota/cad-reconstruction-on-deepcad","task":"CAD Reconstruction","dataset":"DeepCAD","model":"DeepCAD","rank_in_archive_order":10,"of":11,"metrics":{"Camfer Distance (median)":"9.64","Chamfer Distance":"42.5","IoU":"46.7"},"uses_additional_data":false},{"leaderboard":"/sota/cad-reconstruction-on-fusion-360-gallery","task":"CAD Reconstruction","dataset":"Fusion 360 Gallery","model":"DeepCAD","rank_in_archive_order":10,"of":11,"metrics":{"Chamfer Distance":"330","Chamfer Distance (median)":"89.2","Invalid Ratio":"25.2","IoU":"39.9"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2105.09492","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2105.09492"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/ChrisWu1997/DeepCAD","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":7},"by_repo_kind":{"official":{"samples":7,"ran":0,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"001cc0b30c7ad1eb","entry":"angle_from_vector_to_x","repo":"ChrisWu1997/DeepCAD","repo_kind":"official","path":"cadlib/math_utils.py","file_url":"https://github.com/ChrisWu1997/DeepCAD/blob/HEAD/cadlib/math_utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"001cc0b30c7ad1eb"}},{"code_sha256_prefix":"beeacc751149e0a6","entry":"cartesian2polar","repo":"ChrisWu1997/DeepCAD","repo_kind":"official","path":"cadlib/math_utils.py","file_url":"https://github.com/ChrisWu1997/DeepCAD/blob/HEAD/cadlib/math_utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"beeacc751149e0a6"}},{"code_sha256_prefix":"d2990e720cffdb74","entry":"construct_curve_from_dict","repo":"ChrisWu1997/DeepCAD","repo_kind":"official","path":"cadlib/curves.py","file_url":"https://github.com/ChrisWu1997/DeepCAD/blob/HEAD/cadlib/curves.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d2990e720cffdb74"}},{"code_sha256_prefix":"21c146ec1fcedf01","entry":"construct_curve_from_vector","repo":"ChrisWu1997/DeepCAD","repo_kind":"official","path":"cadlib/curves.py","file_url":"https://github.com/ChrisWu1997/DeepCAD/blob/HEAD/cadlib/curves.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"21c146ec1fcedf01"}},{"code_sha256_prefix":"0a82ec25c06d47fc","entry":"get_dataloader","repo":"ChrisWu1997/DeepCAD","repo_kind":"official","path":"pc2cad_train.py","file_url":"https://github.com/ChrisWu1997/DeepCAD/blob/HEAD/pc2cad_train.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"0a82ec25c06d47fc"}},{"code_sha256_prefix":"193c7fe53b206fc9","entry":"rads_to_degs","repo":"ChrisWu1997/DeepCAD","repo_kind":"official","path":"cadlib/math_utils.py","file_url":"https://github.com/ChrisWu1997/DeepCAD/blob/HEAD/cadlib/math_utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"193c7fe53b206fc9"}},{"code_sha256_prefix":"918976217124e145","entry":"read_ply","repo":"ChrisWu1997/DeepCAD","repo_kind":"official","path":"pc2cad_train.py","file_url":"https://github.com/ChrisWu1997/DeepCAD/blob/HEAD/pc2cad_train.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"918976217124e145"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}