1 综述

目前全参数化三维建模的方式基本相同,Catia、SolidWorks、blender里的精确建模插件CAD Sketcher、FreeCAD,用二维草图约束(几何约束和尺寸约束)+参数化 形成参数化尺寸驱动的三维模型,FreeCAD将输入参数的表格纳入了软件内。这种方式不需要代码就能生产出参数化模型。

总的思路是:因为电脑上作图始终是在一个二维平面上工作,所以先要确定这个工作平面,最基本的平面是系统默认的xy平面、xz平面、yz平面。FC可以直接在已有三维模型上选中任意一个面,点击 草图 工具条,那么草图工作就是在刚选中的面上了(可以再对草图进行x y z方向的 偏移和旋转)。如果没有合适的面,可以基于已有的元素(基础坐标面、体的表面、线……)创建基准面,再修改这个基准面(旋转和偏移),点这个基准面,进入草图。草图里可以参考(关联)三维模型的边线(创建关联的边),也可以绘制辅助线来定位。

2 软件

我已经下载放在网盘,这里下载快。里面还有几个宏和工作台提供下载。目前官方最新版是V0.21.2,link版本是20240407stable版,本文用于土木工程建模均以link版为推荐工具,注意,不同版本建立的模型彼此之间不兼容。
最新体验版下载看这里
它来自这里:
https://github.com/realthunder/FreeCAD
https://github.com/realthunder/FreeCAD/releases
解压到D盘,免安装,运行里面的RunFreeCAD.bat,它将自动打开freecad。

其他工作平台(插件)直接去git里选择一个插件,点进去,点code里的download zip下载,解压到Mod文件夹下即可。

有时候git上不去,用FastGithub——github加速神器github-release

官方版本不支持创建独立的体,体必须是彼此相连的;link版阵列比较丰富和便捷。两者不兼容,建模要注意。
软件打开后可以升级一下工作平台。详见7.1节

2.1 认识界面和鼠标、快捷键操作

  1. 工作台选择器;
  2. 主视图区域,主要用于呈现3D或2D的内容;
  3. 导航风格,对主视图区域中3D内容的操作方式(选取、平移、缩放、旋转等);
  4. 树视图,显示文档中对象的层次结构和构造历史;也就是步骤,并非是针对一个实体对象,请注意
  5. 属性编辑器,允许查看和修改所选对象的属性;

Mouse navigation(导航风格)
导航风格指对主视图区域中3D内容的操作方式(选取、平移、缩放、旋转等)。FreeCAD中提供了多套操作方式,比如Blender、CAD、Maya等软件风格的操作方式,推荐使用——CAD风格的
鼠标中间滚轮按下是移动,滚轮+右键是翻转。
空格键是显示和关闭:上文4 树视图(步骤)所产生的结果的显示和隐藏。

操作 图示 说明
选择 在对象上点击即可选择,按住 Ctrl 可多选
平移画布 按住鼠标中键并拖动
缩放 使用鼠标滚轮进行画布缩放
旋转视图 先按住中键,再按住左键或者右键进行拖动

【SHIFT + 方向左/右键】可以让模型翻转 90 度;
按住【CTRL】键之后,就可以通过鼠标选择多个目标;
【V + O】进入正交投影模式、【V + P】进入透视模式;
【CTRL + 减号】缩小模型,【CTRL + SHIFT + 加号】放大模型;
按下数字键【1】查看前面、【2】查看顶部、【3】查看右侧、【4】查看背部、【5】查看底部、【6】查看左侧;

s是草图中对称约束……D是草图中约束标注
m键是草图中绘制多段线的时候,切换为圆弧(重要!)

