0 前言
Revit作为主流的BIM建模软件,因其强大的建筑、结构建模功能,Revit被广泛用于土木工程领域。作为一款商业软件,高昂的软件版权费让许多中小企业望而却步。本文将介绍一款免费开源建模软件——FreeCAD,用户可以使用Python编程语言扩展其功能。FreeCAD采用“工作台”(Workbench)模式,使用FreeCAD内的功能前,必须选择对应的工作台(工作台是完成某一特定功能的命令集合)
文章将利用FreeCAD Arch工作台,介绍如何完成结构程序建模。(FreeCAD Arch工作台主要用于建筑结构建模)
1 Arch工作台Structure tools
Arch工作台Structure tools命令提供了工程项目常见的构件(按截面分类:矩形、工字形、箱型等),通过输入指定的参数即可完成建模。以工字钢建模为例:
1.在Catagory内,可以选择构件类型“HEA”
2. 在Preset内,选择构件的尺寸
3. 输入插入点坐标或者在屏幕点击插入点位置
需要注意:在Length、Width、Height内输入的尺寸数值并不起作用,最终以Preset的尺寸为准。如果需要创建指定大小的构件,可以先创建一个构件(尺寸随意),点选“构件截面”,在data属性面板修改对应参数即可。
3 python console
在FreeCAD的每一步操作,python console会显示对应的代码。通过python console代码,可以为程序编写提供思路。下面是刚刚创建工字钢的代码。
4 外部IDE——pycharm
FreeCAD可以在外部IDE运行,这里以pycharm为例。具体设置见http://zsj.itdos.net/docs/freecad/freecad-002-001
外部运行FreeCAD有两种模式:运行App+Gui、只运行App。App模型是运行所必须的,Gui模式是非必需的(因为Gui只是负责构件的外观,对构件的几何没有实质影响;运行Gui会耗费更长的时间)。在pycharm中,运行App、Gui需要分别倒入FreeCAD、FreeCADGui 库。除了这两个库外,还需导入相应“工作台”的库;库名一般就是“工作台”的名称。
以下是利用Arch库创建工字钢的代码。运行代码后,打开FreeCAD软件并加载文件,即可看见创建的工字钢。可以看到下面的代码与python console显示的代码有差异。一般地,可以借鉴python console代码改写代码;原因有两方面:
- 改写可以精简代码
- 在外部IDE,完全采用python console代码可能会报错(主要原因:手动启动软件可能加载了某些文件,但在IDE内可能并没有加载)
import FreeCAD as App
import FreeCADGui as Gui
import Arch
def linkFreeCAD():
# 使用Gui模型;可以显示FreeCAD界面
Gui.showMainWindow()
Gui.setupWithoutGUI()
# 新建FreeCAD文件
App.newDocument('new')
#连接FreeCAD
linkFreeCAD()
#工字钢两端坐标
point1 = [0,0,0]
point2 = [50,50,0]
#两点距离
length = App.Vector(*point1).distanceToPoint(App.Vector(*point2))
###截面
section = Arch.makeProfile([217, 'HEB', 'HEM160', 'H', 5,10, 1, 2])
#隐藏截面
section.Visibility = False
#杆件
steel = Arch.makeStructure(section,length=length)
#摆放位置(由两点确定摆放位置)
steel.Placement = Arch.placeAlongEdge(App.Vector(*point1), App.Vector(*point2),False)
#更新文件
App.ActiveDocument.recompute()
#文件保存路径
App.ActiveDocument.saveAs("D:\\Desktop\\FreeCAD CSDN\\工字钢.FCStd")
以上内容是本人学习总结,如有错误,敬请谅解!