{"id":18682548,"url":"https://github.com/postech-cvlab/combinatorial-3d-shape-generation","last_synced_at":"2025-07-30T02:09:47.874Z","repository":{"id":44541572,"uuid":"304484218","full_name":"POSTECH-CVLab/Combinatorial-3D-Shape-Generation","owner":"POSTECH-CVLab","description":"An official repository of paper \"Combinatorial 3D Shape Generation via Sequential Assembly\", presented at NeurIPS 2020 Workshop on Machine Learning for Engineering Modeling, Simulation, and Design","archived":false,"fork":false,"pushed_at":"2023-06-07T01:54:53.000Z","size":713181,"stargazers_count":68,"open_issues_count":1,"forks_count":8,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-04-12T04:37:31.106Z","etag":null,"topics":["3d-shape","combinatorial-design","dataset"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/POSTECH-CVLab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-10-16T01:04:32.000Z","updated_at":"2025-03-24T03:28:37.000Z","dependencies_parsed_at":"2024-11-07T10:22:29.353Z","dependency_job_id":null,"html_url":"https://github.com/POSTECH-CVLab/Combinatorial-3D-Shape-Generation","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/POSTECH-CVLab/Combinatorial-3D-Shape-Generation","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/POSTECH-CVLab%2FCombinatorial-3D-Shape-Generation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/POSTECH-CVLab%2FCombinatorial-3D-Shape-Generation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/POSTECH-CVLab%2FCombinatorial-3D-Shape-Generation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/POSTECH-CVLab%2FCombinatorial-3D-Shape-Generation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/POSTECH-CVLab","download_url":"https://codeload.github.com/POSTECH-CVLab/Combinatorial-3D-Shape-Generation/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/POSTECH-CVLab%2FCombinatorial-3D-Shape-Generation/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267797579,"owners_count":24145707,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-30T02:00:09.044Z","response_time":70,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["3d-shape","combinatorial-design","dataset"],"created_at":"2024-11-07T10:12:18.796Z","updated_at":"2025-07-30T02:09:47.814Z","avatar_url":"https://github.com/POSTECH-CVLab.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Combinatorial-3D-Shape-Generation\n\nThis is an official repository of paper \"Combinatorial 3D Shape Generation via Sequential Assembly\".\n\n* arXiv Preprint: [(abs)](https://arxiv.org/abs/2004.07414), [(pdf)](https://arxiv.org/pdf/2004.07414.pdf)\n* [High-Resolution Version](http://jungtaek.github.io/papers/ml4eng_2020_high_resolution.pdf) (About 50MB)\n\n## Installing Required Python Packages (Python 3.7)\n\nYou are able to install required Python packages by commanding `pip install -r requirements.txt`.\n\n## Running\n\n* Creating a dataset\n\nRun the following script.\n\n```shell\n# Move to src_dataset/\n$ ./dataset_all.sh \n```\n\nIt will create a dataset, which has already been included in the repository.\n\n* Generating a 3D shape\n\n```shell\n# Move to src_generation/\n$ python assemble_with_bo.py --ind_class 21 --ind_target 1 --use_stability --use_rollback\n```\n\n`ind_class` and `ind_target` indicate the indices of class and target object, respectively (Please check the code for dataset creation).\n`use_stability` and `use_rollback` are flags for considering stability and using a rollback step.\n\n* Creating an XML file and its corresponding PLY files\n\nRun the following script.\n\n```shell\n# Move to src_rendering/\n$ ./meshes_all.sh \n```\n\nIt requires a rendering process with [Mitsuba renderer](http://mitsuba-renderer.org/index_old.html).\nAfter changing the camera position and its perspective, render the XML file you want.\n\n## Connection Types Between Two 2-by-4 Bricks\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"./meshes/label01_01.png\" width=\"80\" /\u003e\n\u003cimg src=\"./meshes/label01_02.png\" width=\"80\" /\u003e\n\u003cimg src=\"./meshes/label01_03.png\" width=\"80\" /\u003e\n\u003cimg src=\"./meshes/label01_04.png\" width=\"80\" /\u003e\n\u003cimg src=\"./meshes/label01_05.png\" width=\"80\" /\u003e\n\u003cimg src=\"./meshes/label01_06.png\" width=\"80\" /\u003e\n\u003cimg src=\"./meshes/label01_07.png\" width=\"80\" /\u003e\n\u003cimg src=\"./meshes/label01_08.png\" width=\"80\" /\u003e\n\u003cimg src=\"./meshes/label01_09.png\" width=\"80\" /\u003e\n\u003cimg src=\"./meshes/label01_10.png\" width=\"80\" /\u003e\n\u003cimg src=\"./meshes/label01_11.png\" width=\"80\" /\u003e\n\u003cimg src=\"./meshes/label01_12.png\" width=\"80\" /\u003e\n\u003cimg src=\"./meshes/label01_13.png\" width=\"80\" /\u003e\n\u003cimg src=\"./meshes/label01_14.png\" width=\"80\" /\u003e\n\u003cimg src=\"./meshes/label01_15.png\" width=\"80\" /\u003e\n\u003cimg src=\"./meshes/label01_16.png\" width=\"80\" /\u003e\n\u003cimg src=\"./meshes/label01_17.png\" width=\"80\" /\u003e\n\u003cimg src=\"./meshes/label01_18.png\" width=\"80\" /\u003e\n\u003cimg src=\"./meshes/label01_19.png\" width=\"80\" /\u003e\n\u003cimg src=\"./meshes/label01_20.png\" width=\"80\" /\u003e\n\u003cimg src=\"./meshes/label01_21.png\" width=\"80\" /\u003e\n\n\u003cimg src=\"./meshes/label02_01.png\" width=\"80\" /\u003e\n\u003cimg src=\"./meshes/label02_02.png\" width=\"80\" /\u003e\n\u003cimg src=\"./meshes/label02_03.png\" width=\"80\" /\u003e\n\u003cimg src=\"./meshes/label02_04.png\" width=\"80\" /\u003e\n\u003cimg src=\"./meshes/label02_05.png\" width=\"80\" /\u003e\n\u003cimg src=\"./meshes/label02_06.png\" width=\"80\" /\u003e\n\u003cimg src=\"./meshes/label02_07.png\" width=\"80\" /\u003e\n\u003cimg src=\"./meshes/label02_08.png\" width=\"80\" /\u003e\n\u003cimg src=\"./meshes/label02_09.png\" width=\"80\" /\u003e\n\u003cimg src=\"./meshes/label02_10.png\" width=\"80\" /\u003e\n\u003cimg src=\"./meshes/label02_11.png\" width=\"80\" /\u003e\n\u003cimg src=\"./meshes/label02_12.png\" width=\"80\" /\u003e\n\u003cimg src=\"./meshes/label02_13.png\" width=\"80\" /\u003e\n\u003cimg src=\"./meshes/label02_14.png\" width=\"80\" /\u003e\n\u003cimg src=\"./meshes/label02_15.png\" width=\"80\" /\u003e\n\u003cimg src=\"./meshes/label02_16.png\" width=\"80\" /\u003e\n\u003cimg src=\"./meshes/label02_17.png\" width=\"80\" /\u003e\n\u003cimg src=\"./meshes/label02_18.png\" width=\"80\" /\u003e\n\u003cimg src=\"./meshes/label02_19.png\" width=\"80\" /\u003e\n\u003cimg src=\"./meshes/label02_20.png\" width=\"80\" /\u003e\n\u003cimg src=\"./meshes/label02_21.png\" width=\"80\" /\u003e\n\u003cimg src=\"./meshes/label02_22.png\" width=\"80\" /\u003e\n\u003cimg src=\"./meshes/label02_23.png\" width=\"80\" /\u003e\n\u003cimg src=\"./meshes/label02_24.png\" width=\"80\" /\u003e\n\u003cimg src=\"./meshes/label02_25.png\" width=\"80\" /\u003e\n\u003c/p\u003e\n\n## Examples in Combinatorial 3D Shape Dataset\n\n* Bar\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"./meshes/label11_22.png\" width=\"180\" /\u003e\n\u003cimg src=\"./meshes/label11_25.png\" width=\"180\" /\u003e\n\u003cimg src=\"./meshes/label11_28.png\" width=\"180\" /\u003e\n\u003c/p\u003e\n\n* Line\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"./meshes/label12_19.png\" width=\"180\" /\u003e\n\u003cimg src=\"./meshes/label12_21.png\" width=\"180\" /\u003e\n\u003cimg src=\"./meshes/label12_23.png\" width=\"180\" /\u003e\n\u003c/p\u003e\n\n* Plate\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"./meshes/label13_20.png\" width=\"180\" /\u003e\n\u003cimg src=\"./meshes/label13_22.png\" width=\"180\" /\u003e\n\u003cimg src=\"./meshes/label13_24.png\" width=\"180\" /\u003e\n\u003c/p\u003e\n\n* Wall\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"./meshes/label14_13.png\" width=\"180\" /\u003e\n\u003cimg src=\"./meshes/label14_18.png\" width=\"180\" /\u003e\n\u003cimg src=\"./meshes/label14_23.png\" width=\"180\" /\u003e\n\u003c/p\u003e\n\n* Cuboid\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"./meshes/label15_20.png\" width=\"180\" /\u003e\n\u003cimg src=\"./meshes/label15_27.png\" width=\"180\" /\u003e\n\u003cimg src=\"./meshes/label15_30.png\" width=\"180\" /\u003e\n\u003c/p\u003e\n\n* Square Pyramid\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"./meshes/label16_03.png\" width=\"180\" /\u003e\n\u003cimg src=\"./meshes/label16_04.png\" width=\"180\" /\u003e\n\u003cimg src=\"./meshes/label16_05.png\" width=\"180\" /\u003e\n\u003c/p\u003e\n\n* Chair\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"./meshes/label21_03.png\" width=\"180\" /\u003e\n\u003cimg src=\"./meshes/label21_07.png\" width=\"180\" /\u003e\n\u003cimg src=\"./meshes/label21_12.png\" width=\"180\" /\u003e\n\u003c/p\u003e\n\n* Sofa\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"./meshes/label22_09.png\" width=\"180\" /\u003e\n\u003cimg src=\"./meshes/label22_21.png\" width=\"180\" /\u003e\n\u003cimg src=\"./meshes/label22_28.png\" width=\"180\" /\u003e\n\u003c/p\u003e\n\n* Cup\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"./meshes/label23_05.png\" width=\"180\" /\u003e\n\u003cimg src=\"./meshes/label23_07.png\" width=\"180\" /\u003e\n\u003cimg src=\"./meshes/label23_18.png\" width=\"180\" /\u003e\n\u003c/p\u003e\n\n* Hollow\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"./meshes/label24_08.png\" width=\"180\" /\u003e\n\u003cimg src=\"./meshes/label24_10.png\" width=\"180\" /\u003e\n\u003cimg src=\"./meshes/label24_24.png\" width=\"180\" /\u003e\n\u003c/p\u003e\n\n* Table\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"./meshes/label25_07.png\" width=\"180\" /\u003e\n\u003cimg src=\"./meshes/label25_12.png\" width=\"180\" /\u003e\n\u003cimg src=\"./meshes/label25_15.png\" width=\"180\" /\u003e\n\u003c/p\u003e\n\n* Car\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"./meshes/label26_03.png\" width=\"180\" /\u003e\n\u003cimg src=\"./meshes/label26_12.png\" width=\"180\" /\u003e\n\u003cimg src=\"./meshes/label26_18.png\" width=\"180\" /\u003e\n\u003c/p\u003e\n\n## Citation\n```\n@article{KimJ2020arxiv,\n    author={Kim, Jungtaek and Chung, Hyunsoo and Lee, Jinhwi and Cho, Minsu and Park, Jaesik},\n    title={Combinatorial {3D} Shape Generation via Sequential Assembly},\n    journal={{arXiv} preprint {arXiv}:2004.07414},\n    year={2020}\n}\n```\n\nor\n\n```\n@inproceedings{KimJ2020neuripsw,\n    author={Kim, Jungtaek and Chung, Hyunsoo and Lee, Jinhwi and Cho, Minsu and Park, Jaesik},\n    title={Combinatorial {3D} Shape Generation via Sequential Assembly},\n    booktitle={NeurIPS Workshop on Machine Learning for Engineering Modeling, Simulation, and Design (ML4Eng)},\n    year={2020}\n}\n```\n\n## Contributor\n* Jungtaek Kim: [jtkim@postech.ac.kr](mailto:jtkim@postech.ac.kr)\n* Hyunsoo Chung: [hschung2@postech.ac.kr](mailto:hschung2@postech.ac.kr)\n\n## License\n[MIT License](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpostech-cvlab%2Fcombinatorial-3d-shape-generation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpostech-cvlab%2Fcombinatorial-3d-shape-generation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpostech-cvlab%2Fcombinatorial-3d-shape-generation/lists"}