2.2基本设置,保证最佳的显示效果

  • 菜单:编辑——首选项

  • 界面中文设置:常规——语言——更改语言——简体中文

  • 报告浏览器(report view)窗口乱码解决方法:首选项——python——编辑器——显示项目——文本——字体族

  • Edit——Perferences——General——Editor——Display items——Text——Family,选择“Arial”就可以啦。

  • 精度设置:常规——小数位数——小数位数,改为3位,角度的话,3位还不够

  • 背景色(默认即可):显示——颜色——背景颜色——勾选 渐变颜色——颜色设置 html #33365

  • 显示效果:显示——三维视图——抗锯齿——改为反锯齿 8x;

  • 零件设计(part design)——shape appearance——line width——改为0

  • 显示的圆弧不够圆滑,设置:Edit → Preferences → Part design → Shape view / Tessellation. Default maximum deviation is set to 0.5000%, you can try 0.1000%. Beware, this will make creation of some shapes like spheres and torii longer.
    设置为0.1%就足够了。

  • 让体具有质感:鼠标点 body——右键——外观——材料选 金。

  • 设置缓存:常规——缓存——缓存大小——选择2G以上……

3 入门资料

青鱼老师的用户学习指南
【官方教程操作步骤】https://wiki.freecad.org/Tutorials/zh-cn
里面有渲染、有限元、配筋等操作步骤。
http://uinio.com/Design/FreeCAD/

3.1 书籍

https://bookdown.org/johnqu1982/FFI/
sketcher.pdf文档链接,讲草图的,这是最基本的,注意下载查阅

3.2 参数化建模视频

https://www.bilibili.com/video/av63736983
https://www.bilibili.com/video/BV1ja411M7gH 这是我第一次发现freecad的地方,所以纪念一下。

3.3 装配并动画

A2plus和Assembly4区别:

  1. 前者简单易学,后者稍微复杂。前者直接用线、面约束,后者基于零件的局部坐标系(LCS)。
  2. 前者通过零件间的几何约束来装配,后者先建立运动骨架然后在骨架上绑定零件。前者自下而上,后者自顶而下。
    【FreeCAD A2plus gripper assembly demo】 https://www.bilibili.com/video/BV15v4y1h7Cy/?share_source=copy_web
    【FreeCAD Assembly4 教程 2】https://blog.libcore.org/?p=360
    【Freecad assembly 4 装配教程】 https://www.bilibili.com/video/BV11F411K7gj
    【Freecad assembly 4 装配控制台教程】https://www.bilibili.com/video/BV1kt4y1577r
    7.1节有介绍A4的组装阵列方法。
    用A2plus组装
    https://www.bilibili.com/video/av78425587
    https://www.bilibili.com/video/BV1Yy4y1B77r
    总结:目前看来应该用A4工作台,有阵列功能,有variantlink功能可以将零件表格都放到组装文件中来。见第4节。

3.4 工程图

【FreeCAD Drawing平台,2D图纸,工程图运用技法】https://www.bilibili.com/read/cv6171099
https://www.bilibili.com/video/BV1e44y1U7Ns
https://wiki.freecad.org/Basic_TechDraw_Tutorial
在techdraw工作平台,用工具条上的 导出dxf工具条,不能用 文件——导出dxf
1)工程图确定方向的技巧
引自“3.2 从参数化建模到工程图 引注1
8.2 进入模型标签页,调整为 一个正确的 主要视图,怎样知道要在三维中保持哪个视图呢?比如下面这个钢管带行车道,需要行车道位于钢管下方,则这个三维视图里,对应的front的时候,行车道在下方。 那么就点击右上角front这个视图,保证三维视图处于完全front下。到了page里,这个状态的视图就是一个主要的视图,然后page里根据这个主要的视图,再进行左视图、顶视图、轴测图等显示。
我们的图纸尺度都很大,动辄上千毫米,所以自定义比例里要调整后面的数字在50/100这样的大数字才合适。

尺寸标注后,双击尺寸,进行尺寸字符大小的修改

4 特别的关注点

