文章目录

  • 本节内容
  • 建模是要干什么
  • 乐高(Lego)组件建模的过程
    • 乐高立方体的生成
    • 乐高立方体的挖空
    • 乐高立方体上面八个点的生成

本节内容

解释什么是建模,通过乐高积木块的建模过程来带你熟悉PartDisign工作台中常用的诸如创建Sketch,External Geometry导入边缘线,建立约束,PAD,Extrude,Linear Pattern等常用操作

建模是要干什么

3D打印产生的是真实世界的物体,要让画纸上的东西走向真实世界,就得要求你设计的图纸是可以建造的,而且模型必须是实心的,这样才可以被3D打印机所识别并打印出来。在FreeCAD工具里‘PartDesign Workbench’则完美地解决了这个‘实心建造’的问题。
为了展示如何使用PartDesign Workbench,我们可以从大伙比较了解的乐高(lego)积木块的模型来进行演示。

乐高(Lego)组件建模的过程

这次我们要建一个乐高模型块,大概是实际lego产品的1.5倍大小。主要用了Sketcher及PartDesign工作台上的相关工具。PartDesign的对象完全是依赖Sketches(草图)而存在的,每一个Skecher都是2D的对象,这些对象主要由一些线(线段,弧线,圆形线等)及其Constraints(约束)来构成。对于2D对象中存在的约束条件,我们追求的原则是尽量减少冗余的条件,FreeCAD系统会自动发现这些冗余的约束,以便于你及时地去删除它们。Sketch(草图)有个编辑模式,进入这个模式可以改变草图中的几何形状和约束条件,当你完成了编辑,需要去主动退出(Close)这种编辑模式。

乐高立方体的生成

我们要先来建模一个立方形状,这将我们的乐高砖块的基础。稍后我们将来在其上镂空,并添加8个卡扣点。先让我们开始通过一个矩形草图,然后将其凸起:

  • 先切换到PartDesign工作台
  • 单击Create a new Sketch按钮。将会出现一个对话框,询问你想所在的sketch,选择XY平面,sketch会被创建(如果sketch没有Active Body,可能会要求你创建一个body)并立即切换到编辑模式,视图也将旋转到你的Sketch图形正面。
  • 现在,我们可以画一个矩形,通过选择矩形工具,点击2个角点。你可以在任何地方把两个点放下,然后对应的地方就会被放置这个矩形。
  • 会发现有几个约束已经自动添加到我们的矩形:垂直段有一个垂直约束,水平的受水平约束限制,每一个角落有point-on-point约束把它们粘在一起。你可以通过拖动鼠标来移动矩形,所有的几何形体将继续遵守约束。

现在,让我们添加三个约束:

  • 选择一个垂直段和添加一个垂直距离约束,给它一个23.7毫米的大小
  • 选择一个水平段和添加一个水平距离约束47.7毫米。
  • 最后,选择一个角点,然后起源点(点在红色和绿色的交叉轴,即XY轴的交叉点),然后添加一个点对点的一致约束。矩形将跳转到起源点,然后你的Skech会变绿,这意味着它被完全约束,你可以试着去移动线或点,但它却不会有什么变化。

注意,最后的那个point-on-point约束并不是绝对必要的,你倒不是完全必须使用完全约束草图。然而,如果我们要打印3d物体,会需要我们将物体接近原点的那个点(那里是打印机头可以移动空间的中心)。通过添加约束,我们是要确保我们的作品将始终保持“锚定”在起源点上。

基础素描现在准备好了,我们可以按下任务面板上的关闭按钮,或简单地按Escape键来退出编辑模式。以后如果有需要,我们可以随时通过双击树视图中的Sketcherl来重新回到编辑模式。

然后使用凸台工具(点击工具栏上’Pad a selected ketch’),并给它一个14.4mm的距离。其他选项可以保留为默认值

pad的行为很像Part工作台里的Extrude工具,但有一些差异,主要差别之一就是pad出来的对象无法移动,它永远是附着在草图上。如果你想改变pad的位置,你必须移动基础sketch。在当前情况下,我们想确保什么都不会离开原来的位置,这样是比较安全的做法。

乐高立方体的挖空

现在我们将来雕刻这个乐高块,用得是Pocket(凹陷)工具,这个工具相当于是Part工作台的的Cut功能在PartDesign版本的实现。为了创建一个Pocket(凹陷),我们将创建一个底部表面上的sketcher,这个是用于删除乐高块中的一部分。
选择底面,按’Create a new sketch’按钮。
FreeCAD会把视图自动切换去底面,这时候可以在上面画一个矩形
现在我们将约束矩形与底部面的关系,要做到这一点,我们需要使用’Create an edge linked to an external geometry’工具来“导入”一些参考面上的边。使用这个工具点击底面的两个竖线边,引用的边则会变成紫红色作为参考。如下图这般:

