{"id":14990597,"url":"https://github.com/hawkezhk/three-model-system","last_synced_at":"2025-10-05T01:53:51.562Z","repository":{"id":39526097,"uuid":"175020589","full_name":"HAWKEZHK/three-model-system","owner":"HAWKEZHK","description":"基于 THREE.JS 的在线 3D 建模系统","archived":false,"fork":false,"pushed_at":"2022-12-10T00:34:10.000Z","size":21046,"stargazers_count":23,"open_issues_count":20,"forks_count":5,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-04-12T02:37:46.800Z","etag":null,"topics":["ant-design","cssmodules","react","threejs","typescript","webpack4"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/HAWKEZHK.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}},"created_at":"2019-03-11T14:43:43.000Z","updated_at":"2025-04-06T13:18:29.000Z","dependencies_parsed_at":"2022-08-28T22:55:27.168Z","dependency_job_id":null,"html_url":"https://github.com/HAWKEZHK/three-model-system","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/HAWKEZHK/three-model-system","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HAWKEZHK%2Fthree-model-system","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HAWKEZHK%2Fthree-model-system/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HAWKEZHK%2Fthree-model-system/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HAWKEZHK%2Fthree-model-system/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HAWKEZHK","download_url":"https://codeload.github.com/HAWKEZHK/three-model-system/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HAWKEZHK%2Fthree-model-system/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278399690,"owners_count":25980332,"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-10-04T02:00:05.491Z","response_time":63,"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":["ant-design","cssmodules","react","threejs","typescript","webpack4"],"created_at":"2024-09-24T14:20:26.092Z","updated_at":"2025-10-05T01:53:51.525Z","avatar_url":"https://github.com/HAWKEZHK.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# three-model-system\r\n\r\n\u003e 基于 THREE.JS 的 3D 建模系统（毕设项目）\r\n \r\n### 预览 ###\r\n \r\n[点击访问](https://hawkezhk.github.io/three-model-system/)\r\n\r\n### 技术栈 ###\r\n\r\n    React + TypeScript + Css-Module + Ant-Design + Three.js\r\n\r\n### 目录结构 ###\r\n\r\n```\r\nthree-model-system/\r\n│\r\n│── src/                         * 源文件\r\n│    |\r\n|    |—— common/                 * 公共文件\r\n|    |    |\r\n|    |    |—— constants/         * 常数\r\n|    |    |\r\n|    |    |—— helper/            * 工具方法\r\n|    |    |\r\n|    |    |—— models/            * 模型\r\n|    |\r\n|    |—— components/             * 组件\r\n|    |    |\r\n|    |    |—— home/              * 工作区\r\n|    |    |\r\n|    |    |—— operation/         * 模型控制区\r\n|    |    |\r\n|    |    |—— three-drawer/      * 外部模型库\r\n│    |\r\n|    |—— entry/                  * 入口文件\r\n│    |\r\n|    |—— static/                 * 静态文件\r\n|    |    |\r\n|    |    |—— 3D-files/          * 3D文件\r\n|    |    |\r\n|    |    |—— images/            * 图片\r\n|    |    |\r\n|    |    |—— template/          * 模板\r\n│\r\n│── webpack/\r\n│    |\r\n|    |—— webpack.common.js       * 公共配置\r\n│    |\r\n|    |—— webpack.dev.js          * 开发环境配置\r\n│    |\r\n|    |—— webpack.prod.js         * 生产环境配置\r\n```\r\n\r\n### 如何启动 ###\r\n\r\nStep 1\r\n```\r\nyarn install\r\n```\r\n\r\nStep 2\r\n```\r\nyarn start\r\n```\r\n\r\nStep 3\r\n```\r\n打开 http://localhost:3000/ 进行预览\r\n```\r\n\r\n### 关键功能说明 ###\r\n这里列一下鼠标操作几何体的事件及效果 ~\r\n\r\n| 操作 | 效果 |\r\n| :--------: | :-----: |\r\n| 单击左键 | 几何体位置固定 |\r\n| 在场景中移动 | 几何体随鼠标移动 |\r\n| 单击右键 | 移除预览几何体 |\r\n| 双击实体 | 转换为预览几何实体 |\r\n\r\n### BTW ###\r\n\r\n\u003e 这是毕设做的小项目，受到在公司一个大佬的启发而选的这个题目，正好也让我学习了一下 three.js。由于时间和精力问题没有将这个项目做到太完美，有几个可以优化的地方在这稍微列一下 ~（基本上是因为没有精力去写后台导致的 hh）\r\n\r\n+ 可以增加一个账号体系\r\n+ 项目中的“外部模型导入”功能就可以做成直接上传本地文件的形式，带进度条之类的。（目前这个功能在生产环境体验会比较差，因为要下载比较大的文件，代码 clone 下来在开发环境体验会好一些~）\r\n+ 缓存功能可以将数据存在后台，配合账号体系保存草稿。现在为了简单是直接缓存在 localstorage 中\r\n+ 还有一些建模功能上的优化比如扫描、镜像还有爆炸图这些，有兴趣的可以探索探索，这些功能比较复杂但应该是可以实现的\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhawkezhk%2Fthree-model-system","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhawkezhk%2Fthree-model-system","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhawkezhk%2Fthree-model-system/lists"}