news 2026/9/7 12:00:26

【三维建模】三维建模基础一

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【三维建模】三维建模基础一

本文涉及知识点

计算几何

效果图

各步骤及代码

长方体一

直接创建长方体。

SSolid1Param param=newSSolid1Param();Solid3d solid=newSolid3d();solid.CreateBox(param.m_XBottom1,param.m_YBottom1,param.m_ZBottom1);

减去长方体二


长方形向X方向拉伸60。

{//减去长方体Point3d pt=newPoint3d(-param.m_XBottom1/2,-param.m_YBottom2/2,-param.m_ZBottom1/2);Point3d[]pts=newPoint3d[4]{pt,pt,pt,pt};pts[1]=pts[1].Add(newVector3d(0,0,param.m_ZBottom2));pts[2]=pts[2].Add(newVector3d(0,param.m_YBottom2,param.m_ZBottom2));pts[3]=pts[3].Add(newVector3d(0,param.m_YBottom2,0));var pl=QinShiCad.RegionTools.CreateSimplePolyline3d(pts);Solid3d extrudedSolid=newSolid3d();extrudedSolid.CreateExtrudedSolid(pl,newVector3d(param.m_XBottom1,0,0),newSweepOptions());solid.BooleanOperation(BooleanOperationType.BoolSubtract,extrudedSolid);}

减去圆柱一


圆柱向z方向拉伸18。

Point3d O1=newPoint3d(0,-param.m_YBottom1/2,-param.m_ZBottom1/2);{//减去圆柱Circle circle=newCircle(O1,Vector3d.ZAxis,param.m_r1);Solid3d extrudedSolid=newSolid3d();extrudedSolid.CreateExtrudedSolid(circle,newVector3d(0,0,param.m_ZBottom1),newSweepOptions());solid.BooleanOperation(BooleanOperationType.BoolSubtract,extrudedSolid);}

大圆柱减小园柱


两个圆向y轴负方向拉伸。

Point3d O2=newPoint3d(O1.X,-O1.Y,O1.Z+param.m_disO1O2);Circle circle2=newCircle(O2,Vector3d.YAxis,param.m_r2);{Circle circle3=newCircle(O2,Vector3d.YAxis,param.m_r3);Solid3d extrudedSolid2=newSolid3d();extrudedSolid2.CreateExtrudedSolid(circle2,newVector3d(0,-param.m_y2,0),newSweepOptions());Solid3d extrudedSolid3=newSolid3d();extrudedSolid3.CreateExtrudedSolid(circle3,newVector3d(0,-param.m_y2,0),newSweepOptions());extrudedSolid2.BooleanOperation(BooleanOperationType.BoolSubtract,extrudedSolid3);solid.BooleanOperation(BooleanOperationType.BoolUnite,extrudedSolid2);}

减去小圆柱


向z轴负方向拉伸。

Point3d O4=newPoint3d(0,param.m_YBottom1/2-param.m_yDis4,O1.Z+param.m_disO1O2+param.m_r2);{//减去小圆柱Circle circle=newCircle(O4,Vector3d.ZAxis,param.m_r4);Solid3d extrudedSolid=newSolid3d();extrudedSolid.CreateExtrudedSolid(circle,newVector3d(0,0,-param.m_r2),newSweepOptions());solid.BooleanOperation(BooleanOperationType.BoolSubtract,extrudedSolid);}

增加梯形拉伸


C是A和园的切点,D是B和园的切点。注意: 有两个切点,选择Z大的。

{var p8=Polyline8(param,circle2);Solid3d extrudedSolid=newSolid3d();extrudedSolid.CreateExtrudedSolid(p8,newVector3d(0,-param.m_y8,0),newSweepOptions());solid.BooleanOperation(BooleanOperationType.BoolUnite,extrudedSolid);}

扩展阅读

我想对大家说的话
工作中遇到的问题,可以按类别查阅鄙人的算法文章,请点击《算法与数据汇总》。
学习算法:按章节学习《喜缺全书算法册》,大量的题目和测试用例,打包下载。重视操作
有效学习:明确的目标 及时的反馈 拉伸区(难度合适) 专注
员工说:技术至上,老板不信;投资人的代表说:技术至上,老板会信。
闻缺陷则喜(喜缺)是一个美好的愿望,早发现问题,早修改问题,给老板节约钱。
子墨子言之:事无终始,无务多业。也就是我们常说的专业的人做专业的事。
如果程序是一条龙,那算法就是他的是睛
失败+反思=成功 成功+反思=成功

视频课程

先学简单的课程,请移步CSDN学院,听白银讲师(也就是鄙人)的讲解。
https://edu.csdn.net/course/detail/38771
如何你想快速形成战斗了,为老板分忧,请学习C#入职培训、C++入职培训等课程
https://edu.csdn.net/lecturer/6176

测试环境

操作系统:win7 开发环境: VS2019C++17
或者 操作系统:win10 开发环境: VS2022C++17
如无特殊说明,本算法用**C++**实现。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/2 17:10:41

持续集成CI

一、什么是持续集成 持续集成指的是,频繁地将代码集成到主干。一旦搭建好CI服务器,只需要提交代码,后续的编译、打包、部署都是由CI服务器来自动完成。 二、Jenkins概述 Jenkins是一款流行的开源持续集成工具,具有自动化构建、测试…

作者头像 李华
网站建设 2026/9/3 1:36:26

项目1-C:手写体识别系统handwriting_ocr_system的深度学习系统_数据准备

为中小学试卷手写识别系统收集和标注数据,是整个项目从环境搭建迈向模型训练的核心。由于手写体识别对数据的多样性、真实性要求很高,需要采用“公开数据为主、真实数据为辅、合成增强补足”的综合策略。 一、 数据来源规划与获取 你需要从以下几个渠道获…

作者头像 李华
网站建设 2026/9/7 5:17:23

Vue 路由的庖丁解牛

Vue 路由(Vue Router) 是 Vue.js 应用的前端导航中枢,它将 URL 与组件动态映射,实现无刷新的单页应用(SPA)。 其核心不仅是“跳转页面”,更是状态管理、权限控制、性能优化、SEO 友好的集成平台…

作者头像 李华
网站建设 2026/9/2 22:46:12

PotPlayer采集卡选麦克风会导致黑屏及音频修复方案

文章目录PotPlayer采集卡选麦克风会导致黑屏及音频修复方案1. 核心故障分析:为何选择“麦克风”会导致黑屏?1.1 视频与音频通道的独立性原理1.2 错误操作流程与系统反馈1.3 修正策略:分离视频与音频设置2. 进阶故障排除:有画面但无…

作者头像 李华
网站建设 2026/9/4 20:57:33

8款AI论文写作工具横向对比:智能降重与高效创作测评

当前市场上AI论文辅助工具功能多样,实测数据显示,高效降重与降低AIGC检测率的核心需求可通过Grammarly、QuillBot等文本优化工具实现,而Paperpal、Writefull则擅长学术语言润色;Scite.ai凭借文献溯源功能脱颖而出,Hemi…

作者头像 李华