FreeCAD Whiffle Ball教程

介绍

本教程将教您如何使用零件模块。你会练习:

  • 插入基元
  • 改变基元的值
  • 使用展示位置
  • 做布尔运算


提示:如果您选择了错误或者只是想快速取消选择所有内容,
只需在3D视图中的空白处单击(导航样式OpenInventor:CTRL-Click)。

最终模型

教程WhiffleBall.jpg

设置基本形状

  1. 切换到零件模块
  2. 单击文件 → 新建创建新文档
  3. 单击插入框 Part Box.png
  4. 确保在树状视图中选中了框(“立方体”)
  5. 将框的尺寸(请参阅数据选项卡)更改为
    1. 长度= 90毫米
    2. 宽度= 90毫米
    3. 高度= 90毫米
  6. 单击数据选项卡中placement-row的值字段,以便...显示在右侧
  7. 单击...以更改框的位置
    1. X:-45毫米
    2. Y:-45毫米
    3. 从:-45毫米
  8. 单击“ 确定”关闭对话框
  9. 单击插入框(“cube001”) Part Box.png
  10. 确保在树状视图中选中了框(“cube001”)
  11. 将框的尺寸(“cube001”)(请参阅数据选项卡)更改为
    1. 长度= 80毫米
    2. 宽度= 80毫米
    3. 高度= 80毫米
  12. 将框的位置(“cube001”)更改为
    1. X:-40毫米
    2. Y:-40毫米
    3. 从:-40毫米
  13. 点击Part Cylinder.png插入圆柱体(“圆柱体”)
  14. 确保在树状视图中选择了圆柱体(“圆柱体”)
  15. 更换圆柱半径为27.5 mm,更改高度为120 mm
  16. 更改“柱面”的放置值
    1. X:0毫米
    2. Y:0毫米
    3. 从:-60 mm
  17. 点击Part Cylinder.png插入圆柱体(“cylinder001”)
  18. 将“cylinder001”的半径更改为27.5 mm,将高度更改为120 mm
  19. 从顶部菜单中选择“编辑”>“复制选择”以获取另一个柱面(“cylinder002”)
  20. 确保在树状视图中选择“cylinder001”
  21. 将“cylinder001”的放置值更改为
    1. Y:60毫米
    2. 旋转轴与角度
    3. 轴:X
    4. 角度:90°
  22. 单击“ 确定”以应用值并关闭对话框
  23. 确保在树状视图中选择“cylinder002”
  24. 将“cylinder001”的放置值更改为
    1. X:-60毫米
    2. 旋转轴与角度
    3. 轴:而且
    4. 角度:90°
  25. 单击“ 确定”以应用值并关闭对话框
  26. 单击查看-axometric.png以更改为轴测视图
  27. 单击查看变焦all.png可缩放以适合所有人
  28. 选择“cube001”,“cylinder”,“cylinder001”和“cylinder002”并通过单击将它们融合 部分Fuse.png
  29. 选择“立方体”和“融合”,但请确保首先选择“立方体”
  30. 单击应用布尔切割 Part Cut.png
  31. 完成的基本形状应如下所示:

教程WhiffleBall BasicShape.jpg

切角1

  1. 单击插入框(“cube002”) Part Box.png
  2. 将框的尺寸(“cube002”)(请参阅数据选项卡)更改为
    1. 长度= 140毫米
    2. 宽度= 112毫米
    3. 高度= 112毫米
  3. 将框的位置(“cube002”)更改为
    1. X:-70毫米
    2. Y:-56毫米
    3. 从:-56 mm
  4. 单击插入框(“cube003”) Part Box.png
  5. 将框的尺寸(“cube003”)(请参阅数据选项卡)更改为
    1. 长度= 180毫米
    2. 宽度= 180毫米
    3. 高度= 180毫米
  6. 将框的位置(“cube003”)更改为
    1. X:-90毫米
    2. Y:-90毫米
    3. 从:-90毫米
  7. 确保在树状视图中选择“cube002”,否则选择它
  8. 从顶部菜单中选择“编辑”>“复制选择”以获取另一个框(“cube004”)
  9. 确保在树状视图中选择“cube003”,否则选择它
  10. 从顶部菜单中选择“编辑”>“复制选择”以获取另一个框(“cube005”)
  11. 选择“cube003”和“cube002”,但请确保首先选择“cube003”
  12. 激活菜单以更改展示位置
  13. 勾选选项“对对象放置应用增量更改”,请注意所有值都已重置...
  14. 选择“旋转:X轴”和“角度:45°”,然后单击“ 应用”
  15. 选择“旋转:Z轴”和“角度:45°”,然后单击“ 应用”
  16. 单击“ 确定”关闭对话框
  17. 通过单击应用布尔切割Part Cut.png,生成的对象将命名为“cut001”

切角2

  1. 选择“cube005”和“cube004”,但请确保首先选择“cube005”
  2. 激活菜单以更改展示位置
  3. 勾选选项“对对象放置应用增量更改”,请注意所有值都已重置...
  4. 选择“旋转:X轴”和“角度:45°”,然后单击“ 应用”
  5. 选择“旋转:Z轴”和“角度:-45°”,然后单击“ 应用”
  6. 单击“ 确定”关闭对话框
  7. 通过单击应用布尔切割Part Cut.png,生成的对象将命名为“cut002”
  8. 单击查看-axometric.png以更改为轴测视图
  9. 单击查看变焦all.png可缩放以适合所有人

如果一切顺利,您的模型应如下所示:

教程WhiffleBall UnfinishedShape.jpg

完成模型

  1. 选择“cut”和“cut001”,但请确保首先选择“cut”
  2. 通过单击应用布尔切割Part Cut.png,生成的对象将命名为“cut003”
  3. 选择“cut003”和“cut002”,但请确保首先选择“cut003”
  4. 通过单击应用布尔切割Part Cut.png,生成的对象将命名为“cut004”
  5. 单击查看-axometric.png以更改为轴测视图
  6. 单击查看变焦all.png可缩放以适合所有人
  7. 别忘了保存文件......

恭喜!您刚刚成功完成了本教程!

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、付费专栏及课程。

余额充值