草图和约束——创建关联的边——辅助线——创建基准面(暂且称它为工作平面)
我认为对于熟练使用autoCAD的人首先了解了FC的套路后,重点草图约束、然后是3块:创建关联的边、辅助线和创建基准面。用edge浏览器里的bing搜索“freecad 约束”即可获得较多资料,了解以上3个部分,建模的思路才会有(类似用图形逻辑代替编码)。看文档比看视频效率高,可以查找,可以迅速定位到自己关心的部位。

4.1 草图(重点)

https://zhuanlan.zhihu.com/p/477480348
https://zhuanlan.zhihu.com/p/470040662
https://wiki.freecad.org/Sketcher_Workbench/zh-cn
上面的wiki里有sketcher.pdf文档链接,注意下载查阅。

4.2 创建关联的边(重点)

注意下拉按钮里第一个图标和第二个图标区别,我暂且称这个为从三维模型上借一条线
第一个按钮是参考的边线作为辅助线,不能直接当做实线使用,可以用于定位
下拉里第二个图标参考的边是实线,可以直接用于凸台等操作(不是辅助线)。注意二者参考得到的线颜色的区别。

这个图标的右边那个图标是从另一个草图复制元素,顾名思义,只能从草图中复制元素。

4.3 切换辅助线(重点)

点击按钮后,所绘制的线是辅助线(绘图按钮由红色变成蓝色)。如果先选中线,再点击这个按钮,可以改变线的属性为辅助线或几何体。

4.4 创建基准面(重点)

——我称之为工作平面,可以进行角度变换和位移

FreeCAD实战案例T02零件建模了解基准平面————非常重要
【9:20】https://www.bilibili.com/video/BV1wK411o7yw
【6:40】https://www.bilibili.com/video/BV1uv4y1d7sC
步骤:先选择线的一端创建基准点,再选择另外一端,得到线的中点。选中刚创建的基准点,创建基准面,再点一个面,相切。然后可以旋转这基准面了……前面创建这个 基准点的目的 是为了这个基准面旋转有中心。
提示:如果基准平面太大,盖住了模型,导致无法利用三维模型创建关联的边,可以在草图中旋转到工作面下方,点击选中。也可进入草图后,回到 模型 标签页,将这个基准面关闭(选中按空格键),或将基准平面尺寸修改得非常小(点击基准面,在属性里修改,必须先将Resize model 设置为manual,然后才可以修改基准平面尺寸)。
如何避免创建基准面?答案是,我们在某个坐标面(如xy面、yz面、xz面)或物体某个表面创建草图,创建完成后回到模型,对草图属性中的attachment offset的位置进行偏移和旋转,这样就避免创建基准面也达到目的了。

4.5 查看体剖面、体内

方法1,复杂剖面见下文4.8,https://www.bilibili.com/video/BV1Vu4y1B7JW
方法2,用透明+关闭(选中,按空格键)一些部件;通过不同的part和不同的body来绘制不同部分,实现分body关闭显示。
方法3,可以切换到BIM工作台里进行剖切展示。https://zsj.itdos.net/docs/freecad/freecad-012
方法4,修剪平面
操作:菜单——视图——修剪平面——勾选x平面剖切

4.6 分割体

VO清鱼:拆分工具组合工具
【10:35】https://www.bilibili.com/video/BV1oE411g7bq
在part工作台里,先 沿剖切轮廓创建多段线图元——拉伸成一个面,再 同时选中body和这个面,点 slice apart,将体分割成2块——可空格独立显示你需要的

https://www.bilibili.com/video/av67164105

4.7 展开图

用于以平面图的方式展开网格对象,注意需要有开放口的零件才能被创建(来自清鱼的学习指南2.0)
网格工作台mesh workbench——Unwrap Face

5 终极目标——参数化模型服务(验收)注意事项(重要)