External Geometry(外部几何)不是“真的”,当我们离开编辑模式之后它将会被隐藏起来。但是我们可以用它来建立约束,有以下四处约束:

  • 选择矩形的左上角点和参考线左上角的点,添加一个1.8mm的水平距离约束
  • 再次选择矩形的左上角点和参考线左上角的点,添加一个1.8mm的垂直距离约束
  • 选择矩形的右下角点和参考线右下角的点,并添加一个1.8mm的水平距离约束
  • 选择矩形的右下角点和参考线右下角的点,并添加一个1.8mm的垂直距离约束
    离开编辑模式,我们现在可以选中工具栏上的’Create a pocket with a selected sketch’按钮进行操作。给它一个12.6mm的长度,这将离开Pad上表面的厚度为1.8mm(记住,垫的总高度是14.4mm哦)。

乐高立方体上面八个点的生成

现在我们将搞定在顶面上的8个点。要做到这一点,考虑到他们是相同的重复特性,我们将使用方便的PartDesign工作台上的Linear Pattern(线性模式)工具,它将允许一次建模,然后将模型重复:

  • 首先,选择乐高块的顶面
  • 创建一个新的Sketch。
  • 创建两个圆圈。
  • 对于每一个圆,选择它,并添加一个3.6mm的半径约束
  • 使用’Create an edge linked to an external geometry’工具导入乐高顶面的左边缘线。
  • 对每个圆的中心点加入两垂直约束和两个水平约束,距离都是离顶面两条边为6mm

注意,再一次声明,当你锁定了sketch的位置和尺寸就是完全约束的,这种做法会比较安全,即使你现在改变了最初的那个sketch,我们之后的sketch的也会随之进行确定的变化。

离开编辑模式,选择这个新的sketch,来创建一个2.7毫米的Pad。

注意,与早些时候使用Pocket工具一样,因为我们使用了我们的基本块的顶面作为最新的Sketch基面,那我们所做的任何PartDesign操作,这个sketch将正确地建立在基面上:它们并不是独立的对象,它们是从乐高立方体而来。这是使用PartDesign工作台的一个巨大的优势,只要你走的每一步是基于前一个步骤构建而来,实际上你最终就可以得到一个坚固的对象。

我们现在可以重复建造前面凸出的那两个点四次,这样我们就可以得到八个点,选择我们刚刚创建的最新的Pad。
按’Create a linear pattern feature’(线性模式)按钮。
给它一个36mm的长度(总“跨度”是指所以copy模型间的总距离),“Horizontal sketch axis”方向,并使其出现4次:

现在我们要用三根“管”来填补我们之前挖空的空间。我们有几种方式可以做:创建一个带三个圈的sketch,pad他们然后再pocket三次;或者创建一个内部还带有一个圆圈的sketch,然后pad这个管子形状的sketch;或是其他组合方式来完成这个目标。FreeCAD有时候是有很多方法可以实现相同的结果。有时我们希望的方式不能达到目的,我们就必须尝试其他方式。在这里,我们将采取最稳妥的方式,一步一个脚印做好了。

  • 选择底部我们之前挖好的中空的那个面,创建一个新的sketch,添加一个半径为4.8825 mm的圆,导入参考基面的左边界线,并限制垂直和水平在10.2mm.
  • 离开编辑模式,pad这个sketch,高度是12.6mm
  • 用新创建的PAD来创建一个Linear Pattern, 跨度是24mm, 并出现三次.
    到现在,我们现在有三个实心的管,再让我们做出最后的洞
  • 选择刚才创立三个管子中的第一个,创建一个新的sktch
  • 导入圆形面的边界,创建一个半径约束3.6mm的圆,并添加一个对圆心点对点之间的约束,这样我们现在有一个完美的完全约束的中心圈
  • 离开编辑模式,并用Pocket工具从这个sketch创建一个深度为12.6mm的洞
  • 同样地,还是创建一个跨度24mm,出现三次的Linear Pattern。

恭喜,乐高块的制作现在已经完成了,喜欢的话,像下图一样还可以在property view的view标签页里给它一个漂亮的颜色来宣告下自己的胜利:)

后续扩展
关于FreeCAD的一些常见建模的概念及方式的主题,点击此处获取更多信息,敬请关注.

声明:文章属个人原创,个博地址见:
http://tech.limuqiao.com/archives/18.html

友情关注:2021年底即将推出我们墨飞鱼团队历时大半年研发的灵感写作平台,在墨飞鱼这里希望能帮助更多人找到阅读与写作的乐趣, 敬请收藏了解,12月底见哦~

