FreeCAD傻瓜教程之创建参数化几何图形-螺旋体、平面、球体、椭球体、圆柱体、圆锥体、棱柱、椭圆

本文介绍了如何在FreeCAD中使用Part和PartDesign工作台,通过参数化方法绘制螺旋体、弹簧和螺丝杆,以及如何调整圆柱、圆锥和圆管等基本几何图形。
摘要由CSDN通过智能技术生成

目的:学会用FreeCAD绘制参数化的几何图形。

一、使用的工作台和工具

1.1选择Part 工作台

1.2单击创建图元...工具

也就是上图黄色工具区域的倒数第2个

1.3 打开几何图元 下方的下拉列表

二、绘制螺旋体、弹簧、螺丝杆

2.1 选择几何图元列表中的 “螺旋体”

设置 节距、高度、半径、坐标系等数值

2.2使用扫掠功能对弹簧线材进行填充

2.2.1  切换到 “Part Design”工作台

2.2.2 新建实体,绘制草图,选择XZ平面

2.2.3 绘制你想要的弹簧线材的截面图型

一般选择圆形,也可是多边形,长方形等。不管是那种图形,其几何中心点最好是和螺旋体端点重合。 例如,我们的螺旋体的半径是5mm,则圆形的坐标应当是 (x=5,y=0);也就是说,我们在2.1绘制的螺旋体本身的中心点是圆心,线材的起始端点在(x=5,y=0)。

图示中的螺旋体半径是10mm,绘制的弹簧截面是圆形,直径3mm

2.2.4 进行扫掠操作

选择刚绘制的草图 “Sketch”,点击扫掠操作图标 ,出现对话框,

2.2.5 参数解释

 轮廓,就是我们绘制的圆形;扫描路径,就是确定按照什么样的路径来进行填充。

这里先点对象,然后按着 Ctrl,同时 单击右侧绘图区的螺旋线,等到扫描路径-对象中显示 螺旋体。 注意,下方的 “截面方向”中,方向模式选择 Frenet。然后点最上方的 ok, 确认。

可以参考官方教程:螺丝螺纹绘制教程

2.3螺丝杆的画法,也可以称作攻丝

2.3.1计算螺旋体的半径

例如,¢5-0.8 的螺丝,意思是螺纹加螺纹底下的螺杆,直径是5mm,螺纹深度0.8mm,所以所需螺旋体的半径是 R=5/2-0.8  也就是1.7mm,螺纹齿截面应当是高为0.8的等腰三角形,三角形的底边高度是螺旋体的节距。

下图为官方教程中的图示: 螺旋体的节距=3 mm,高度=23 mm,半径=10 mm

.

如图所示,螺纹齿的三角形的高度设定为了2.9,稍稍小于节距,这是为了避免在旋转中产生交错重合。

2.3.2 加入圆柱体

绘制一个圆柱体,要刚好适合螺旋体的半径,还可以加帽,加尖头等。

三、圆柱、圆锥、圆管等的绘制和调整

在 “Part”工作台中,创建圆柱,圆锥等图形,相当于在 XZ绘图平面绘制了相应尺寸的二维图形,分别对应: 长方形(一条边在Z轴上)、三角形/梯形、离轴矩形。然后用这些相关的二维图形,围绕Z轴进行旋转,形成了最终的图形。

要调整这些图形的朝向,例如,将竖直的圆柱体放倒为横向,则可以采用坐标球,进行可视化调整、旋转,或者利用旋转参数进行调整。

3.1 可视化图形坐标变换

选中要变换的形状,在编辑区右键,选择 “变换”,进入变换操作模式。

 

如下图所示,拖动不同颜色的原点,进行“放倒”等操作

3.2 修改参数进行调整

双击左侧要调整的形状,出现参数修改对话框,主要是调整“位置”区域的“旋转轴”。

例如下图中的圆柱体,是围绕Y轴,进行了270度的顺时针旋转;如果是90度,则方向会相反。要围绕哪个轴进行旋转,则需要先将该轴的数值变更为1,意味着选中该轴。 

看一下设置为45° 的样子

Module developer’s guide to FreeCAD source code by Qingfeng Xia http://www.iesensor.com • 2015-09-18 version 0.1 for FreeCAD version 0.16-dev • 2016-09-18 version 0.2 for FreeCAD version 0.17-dev License of this book This ebook is licensed the same as FreeCAD document license CC-BY 3.0 http://creativecommons.org/licenses/by/3.0/Contents 1 FreeCAD overview and architecture 7 1.1 Introduction to FreeCAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.2 Key features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.3 Software architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.3.1 Key software libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.3.2 Mixed python and c++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.3.3 GPL code will not be included into installer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.4 How 3D model are renderred . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.4.1 Selection of 3D visualization libarary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.4.2 Discussion of 3D rendering library selection on FreeCAD Forum . . . . . . . . . . . . . . . . . . . . . 8 1.5 Roadmap of FreeCAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.5.1 Keep updated with main components: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.5.2 C++11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.5.3 Pyside 2 project for Qt 5.x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2 Organisation of FreeCAD source code 11 2.1 Build system for FreeCAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.1.1 Analysis of src/cMake/SMesh.cMake . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.2 List of files and folders in FreeCAD source folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.3 List of modules in FreeCAD Mod folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.4 Learning path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.5 Learning OpenInventor/Coin3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.5.1 OpenInventor in FreeCAD’s ViewProvider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.5.2 Important classes in OpenInventor/Coin3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.5.3 Window System integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.5.4 Pivy: Coin3D ’s Python wrapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3 Base, App and Main module 19 3.1 List of header files in Base folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.1.1 Frequently included headers files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.1.2 Correct way of using Sequencer in try-catch block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.1.3 String enconding utf8 and conversion into wchar_t QString . . . . . . . . . . . . . . . . . . . . . . . . 22 3.2 Type, BaseClass, PyObjectBase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.2.1 Type system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.2.2 src/Base/BaseClass.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.2.3 src/Base/PyObjectBase.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.2.4 src/Base/Persistence.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.2.5 GeoFeature: Base class of all geometric document objects . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.3 Unit scheme for physial quantity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.3.1 src/Base/Unit.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.3.2 src/Base/Quantity.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.4 List of header files in App folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.5 Property framewrok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.5.1 Naming of property and PropertyEditor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.5.2 src/App/PropertyStandard.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 3.5.3 PropertyEnumeration, see src/App/Enumeration.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 3.5.4 Geometry related property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 3.5.5 File related property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值