我们模型的验收标准:【freecad参数化模型验收标准之一】
我们设计的参数化模型最终是要上传服务器,让服务器解析参数表(或程序),提供参数化服务接口,用户通过调用接口修改参数达到修改模型目的,再下载模型。所以一些基本的规定是必须的,否则无法解析模型,特别是参数表一定要符合格式要求。

  1. 文件名命名规则,要反映建模的软件,有官方版,有link版,有ondsel版,软件不用带版本号。要带版本号,要反映专业,见23节。
  2. 推荐:先建立单体(零件),再用A4工作台组装。例如水闸,先分别建立边孔和中间孔单体模型,然后到组装模型里对多个中间孔采用阵列的方式……
    单体模型里:
  • 一是要用part下多个body来区分材质(颜色)和参数表;
  • 二是要在part下插入variable link方便将零件中的参数表统一连接到组装文件中去;
  • 三是要在参数表中使用configuration table功能,建立多组参数,通过下拉菜单进行参数切换。见3.1.1节
    组装模型
  • 一是要用A4工作台,可进行阵列……;
  • 二是将零件中的参数表格通过4.2节variable link方式链接到组装文件中来,方便统一修改参数表,也方便服务器解析;
  • 三是要用configuration table功能在表格中设置下拉菜单进行多组参数的切换。见4.1节4.2节
  1. 参数表格配置要符合解析要求,结束标志要用*号,见2.2节(适用单组参数)和3.1.1节的configuration table(适用多组参数),为了方便多组参数切换,需要使用configuration table功能,为了使用configuration table,参数表要用横排方式。希望有一天它支持竖排表格。
  2. 制作工程图,切剖面并标注尺寸。
  3. 准备好一段文字说明:介绍模型,模型应用情况,注意事项,比如参数之间的限制情况,例如钢管内径不能超过外径……
  4. 完整的一个参数化模型产品拥有以上基本特性。
  5. 可以上传一段程序(python或FC宏文件)作为参数化文件,服务端当做参数化模型来处理,参数用txt文件一同上传,参数的格式也要固定。——探索中。

6 参数化零件装配后尺寸驱动技术路线

  1. 首先是创建表格(下文表格指freecad中的表格),草图创建几何,添加定位约束和尺寸约束,尺寸约束里选择表格中的数值链接。使用configuration table功能,拟定多组参数,方便切换。例如第一组参数是工程A的,第二组参数是工程B的,第三组参数是自定义的……
  2. 新建part,然后在part下新建不同的body,在body里进行建模,彼此body里的几何体可以作为定位互相参考。不同body可以拥有独立的颜色(材质),同一个body里不支持多种颜色。不同的body还可以分别关闭显示,方便操作和展示,同一个body不方便显示局部。插入variable link。
  3. 对几何进行拉伸等三维操作,并进行尺寸约束,并将尺寸关联到参数表中,注意设置好configuration table后,对应到首行。
    请参考3.3节高级参数化★★
  4. 完成零件参数化建模。
  5. 进入A4或A3或A2plus装配工作台
  6. 导入前面创建的零件,对多个零件进行装配约束,插入variable link,引入零件的参数表;同时,建立自己的装配参数表,例如阵列数量和间距……。见7.2节
  7. 在装配图中,一方面可以修改零件的参数表,一方面可以修改装配参数表,比如定位尺寸参数,阵列的数量,角度等参数。
  8. 制作工程图
    参数化的技巧:
  9. 先走通模型和约束,最后再来将尺寸改为参数化链接;最开始尺寸尽量接近实际尺寸,如果相差太大,比如开始随意绘制的时候尺寸是10mm,实际尺寸是50m,在后面的修改尺寸参数链接的时候,会不方便。
  10. 常见错误,比如引用的面没有了——重新选择attachment,也可能草图中的参考关联的线没有了,重新定义;出现多余的线条,导致面不闭合——删除一些线;过渡约束——删除多度的约束部分。鼠标移到出问题的步骤上,有提示,根据提示有时候可以自动修复,有时候可以检查,有时候点进去进行修改。见1.1节。
  11. 可将窗口平铺,以便方便查看表格中的命名。一遍看表格一遍填写参数化链接,如下图。