3d打印利器FreeCAD入门教程之二----乐高积木块建模操作篇相关推荐

  1. 3d打印利器FreeCAD入门教程之三----3d文字雕刻篇

    文章目录 本节内容 利用ShapString工具雕刻文字的过程 创建基本形状 使用'Draft'工作台的'Shape String'工具来插入文本 创建3D效果的文本 插入定位用的sketch图形 在 ...

  2. 这可能是最好的RxJava 2.x 入门教程(二)

    这可能是最好的 RxJava 2.x 入门教程系列专栏 文章链接: 这可能是最好的 RxJava 2.x 入门教程(完结版)[推荐直接看这个] 这可能是最好的RxJava 2.x 入门教程(一) 这可 ...

  3. QR code 二维码基础入门教程(二)

    QR code 二维码基础入门教程(二) 承接上文,让我们继续下面的步骤 纠错码编码 先说说纠错容量 纠错码可以纠正两种错误: 拒读错误(错误码位置已知),是一个没有扫到或者无法译码的符号字符,需要一 ...

  4. 【Ardunio】开发入门教程【二】数据类型

    Ardunio数据类型 boolean 布尔 char 字符 byte 字节 int 整数 unsigned int 无符号整数 long 长整数 unsigned long 无符号长整数 float ...

  5. Node.js 官网入门教程(二) npm(安装、包版本、卸载、npx)、package.json(scripts、devDependencies)package-lock.json(语义版本规则符号

    Node.js 官网入门教程(二) npm(包管理.安装.包版本.卸载.npx).package.json(scripts.devDependencies).package-lock.json(语义版 ...

  6. ARDUINO入门教程(二)基本传感器的使用

    ARDUINO入门教程(二)基本传感器的使用 温湿度(HTU21DF).土壤湿度(Capacitive).大气压强(GY-68 BMP180).光传感器以及RFID的读取 几种传感器 基本传感器的使用 ...

  7. 宏宇社:国外lead入门教程(二)如何寻找任务联盟申请账号

    宏宇社:国外lead入门教程(二)如何寻找任务联盟申请账号 宏宇社:如何寻找任务联盟申请账号 国外的广告联盟是非常多的,你只需要在Google上用任务关键词+affiliate搜索,会有很多结果. 比 ...

  8. PIC单片机入门教程(二)—— 安装集成开发环境(MPLAB X IDE)

    PIC单片机入门教程(二)-- 安装集成开发环境(MPLAB X IDE) 教程中使用的电脑运行Windows 10 专业版 64位系统 1.下载 MPLAB X IDE v4.05 历史版本:htt ...

  9. 宏宇社:国外lead入门教程(五)如何开始操作lead任务

    宏宇社:国外lead入门教程(五)如何开始操作lead任务 前面给大家介绍了操作国外lead项目的准备工作. 那么现在可以着手准备操作所选任务了. 这里我们分两种类型来讲解 一.需要刷流量的任务 这是 ...

最新文章

  1. 字符串BF和KMP匹配算法
  2. 企业部署Windows 8 Store 风格应用
  3. 过滤选择器——子元素过滤选择器
  4. Python函数式编程简介(三)匿名函数
  5. 通过子网掩码留一个ip_教大家如何判断俩个IP是不是在同一个网段?什么是子网掩码?...
  6. 应用服务器Glassfish任意文件读取漏洞
  7. 随想录(cmake编译)
  8. Linux Bootloader_转载
  9. shiny动态仪表盘应用 | 中国世界自然文化遗产可视化案例
  10. mount 开机自动挂载
  11. perl 语言(数组)
  12. lisp类似常青藤菜单_在autocad里面,我编写了很多lisp命令,我想新增一个菜单工具栏(如:文件(F),编辑(E),视图(V)......),然...
  13. Android基础入门教程——7.6.3 基于TCP协议的Socket通信(2)
  14. 第23个520情人节,女程序猿送男朋友什么?
  15. Unity技术手册 - 形状(Shape)子模块 - Cone椎体和Box盒及Mesh、MeshRenderer、SkinnedMeshRenderer
  16. HDU 5025 Saving Tang Monk 【状态压缩BFS】
  17. C 语言判断某年是否为闰年该月有多少天
  18. 【getchar】在C语言中getchar的使用方法和读取规则
  19. 解决data too long for column 'name' at row2
  20. 基于rancheros离线安装Habor以及Rancher

热门文章

  1. Django框架学习记录(3)
  2. vue-cli中出现这个错误[WDS] Disconnected!解决!!!
  3. 谷歌浏览器(chrome)在线翻译 解决方式
  4. RegSVR32 找不到指定模块问题解决
  5. Android Studio 安装AVD (处理器为AMD)图文详解
  6. RE管理器4.41、车来了app 去除广告
  7. 中职计算机教师考核工作总结,中职计算机教师教学工作总结
  8. python能制作ppt动画效果吗_那些超酷的视频效果,真的是用PPT动画做的吗?
  9. 2023你冲不冲,冲冲冲冲~~
  10. 计算机的网络凭据,win10凭据密码是什么,网络凭据账户和密码是多少