CAD表示
CAD表示沿革
二维绘图
在机械设计中,选择 2D 绘图包时需要寻找一些特定选项。他们应该提供: 一个完整的几何实体库;支持贝塞尔曲线、样条曲线和多段线;定义影线图案、在复杂边界内执行影线、执行关联影线并提供完整的尺寸标注能力。
3D 线框/曲面建模
随着廉价实体建模器的引入,3D 线框和曲面建模开始失宠。这部分是由于在尝试将模型合并到分析或制造软件中时,线框和曲面模型所带来的转换困难。大多数先进的建模器利用曲面创建自由曲面(同时在 3 个方向上弯曲的曲面),特别是对于工业设计。
3D 构造实体几何 (CSG) 实体建模
能够进行实体建模的程序比简单的线框建模器强大得多。这些程序用于构建实际上是实体对象的零件,而不仅仅是零件的线框轮廓。由于这些部分表示为固体,因此它们具有体积,并且如果给定密度,它们也可以具有重量和质量。计算机可以计算出这些零件的许多物理特性,例如重心和转动惯量。这些计算甚至可以用于不规则形状的零件,因为手动计算非常困难。有限元分析技术也可用于对这些零件进行应力分析。
构造实体几何 (CSG) 使用实体基元(矩形棱柱、球体、圆柱体、圆锥体等)和布尔运算(并集、减法、相交)来创建实体模型。这种建模的主要缺点是缺乏编辑或重新调整尺寸的能力。如果设计发生变化,在大多数情况下,模型将不得不重新构建。
3D 边界表示 (Brep) 实体建模
Brep 方法从一个或多个线框轮廓开始,并通过拉伸、扫描、旋转或蒙皮这些轮廓创建实体模型。布尔运算也可用于轮廓本身以及从这些轮廓生成的实体。也可以通过缝合操作组合通常具有复杂形状的表面来创建实体。这可以用于,例如,用精心设计的机翼轮廓来制造飞机等空气动力学车辆的车身。这两种方法通常可以结合使用,以创建所需的零件。这些方法中的每一种都有其局限性,仅使用一种方法或另一种方法很难创建的零件可以使用两种方法的组合更容易地创建。
3D 混合实体建模
CSG 和 Brep 实体建模方法通常可以结合使用,以创建所需的零件。这些方法中的每一种都有其局限性,仅使用一种方法或另一种方法很难创建的零件可以使用两种方法的组合更容易地创建。
大多数商业实体建模系统都是使用 CSG 和 Brep 方法的混合体。
基于 3D 特征的实体建模
基于特征的建模正迅速成为世界各地机械工程师的首选建模方法。基于特征的建模器允许创建孔、圆角、倒角、凸台和凹槽等操作与特定的边和面相关联。当边或面因重新生成而移动时,特征操作会随之移动,保持原始关系。开发这些模型所做的选择非常重要。如果未正确引用特征,则在重新生成模型时,它们可能不会出现在正确的位置。
基于 3D 特征的参数化实体建模
在参数化模型中,每个实体(例如布尔图元、线框中的直线或圆弧或圆角操作)都具有与其关联的参数。这些参数控制实体的各种几何属性,例如矩形棱柱的长度、宽度和高度,或圆角的半径。它们还控制模型中这些实体的位置。
可以根据需要更改这些参数以创建所需的零件。参数建模者使用基于历史的方法来记录模型的构建方式。当操作员更改模型中的参数并重新生成零件时,程序使用新参数重复历史中的操作以创建新实体。
一些参数建模器还允许将约束方程添加到模型中。这些可用于构建参数之间的关系。如果几个参数总是需要相同的值,或者某个参数依赖于其他几个参数的值,这是确保这些关系始终正确的最佳方法。
这些建模器也允许其他关联实体的方法。例如,实体可以位于曲线的原点、直线或圆弧的末端、顶点或直线和面的中点。它们也可以位于距离这些点较远的地方或向量的末端。当模型被重新生成时,这些关系被保持。一些系统还将允许实体之间的几何约束。
参数化建模最有效地处理仅发生尺寸变化而不是粗略几何变化(例如移除特征)的设计。
基于 3D 特征的动态实体建模
动态建模使用灵活的模型创建和细化概念,让设计人员能够快速捕捉想法和详细模型,而无需关注模型的基本历史。基本上,它允许创建不受完全尺寸约束的特征。
参考:
- 对于CAD表示的综述:https://web.archive.org/web/20121118110426/http://www.engineershandbook.com/Software/cad2.htm#3dp
- 关于实体建模的维基百科词条:https://en.wikipedia.org/wiki/Solid_modeling
- AutoCAD中处理三维模型的命令:https://knowledge.autodesk.com/zh-hans/support/autocad/learn-explore/caas/CloudHelp/cloudhelp/2019/CHS/AutoCAD-Core/files/GUID-6548456A-28BD-40CB-89BA-F19F5800C0ED-htm.html
- 一些杂文:
- 三维几何内核简介:https://zhuanlan.zhihu.com/p/413735139
- 传统参数化建模和Direct Modeling的区别与联系:https://www.engineering.com/story/whats-the-difference-between-parametric-and-direct-modeling
CAD软件
软件名 | 公司 | 简介 | 支持导入 | 支持导出 |
---|---|---|---|---|
AutoCAD | Autodesk | 最普遍的CAD软件。AutoCAD 的原始文件格式是.dwg。这以及在较小程度上,其交换文件格式DXF已经成为CAD事实上的(如果是专有的)标准,特别是对于 2D 绘图交换。 | DXF、DWG、DWS、DWT、WMF、SAT、3DS、FBX、DGN | 3DS(需要3dsout)、DXF、DWG、PDF、DWF、FBX、BMP、DGN |
SolidWorks | 达索公司收购 | 世界上第一个基于Windows开发的三维CAD系统,领先的、主流的三维CAD解决方案,设计过程比较简便。 | DXF, DWG, DXF, Parasolid, IGES, STEP, ACIS (SAT), STL, ProE, Creo, Solid Edge, Siemens NX, Autodesk Inventor, Adobe Photoshop, Adobe Illustrator, Rhino (3dm), IDF (emn, brd, bdf, idb, idx), VDA, WRL, Meshfiles (stl,obj,off,ply,ply2), 3MF, CGR, catpart/catproduct, Rhino (3dm), JT, sldxml, IFC | DXF, DWG, Parasolid, IGES, STEP, ACIS (SAT), STL, u3d, VRML, 3dxml, Catia, PDF, IFC |
Onshape | SolidWorks 前CEO创立,现被PTC收购 | 它广泛使用云计算,在基于Internet的服务器上执行计算密集型处理和渲染,用户可以通过Web 浏览器或iOS和Android应用程序与系统进行交互。 | DWG、DXF、Parasolid网格(.xmm_txt 或 .xmm_bin)、ACIS (.sat)、STEP (.stpor .step)、IGES(.igs 或 .iges)、CATIA、SolidWorks (.sldprt)、Inventor、Pro/E , JT (.jt), Rhino (.3dm), STL (.stl), OBJ (.obj), NXSolid Edge (.par and .psm) | DWG、DXF、DWT、SVG、PNG、JPEG、Parasolid网格(.xmm_txt 或 .xmm_bin)、ACIS(.sat)、STEP(.stpor .step)、IGES(.igs 或 .iges)、SolidWorks(.sldprt) , JT (.jt), Rhino (.3dm), STL (.stl), OBJ (.obj), GlTF (.gltf), COLLADA , PDF , PVZ (.pvz) |
FreeCAD | FreeCAD 是免费和开源的,在LGPL-2.0 或更高版本许可下,可用于linux、windows和mac操作系统。用户可以使用Python为软件扩展功能。 | IFC, IGES, STEP, BRep, OBJ, DXF, SVG, U3D | IFC, IGES, STEP, BRep,OBJ, DXF, SVG, U3D | |
OpenSCAD | 免费开源,它是一个仅基于脚本的建模器,使用自己的描述语言;零件可以预览,但不能在 3D 视图中通过鼠标进行交互修改。OpenSCAD 脚本指定几何图元(如球体、长方体、圆柱体等),即构造立体几何(CSG) | DXF, STL, OFF | PNG, DXF, STL, OFF, AMF, 3MF, SVG, CSG, PDF |
文件扩展名补充
1、AutoCAD
AutoCAD 的原始文件格式由.dwg
、.dwt
、.dws
或.dxf
文件扩展名表示。
使用 AutoCAD 创建的 2D 和 3D 工程图文件的主要文件格式是.dwg
. 虽然其他第三方CAD软件应用程序可以创建.dwg
文件,但 AutoCAD 可以独特地创建 RealDWG 文件。
使用 AutoCAD,任何.dwg
文件都可以保存为衍生格式。这些衍生格式包括:
- 绘图模板文件
.dwt
:.dwg
从文件创建新的.dwt
。尽管默认模板文件acad.dwt
适用于 AutoCAD 和acadlt.dwt
AutoCAD LT,.dwt
但可以创建自定义文件以包含基本配置,例如图形单位和图层。 - 绘图标准文件
.dws
:使用 AutoCAD 的 CAD 标准功能,绘图标准文件可以与任何.dwg
文件相关联.dwt
以强制执行图形标准。 - 绘图交换格式
.dxf
:该.dxf
格式是.dwg
文件的 ASCII 表示,用于在各种应用程序之间传输数据。
2、SolidWorks
SolidWorks 文件(2015 之前的版本)使用 Microsoft结构化存储文件格式。这意味着在每个 SLDDRW
(工程图文件)、SLDPRT
(零件文件)、SLDASM
(装配文件)文件中嵌入了各种文件,包括预览位图和元数据子文件。可以使用各种第三方工具(请参阅COM 结构化存储)来提取这些子文件,尽管子文件在许多情况下使用专有的二进制文件格式。
SolidWorks 允许以 *.step
格式保存 3D 模型信息,这样模型就可以在其他供应商的其他平台上显示和修改。
参考:
- 对于常用CAD软件的整理 https://en.wikipedia.org/wiki/Comparison_of_computer-aided_design_software
- CAD简介 https://en.wikipedia.org/wiki/Computer-aided_design#cite_note-10
- 各个CAD软件的维基百科词条
- FreeCAD的github网站 https://github.com/FreeCAD/FreeCAD
- OpenSCAD的github网站 https://github.com/openscad/openscad
CAD导出格式
DXF与DWG
DWG格式以及它的ASCII格式变体DXF,已经成为CAD制图数据交换中的事实文件标准。
(查到的说法是,DWG支持2D或3D格式,但是在SolidWorks和Onshape上面试了试,这两个平台上的DWG只能导出2D图)
可以直接打开DWG格式的软件:
- AutoCAD
- SolidWorks
- Onshape
DXF格式结构:
ASCII versions of DXF can be read with any text editor. The basic organization of a DXF file is as follows:
HEADER
sectionGeneral information about the drawing. Each parameter has a variable name and an associated value.
CLASSES
sectionHolds the information for application-defined classes whose instances appear in the
BLOCKS
,ENTITIES
, andOBJECTS
sections of the database. Generally does not provide sufficient information to allow interoperability with other programs.
TABLES
sectionThis section contains definitions of named items.
BLOCKS
sectionThis section contains Block Definition entities describing the entities comprising each Block in the drawing.
ENTITIES
sectionThis section contains the drawing entities, including any Block References.
OBJECTS
sectionContains the data that apply to nongraphical objects, used by AutoLISP, and ObjectARX applications.
THUMBNAILIMAGE
sectionContains the preview image for the DXF file.
END OF FILE
STEP
STEP-File是一种广泛使用的CAD数据交换形式,表示 3D 对象。由于其ASCII结构,STEP 文件易于阅读,通常每行一个实例。STEP 文件的格式在 ISO 10303-21 Clear Text Encoding of the Exchange Structure 定义。
STEP格式是通过EXPRESS语言来描述的,STEP文件可以直接以文本形式打开,所以查看比较方便。
可以直接打开STEP文件的软件:
- SolidWorks
- Onshape
- FreeCAD(前两个都试了试,这个没试过)
一个明显的优势:
一般CAD软件都支持STEP格式的自动识别,在识别的基础上可以二次编辑(有一定几率识别失败)
(试了一下,在Onshape上导出的文件,导入SolidWorks,可以正常打开,并且二次编辑)
STEP文件示例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(
/* description */ ('A minimal AP214 example with a single part'),
/* implementation_level */ '2;1');
FILE_NAME(
/* name */ 'demo',
/* time_stamp */ '2003-12-27T11:57:53',
/* author */ ('Lothar Klein'),
/* organization */ ('LKSoft'),
/* preprocessor_version */ ' ',
/* originating_system */ 'IDA-STEP',
/* authorization */ ' ');
FILE_SCHEMA (('AUTOMOTIVE_DESIGN { 1 0 10303 214 2 1 1}'));
ENDSEC;
DATA;
#10=ORGANIZATION('O0001','LKSoft','company');
#11=PRODUCT_DEFINITION_CONTEXT('part definition',#12,'manufacturing');
#12=APPLICATION_CONTEXT('mechanical design');
#13=APPLICATION_PROTOCOL_DEFINITION('','automotive_design',2003,#12);
#14=PRODUCT_DEFINITION('0',$,#15,#11);
#15=PRODUCT_DEFINITION_FORMATION('1',$,#16);
#16=PRODUCT('A0001','Test Part 1','',(#18));
#17=PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#16));
#18=PRODUCT_CONTEXT('',#12,'');
#19=APPLIED_ORGANIZATION_ASSIGNMENT(#10,#20,(#16));
#20=ORGANIZATION_ROLE('id owner');
ENDSEC;
END-ISO-10303-21;
STEP文件结构:
HEADER section
As seen in the above example, the file is split into two sections following the initial keyword ISO-10303-21:
The HEADER section has a fixed structure consisting of 3 to 6 groups in the given order. Except for the data fields time_stamp and FILE_SCHEMA all fields may contain empty strings.
- FILE_DESCRIPTION
- FILE_NAME
- FILE_SCHEMA. Specifies one or several Express schema governing the information in the data section(s). For first edition files, only one EXPRESS schema together with an optional ASN.1 object identifier of the schema version can be listed here. Second edition files may specify several EXPRESS schema.
The last three header groups are only valid in second edition files.
- FILE_POPULATION, indicating a valid population (set of entity instances) which conforms to an EXPRESS schemas. This is done by collecting data from several data_sections and referenced instances from other data sections.
- SECTION_LANGUAGE allows assignment of a default language for either all or a specific data section. This is needed for those Express schemas that do not provide the capability to specify in which language string attributes of entities such as name and description are given.
- SECTION_CONTEXT provide the capability to specify additional context information for all or single data sections. This can be used e.g. for STEP-APs to indicate which conformance class is covered by a particular data section.
DATA section
The DATA section contains application data according to one specific express schema. The encoding of this data follows some simple principles.
- Instance name: Every entity instance in the exchange structure is given a unique name in the form “#1234”. The instance name must consist of a positive number (>0) and is typically smaller than $2^{63}$. The instance name is only valid locally within the STEP-file. If the same content is exported again from a system the instance names may be different for the same instances. The instance name is also used to reference other entity instances through attribute values or aggregate members. The referenced instance may be defined before or after the current instance.
- Instances of single entity data types are represented by writing the name of the entity in capital letters and then followed by the attribute values in the defined order within parentheses. See e.g. “#16=PRODUCT(…)” above.
- Instances of complex entity data types are represented in the STEP file by using either the internal mapping or the external mapping.
一些问题:(维基百科的说法)
- 使用STEP标准需要付费
- STEP对实体的描述略混乱
- 大多数 CAD 软件不支持完整的 STEP 条目集,因此仅限于 STEP 实体的特定子集
参考:
- dwg格式的维基百科词条: https://en.wikipedia.org/wiki/.dwg
- step-file格式介绍:https://en.wikipedia.org/wiki/ISO_10303-21
- autodesk对step格式的支持:https://knowledge.autodesk.com/support/moldflow-insight/learn-explore/caas/CloudHelp/cloudhelp/2018/ENU/MoldflowInsight/files/GUID-B9213E2B-8AB1-4DA6-9718-AD14558FCDD6-htm.html
- 一些杂文
- 知乎文章:浅谈国产三维建模软件中性文件: https://zhuanlan.zhihu.com/p/426166343
- 一篇文章了解STEP格式 http://www.360doc.com/content/22/0322/10/79007735_1022656929.shtml