7 问题

  1. 对于装配体,需要到每个零件中去修改参数,挺麻烦,能否在一个地方修改呢?——见4.2节
    或者不用装配,只使用一个模型。
  2. 如何生成材料表(工程量表)
    用bing搜索freecad BOM
  3. 如何设置颜色或材料——鼠标右键点击body或pad等步骤——外观,为了配置不同的颜色,要用不同的body分开来建模。

    同一个体内,更改一部分表面的颜色:鼠标右键点击pad等任一步骤——颜色,按住ctrl键,鼠标点选一些面,设置颜色
    但是做一个操作后,这个单独设置的颜色会消失。所以要用不同的body来区分颜色。

  4. 大的step文件打不开,1.64G,试用VariCAD Viewer中
  5. 图框问题:工程图导出dxf到cad中套图框
    在techdraw工作平台,用工具条上的 导出dxf工具条,不能用 文件——导出dxf
  6. 体上刻字——一定要选择一个对应的字体文件才行https://www.cnblogs.com/DragonStart/p/12302149.html
  7. 楼梯和旋转楼梯
    arch工作平台里,本文17.4节有旋转楼梯代码
  8. part和body的区别是什么
    https://forum.freecad.org/viewtopic.php?t=16730
    感觉part是高于body的,上一级的分组。一个part里可以有多个body。一个工程里可以直接有多个body,也可以有多个part,每个part下面再多个body。
    那么,为什么要分多个body呢?我觉得主要用于关闭和显示不同部位,方便查看;以及不同body设置不同的颜色(材质),方便区分,比如一二三期砼要用不同body来建立。
    同一个body里,操作是顺序下来,自动布尔运行的。如果不同body,不会自动布尔运行。需要同时选中,再做布尔运算。
    但是有个问题,下一个body如果要关联上一个body,则采用了很笨的办法,自动将上一个body整个导入进来第二个body中来,不知道是否增加文件大小和复杂度?大小影响不大,说明不是整个引入,只是引入了链接。
    而一些功能只有part才支持的,例如variable link功能。
  9. 如何查看实体剖面?
    见上文4.7
    在link版软件中,沿剖切轮廓线画一个大的草图,做减料的凹坑即可。官方版不支持超出三维模型范围的凹坑。
    效果:

    做法:

    其他方法比如:
    设置透明+关闭相应的部件;用bim工作台里的切剖面方法。视图——修剪平面比较难操作,只能在0坐标附近,而且只能是固定的X Y Z三个方向。
  10. 如何实现局部详图?基准面遮挡影响关联边问题?
  11. 卡顿

    12.倒角失败:倒角不能大于等于边长,不能完全倒角,解决办法,倒角长度=边长-0.001

    FreeCAD常见问题及有效解决方法:https://www.bilibili.com/video/BV1eZ4y1N7hc
    FreeCAD建模百练系列:参照(关联)的用法(草图工作台)https://www.bilibili.com/video/BV1Da4y1s7TQ
    下载加速网站(备用)
    https://doget.nocsdn.com/#/

    参数化建模文字
    https://zhuanlan.zhihu.com/p/591028708
    将例子里的尺寸约束关联草图中的表格单元格数字,即可形成参数化模型。

    ### 5.2 用assembly2.0组装
    https://www.bilibili.com/video/BV11b411w755

    快速入门:
    FreeCAD 0.1.8 入门学习笔记(00)下载,选语言
    https://www.cnblogs.com/DragonStart/category/1645738.html
    FreeCAD 0.1.8 入门学习笔记(01)创建工程,并绘制第一个part
    FreeCAD 0.1.8 入门学习笔记(02)基于已有的Part,进行加减部件
    FreeCAD 0.1.8 入门学习笔记(03)在Part上添加文本

8 注意事项

  1. 每个草图只拉伸一次,下次拉伸需要另外建立草图。
  2. 一个草图中相同的图元比如圆,尽量不要重复去绘制,在拉伸成实体后再做镜像和阵列……
  3. 一次草图里只做一个封闭的草绘。link版支持多个封闭区域做拉伸或凹坑。
  4. 其他原则,见下文wiki和书籍,比如约束的优先级,从几何约束到尺寸约束到定位约束……
    需要知道两件重要的事情:
    重新计算并不总是自动的。繁重的操作可能会修改文档的大部分内容,因此需要一些时间,不会自动执行。这里的做法是,对象(以及依赖于它的所有对象)将被打上标记,准备重新计算(树视图中的对象会出现一个小的蓝色图标)。然后,您必须按下重新计算按钮(或 Edit -> Refresh )以重新计算所有标记的对象。
    依赖关系树必须始终单方向流动,禁止循环。(参见 DAG 。)A 对象依赖于 B 对象,B 依赖于 C 对象。但是不能是 A 依赖于 B,B 又依赖于 A。这会是循环依赖。但是,您可以拥有许多依赖于同一对象的对象,例如,对象 B 和 C 都依赖于 A。
    菜单 Tools -> Dependency graph 显示了类似上图中的依赖关系图。检查问题时它可能会很有用。
    并非所有 FreeCAD 中的对象都是参数化的。通常,从其他文件导入的几何体不包含任何参数,它是简单的非参数化的对象。但是,这些通常可以用作新创建的参数化对象的基础或起点,当然,这取决于参数化对象的需要和导入的几何体的质量。
    但是,所有对象,无论是否参数化,都有一些基本的参数。例如 Name,在文档中是唯一的,无法编辑;例如 Label,是用户定义名称,可以编辑;例如 placement,描述了对象在3D空间中的位置。
    最后,有一点值得提醒:很容易在 python 中编程自定义参数化对象。

8.1 最佳做法

https://wiki.freecad.org/Sketcher_Workbench/zh-cn
每个CAD用户随着时间的推移发展自己的工作方式,但跟随一些有用的一般原则。

  1. 一系列简单的草图比单个复杂的草图更容易管理。例如,可以为基础3D特征(衬垫或旋转)创建第一个草图,而第二个可以包含孔或切口(凹坑)。一些细节可以省略,稍后将作为3D功能实现。如果太多,你可以选择避免草图中的圆角,并将其添加为3D功能。——这段话的意思是草图里先画一个板,先不要画开孔,等拉伸板后,再做一次开孔的草图和减料凹坑?
  2. 始终创建一个封闭的配置文件,或者你的草图不会产生实体,而是一组开放的面。如果你不希望将某些对象包含在实体创建中,请使用“构造模式”工具将其转换为构造元素。————这句是翻译的,不好理解,我理解就是始终创造一个封闭的面域。
  3. 使用自动约束特性来限制你必须手动添加的约束数量。————意思是自动约束经常会导致过约束,需要删除一些,再手动约束至全约束,是这个意思吧
  4. 作为一般规则,首先应用几何约束,然后应用尺寸约束,并最后锁定草图。但请记住:规则被破坏。如果你在操作草图时遇到问题,在完成配置文件之前先限制几个对象可能很有用。
  5. 如果可能,将草图中心定位到具有锁定约束的原点(0,0)。如果你的草图不对称,请将其中一个点定位到原点,或者为锁定距离选择好的圆角参数。在v0.12中,外部约束(将草图约束到现有3D几何像边缘或其他草图)未实现。这意味着要将以下草图定位到你的第一个草图中,你需要手动设置相对于你的第一个草图的距离。一个基于原点的(25,75)的锁定约束比(23.47,73.02)更容易记住。
  6. 如果你有可能在距离约束和水平或垂直距离约束之间进行选择,则选择后者。水平和垂直比距离约束在计算上更节约资源。
  7. 一般来说,最好使用的约束(顺序)是:水平和垂直约束;水平和垂直长度约束;点对点相切(重点约束?)。如果可能,限制使用这些:一般长度约束;边缘到边缘相切;固定点到线约束;对称约束(对称约束不好吗?)
    https://bookdown.org/johnqu1982/FFI/features.html

8.2 关于 body 的实践经验

  1. 保证 body 越简单越好。记住,它是单一连续实体。————这里强调连续性,所以我们土建项目会存在不连续的,不符合它默认规则,所以在官方软件中,不支持这种不连续的实体存在,需要另外新建body。我们用link分支那个软件允许不连续的实体。
  2. 应该到最后才做圆角和倒角。
  3. 如果特征具有对称性,考虑只建模它的一半,然后做镜像。
  4. 对同样的特征,用线性阵列或圆形阵列复制它,避免重复做同样的事情。————特征指的是二维草图约束,约束草图叫特征建模方式。意思是,不要在草图中绘制相同的图形,要在三维模型里阵列,而不是在二维草图里阵列。
  5. 用多个简单的小动作搭建出复杂的实体,而不要用复杂的动作来减少步骤。————简单的动作指的是什么动作?比如板上开孔,不要一次性将板和孔都画好,要先画好板,拉伸后再画孔的草图,再做开孔(减料的凹坑操作)。

8.3 关于 sketcher 的实践经验

  1. 让 sketch 保持简单。太多的约束会带来糟糕的表现。你要把一个复杂的 sketch 拆分成一系列简单的特性。
  2. 努力做到完全约束 sketch。——参数化里,这个是必须做到全约束的。
  3. 总是给外周特征绘制封闭的轮廓。否则,你的 sketch 无法拉伸出实体的凸台。————这个意思是只有封闭面域才能凸台操作,并且不能有多余的线存在,否则无法进行三维操作。当然,这里讲的都是part design的草图,在其他工作台中,线可以拉伸为面。
  4. 从计算角度讲,不是所有的约束都性能相等,有些约束占用更多的处理器资源。如果你可以在长度约束和水平/竖直距离约束之间做选择,后者更好。————这个讲约束所花费的资源,也就是优先级问题。有多种办法的时候,要选择资源最少的方式。水平和垂直约束是优先考虑使用的。
  5. 采用构造元素。添加几何元素总比添加约束容易。只作构造用的几何元素在添加时,就可以借助 Construction Mode 工具改变其存在状态。构造元素并不包含在最终的实体中。————这个讲利用辅助线的意思,利用辅助线达到减少约束的目的。
  6. 一般来讲,先添加几何约束,然后是尺寸约束,最后再定位 sketch。————几何约束指相等、垂直……;尺寸约束指水平长度、垂直长度、点到线的距离等标注约束;定位约束指点固定在线上、对称
  7. 如果可以的话,用定位约束把 sketch 的中心放在坐标原点。如果你的 sketch 不具有对称性,把它的一个角点固定在原点。或者选择具有圆整尺寸值的点来做定位(意思是一些距离尺寸到原点最好是整数值)。
  8. 最好用这些约束:水平、竖直、点与点相接。尽量少用用这些约束:长度、边与边相切、点固定在线上、对称。
  9. 可以在 sketch 里做圆角,但是这会增加复杂性。如果圆角并不少,那就不要这么做,稍后再把它们加在 body 上。————这个讲尽量在体里面做倒角,有时候做不了倒角,就用减料来做可能更好!!

9 参数表达式(重要)Expressions

在参数化过程中,输入的参数链接,所支持的公式(表达式)有加减乘除指数,三角函数,对数,指数,幂,绝对值,取整,最大最小值min、max,甚至条件表达式等
注意:FC中atan()等返回的是角度,不是弧度,excel的ATAN()返回的是弧度。
https://wiki.freecad.org/Expressions

单位 描述
e Euler’s number
pi Pi
+ Addition
- Subtraction
* Multiplication
/ Floating point Division
% Remainder
^ Exponentiation
acos(x) Arc cosine -1 <= x <= 1
asin(x) Arc sine -1 <= x <= 1
atan(x) Arc tangent, return value in the range -90° < value < 90° all
atan2(y; x) Arc tangent of y/x accounting for quadrant, return value in the range -180° < value <= 180° all, the invalid input x = y = 0 returns 0
cos(x) Cosine all
cosh(x) Hyperbolic cosine all
sin(x) Sine all
sinh(x) Hyperbolic sine all
tan(x) Tangent all, except x = n*90 with n = odd integer
tanh(x) Hyperbolic tangent all
hypot(x; y) Pythagorean addition (hypotenuse), e.g. hypot(4; 3) = 5 x and y >= 0
cath(x; y) Given hypotenuse, and one side, returns other side of triangle, e.g. cath(5; 3) = 4 x >= y >= 0
exp(x) Exponential function all
log(x) Natural logarithm x > 0
log10(x) Common logarithm x > 0
pow(x; y) Exponentiation all
sqrt(x) Square root x >= 0
cbrt(x) introduced in version 0.21 Cubic root all
abs(x) Absolute value all
ceil(x) Ceiling function, smallest integer value greater than or equal to x all
floor(x) Floor function, largest integer value less than or equal to x all
mod(x; y) Remainder after dividing x by y, sign of result is that of the dividend. all, except y = 0
round(x) Rounding to the nearest integer all
trunc(x) Truncation to the nearest integer in the direction of zero all
average(a; b; c; …) Average value of the arguments, same as sum(a; b; c; …) / count(a; b; c; …) all
count(a; b; c; …) Count of the arguments, typically used for cell ranges all
max(a; b; c; …) Maximum value of the arguments all
min(a; b; c; …) Minimum value of the arguments all
stddev(a; b; c; …) Standard deviation of the values of the arguments all
sum(a; b; c; …) Sum of the values of the arguments, typically used for cell ranges all
== equal to
!= not equal to
> greater than
< less than
>= greater than or equal to
<= less than or equal to

10 blender

适合做渲染
请看bilibili上最好的教学视频:https://www.bilibili.com/video/BV14u41147YH
blend教学只需要看第3篇:材质 部分即可,因为新手对于blender这种bsdf的节点法材质处理方式很陌生,看一眼就会了。
blender里有尺寸约束建模方式(插件)但不大适合做土木工程
https://www.bilibili.com/video/BV1DA4y1Z7g9

11 草图验证、零件检查几何形状

https://wiki.freecad.org/Sketcher_ValidateSketch
https://wiki.freecad.org/Part_CheckGeometry

12 其他

12.1 渲染

最好的方式还是在FC里建模,导入blender里渲染,请看bilibili上最好的教学视频:https://www.bilibili.com/video/BV14u41147YH
blend教学只需要看第3篇:材质 部分即可,因为新手对于blender这种bsdf的节点法材质处理方式很陌生,看一眼就会了。

不推荐在FC中做深入渲染
【使用FreeCAD对模型渲染输出】 https://www.bilibili.com/video/BV1o54y1i7sj
【在FreeCAD中进行渲染】https://blog.csdn.net/Naisu_kun/article/details/123824048

12.2 创建局部坐标系

https://www.bilibili.com/video/BV1hy4y1x7N3
主要是为装配用的。
3D设计软件FreeCAD入门5 一个稍微复杂点的模型:新建一个基准面(datum plane)——工作平面 技巧(part design工作台)https://view.inews.qq.com/k/20220311A00U3X00

12.3 所有工作台

一目了然https://wiki.freecad.org/Manual:All_workbenches_at_a_glance/zh-cn

12.4 材料表

FreeCAD BOM(Bill Of Material)
A2A3A4中都带有这个功能https://wiki.freecad.org/Arch_Rebar_BOM

12.5 钢筋图

https://wiki.freecad.org/Reinforcement_Workbench

作者:秦晓川  创建时间:2023-02-26 12:47
最后编辑:秦晓川  更新时间:2024-05-13 14:21
上一篇:
下一篇: