版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
建设工程BIM数据交换标准2026年2月总则为规范和支撑建筑工程全生命期中基于建筑信息模型的数据表达与数据交换,统一数据格式,提升数据应用效率和各参与方协同工作水平,制定本标准。本标准适用于建筑工程全生命期各个阶段建筑信息模型的数据交换。建筑信息模型的数据交换,除符合本标准外,还应符合国家现行有关标准的规定。安徽省建立的建筑信息模型应采用本标准规定的数据结构和数据格式进行文件导出、提交、存储与交换。
术语和缩略语术语数据格式dataformat描述数据保存在文件或记录中的规则。数据交换dataexchange建筑信息模型数据在建筑工程建造全过程不同应用软件、系统、平台之间的数据信息传递的过程。数据交换的格式以本标准规定的数据格式作为依据。数据模式dataschema建筑信息模型数据的结构、属性、联系和约束的描述。资源层resourcelayer是信息模型的数据描述基础,是无整体结构的分散信息。核心层corelayer是工程信息的整体框架描述,是将资源层信息组织起来,反应现实工程的数据结构。领域层domainlayer是各个工程领域特有的领域数据描述。类型type由基本元素、枚举或实体选择派生的基本信息构成。实体entity根据通用属性和约束定义的信息类,指现实世界中客观存在的并可以相互区分的对象或事物,是某类事物的集合。实例instance实体类的具体表示,在面向对象编程语言中与类实例相似。对象object可以感知的物体,或者可以想象出明显存在的非物质性的东西。对象类型objecttype多个对象实例共享的公共特性。元素element可以用形状表示、材料表示和其他属性描述的有形实体及有具体特征的无形实体的统称。构件component又称构件元素。工程主体中独立或与其他部分结合,满足工程主体至少一项主要功能的部分。枚举enumeration是一种结构类型,该类型中的特性值可以是按名称标识的多个预定义值中的一个。属性property事物固有或获得的特征。属性集propertyset一个或多个属性的集合。GFC格式一种基于EXPRESS语言描述的通用基础数据格式,采用全公开明文,并提供SDK和标准API接口方便进行二次开发。GFC文件基于GFC格式形成的,用于表达BIM模型的后缀为gfc的文件。ADB文件基于GFC文件形成的,用于表达安徽省施工图阶段BIM审查模型及相关数据的文件。缩略语ADB安徽BIM数据格式AnhuiDatabaseFileID标识IdentificationGUID全局唯一ID码GloballyUniqueIdentifierSTEP产品数据存储与交换格式标准StandardfortheExchangeofProductDataNURBS非均匀有理B样条Non-UniformRationalB-SplinesXML可拓展标记语言XtensibleMarkupLanguageJSONJavaScript对象简谱JavaScriptObjectNotationGFC全局基础数据标准GlobalFoundationClassGFCSDKGFC软件开发工具包GFCSoftwareDevelopmentKit
基本规定建筑信息模型的数据交换,应采用本标准规定的数据文件作为传递载体,通过统一的数据模式与数据规则约束数据内容,保障各参与方数据交互的有效性。建筑信息模型的数据模式架构应由领域层、核心层和资源层3个概念层组成,如图3.0.2所示,各概念层对象的数据定义应符合下列规定:建筑结构建筑结构暖通给水排水电气对象属性关系截面基本类型形体施工管理几何拓扑渲染数据资源层流水段……核心层……领域层被重复引用的基础数据,应在资源层进行定义和描述;数据的核心框架和核心扩展对象,应在核心层进行定义和描述;工程领域所特有的数据对象,应在领域层进行定义和描述。建筑信息模型数据模式的各概念层应符合下列规定:资源层应包含全部独立的资源模式,不应设GUID,且不可独立于其它层的定义独立使用;核心层应定义最通用的实体,每个实体应拥有GUID、所有者和历史继承消息;领域层应定义专业领域特有的产品、过程或资源实体,实现专业之间的数据交换和共享。数据模式各概念层间的引用应遵循重力原则,每个层应引用同层和下层资源,不应引用上层资源。建筑信息模型数据的扩展可采用实体扩展、属性集扩展的方法,并应符合下列规定:扩展具有特殊几何形体的实体时,宜采用实体扩展方法;当既有实体对象的特征描述不足时,宜采用属性集扩展方法。建筑信息模型数据可进行继承和扩展,并应符合下列规定:工程领域的专有对象,应在领域层扩展;核心层和资源层数据应根据数据交换的需求扩展。数据模式的定义采用EXPRESS语言表达,并应符合现行国家标准《工业自动化系统与集成产品数据表达与交换第11部分:描述方法:EXPRESS语言参考手册》GB/T16656.11的有关规定。建筑信息模型按GFC格式表达时,应根据本标准规定的数据模式架构和定义,按照《工业自动化系统与集成产品数据表达与交换第21部分:实现方法交换文件的结构和纯正文编码》GB/T16656.21表达为GFC文件。GFC文件的结构应采用STEP标准中的规定,由文件头和文件体构成。GFC文件的使用应基于GFCSDK进行,编译器应支持C++11及以上标准。建筑信息模型的数据交换应基于GFC文件实现,如图3.0.11。GFC文件GFC文件建筑设计软件结构设计软件机电设计软件审查软件算量软件施工深化软件招投标系统映射Gfc对象/属性/关系写GFCSDK合规性验证/浏览/签章读GFCSDKCIM及其他软件其他设计软件数据交换映射Gfc对象/属性/关系图3.0.11基于GFC文件的数据交换路线GFC文件应支持建筑信息模型在工程项目全阶段的数据交换。GFC文件以及关联的数据文件的生产、交换、存储应满足数据安全要求。
数据模式定义一般规定建筑信息模型的数据模式定义所描述的建筑对象应覆盖建筑工程生命期的各个阶段。数据命名应符合以下规定:所有的类型、实体、规则和函数的名称均应以“Gfc”为前缀,并采用大驼峰式命名法;实体内的属性名应采用大驼峰式命名法,不带Gfc前缀;枚举项的命名应采用分段式命名法,英文字母应大写,英语单词间用下划线分隔。数据模式定义的内容包括实体定义、属性定义及继承关系。实体的定义可根据具体场景需求,按照本标准的规定进行扩展。属性定义包括属性名称、中文解释、数据类型和必填项标识。继承关系以GfcRoot作为抽象根类,继承并向下组织资源层、核心层或领域层的实体、属性集,以及核心层的预定义属性集和关系。GfcRoot继承关系应符合表4.1.6的规定。表4.1.6GfcRoot继承关系GfcRoot
├GfcGeometry
├GfcInternalChart
├GfcInternalPt
├GfcNurbsCtrlPt2d
├GfcNurbsCtrlPt3d
├GfcPlaneCoef
├GfcPlaneInfo
├GfcRepresentation
├GfcRepresentationItem
├GfcColor
├GfcIndexedColourMap
├GfcIndexedTextureMap
├GfcSurfaceTexture
├GfcRefString
├GfcAppearanceMaterial
├GfcTextureCoordList
├GfcElementShape
├GfcObject
├GfcProperty
├GfcPropertySet
├GfcRelationship
├GfcSection
├GfcShape
├GfcConnectionGeometry
├GfcBillDetail
├GfcBillTotal
├GfcQuotaDetail
├GfcQuotaTotal
├GfcSteelDetail
└GfcSteelTotal资源层数据模式资源层数据模式定义应符合章节4.1的有关规定,并应包含所有资源的定义,包括基本数据类型、枚举类型、几何类型、拓扑类型以及渲染数据类型。基本数据类型中包括整数、浮点数、布尔值、字符串以及其衍生类型,映射关系应按表4.2.2的规定采用。基本类型数据描述应符合本标准附录A.1的规定。表4.2.2基本数据类型序号基本数据类型中文解释1GfcInteger整数2GfcDouble浮点数3GfcBoolean布尔值4GfcString字符串5GfcText文本6GfcLabel标签7GfcElev标高表达式8GfcIdentity标识9GfcDateTime日期时间10GfcDate日期11GfcTime时间12GfcDateTimeYMD年月日13GfcFile参考文件枚举类型应按表4.2.3的规定采用。表4.2.3枚举类型列表序号枚举类型中文解释1GfcArcType弧类型2GfcBooleanOperator布尔运算器3GfcConnectionType连接类型4GfcFragTestFunc片段测试比较函数5GfcSceneBlendFactor场景混合因子6GfcSweepType扫掠类型弧类型(GfcArcType)的定义应按表4.2.3-1的规定采用。表4.2.3-1弧类型序号枚举名称中文解释1AT_LINE直线2AT_ACS逆时针小弧3AT_CS顺时针小弧4AT_ACL逆时针大弧5AT_CL顺时针大弧布尔运算器(GfcBooleanOperator)的定义应按表4.2.3-2的规定采用。表4.2.3-2布尔运算器序号枚举名称中文解释1BO_UNION构造两个几何实体并集的操作2BO_INTERSECTION构造两个几何实体交集的操作3BO_DIFFERENCE构造两个几何实体之间的差集的操作连接类型(GfcConnectionType)的定义应按表4.2.3-3的规定采用。表4.2.3-3连接类型序号枚举名称中文解释1CT_ATPATH沿连接构件路径的连接2CT_ATSTART与构件起点的连接3CT_ATEND与构件终点的连接4CT_NOTDEFINED未定义片段测试比较函数(GfcFragTestFunc)的定义应按表4.2.3-4的规定采用。表4.2.3-4片段测试比较函数序号枚举名称中文解释1FTF_NEVER从不通过2FTF_LESS当A小于B时通过3FTF_EQUAL当A等于B时通过4FTF_LEQUAL当A小于等于B时通过5FTF_GREATER当A大于B时通过6FTF_NOTEQUAL当不等于B时通过7FTF_GEQUAL当A大于等于B时通过8FTF_ALWAYS总是通过场景混合因子(GfcSceneBlendFactor)的定义应按表4.2.3-5的规定采用。表4.2.3-5场景混合因子序号枚举名称中文解释1SBF_DST_ALPHA目标颜色的Alpha值2SBF_DST_COLOR目标颜色的颜色值3SBF_ONE14SBF_ONE_MINUS_DST_COLOR1减去目标颜色的颜色值5SBF_ONE_MINUS_DST_ALPHA1减去目标颜色的Alpha值6SBF_ONE_MINUS_SRC_ALPHA1减去源颜色的Alpha值7SBF_ONE_MINUS_SRC_COLOR1减去源颜色的颜色值8SBF_SRC_ALPHA源颜色的Alpha值9SBF_SRC_ALPHA_SATURATE源颜色的Alpha饱和值(PBF_BYTE_RGB混合因子为min(As,1-Ad),Alpha混合因子为1)10SBF_SRC_COLOR源颜色的颜色值11SBF_ZERO012SBF_CONSTANT_COLOR固定的颜色值13SBF_ONE_MINUS_CONSTANT_COLOR1减去固定的颜色值14SBF_CONSTANT_ALPHA固定的Alpha值15SBF_ONE_MINUS_CONSTANT_ALPHA1减去固定的Alpha值续表4.2.3续表4.2.3-5表4.2.3-6扫掠类型序号枚举名称中文解释1ST_Perpendicular每一个位置截面始终垂直于轨迹线2ST_Upright指定竖直向上的方向(局部标架的Y轴)3ST_Facepoint扫掠面的法向始终保持不变几何类型包括点、区间、坐标系、包围盒、结合体、曲线、曲面、拓扑及矩阵等子类型。类型名称及继承层级应按表4.2.4的规定采用。几何类型数据描述应符合本标准附录A.2的规定。表4.2.4几何类型及继承层级继承层级→GfcGeometry
基本几何GfcVector2d二维向量GfcVector3d三维向量GfcIntervald区间GfcCoordinates3d三维坐标系GfcCoordinates2d二维坐标系GfcBox3d包围盒GfcBody
几何体GfcBrepBody边界表示体GfcPolyhedronBody多面体GfcPrimitiveBody基本体GfcCurve2d
二维曲线GfcLine2d二维直线段GfcArc2d二维圆弧GfcEllipse2d二维椭圆弧GfcNurbsCurve2d二维非均匀有理样条曲线GfcPreimageCurve2d曲面上参数曲线GfcSinCurve2d二维正弦曲线GfcSpiralLine2d二维螺旋线GfcOffsetCurve2d二维等距线GfcCurve3d
三维曲线GfcLine3d三维直线段GfcNurbsCurve3d三维非均匀有理样条曲线GfcIntersectionCurve3d曲面交线GfcSpiralLine3d三维螺旋线GfcSweepCurve3d扫掠曲线GfcImageCurve3d像曲线GfcPlaneCurve3d三维平面曲线GfcSurface
曲面GfcBevel坡面GfcCylinder柱面GfcHelicoid螺旋面GfcNurbsSurfaceNurbs曲面GfcPlane平面GfcSphere球面GfcSweep扫掠面GfcTorus圆环面GfcRuledSurface直纹曲面GfcTopology拓扑GfcMatrix矩阵拓扑类型名称及继承层级应按表4.2.5的规定采用。拓扑类型数据描述应符合本标准附录A.3的规定。表4.2.5拓扑类型及继承层级继承层级→GfcTopology
拓扑GfcPolygon多边形GfcSimplePolygon简单多边形GfcCommonPolygonEx扩展多边形GfcCommonPolygon通用多边形GfcEdgeBrep体中的边GfcPolyhedralFace多面体中的面GfcPolyhedralLoop多面体中环GfcPolyhedralEdge多面体中的边GfcCoedge共边GfcCoedgeListEx扩展共边列表GfcSimpleLoop简单多边形的环GfcSimpleVertex简单多边形的顶点GfcCoedgeList共边列表GfcSimpleLoop简单多边形的环GfcSimpleVertex简单多边形的顶点GfcCoedgeList共边列表模型通过映射与材质相关联,对模型、映射、材质、纹理的属性定义进行规定,实现材质的可视化显示。材质可视化框架如图4.2.6所示。模型模型映射材质Material纹理Texture图像Image图4.2.6材质可视化框架渲染数据类型名称及继承层级应按表4.2.7的规定采用。渲染数据类型描述应符合本标准附录A.4的规定。表4.2.7渲染数据类型序号数据类型中文解释1GfcRepresentation显示体2GfcRepresentationItem显示体项3GfcTriangulatedFaceSet三角面片集4GfcIndexedTextureMap材质纹理映射5GfcTextureCoordList纹理坐标列表6GfcColor颜色7GfcIndexedColourMap颜色映射8GfcAppearanceMaterial材质基类9GfcPHONGAppearanceMaterialPHONG材质10GfcPBRAppearanceMaterialPBR材质11GfcSurfaceTexture纹理核心层数据模式核心层数据模式定义应符合章节4.1的有关规定,应包含对象类型、属性类型、关系类型、截面类型和形体类型。对象类型名称及继承层级应按表4.3.2的规定采用。对象类型数据描述应符合本标准附录A.5的规定。表4.3.2对象类型及继承层级继承层级→GfcObject
对象GfcProject项目GfcSpatialStructureElement
空间结构实体GfcFloor楼层GfcBuilding建筑GfcSite场地GfcElement构件元素GfcElementType构件类型属性类型名称及继承层级应按表4.3.3的规定采用。属性的表达以属性集(GfcPropertySet)作为抽象根类,继承属性类型(GfcProperty)。属性类型数据描述应符合本标准附录A.6的规定。表4.3.3属性类型列表及继承层级继承层级→GfcProperty
属性类型GfcComplexProperty组合属性GfcSimpleProperty
单一属性GfcSingleProperty
单值属性GfcIntegerProperty整形属性GfcDoubleProperty浮点属性GfcBooleanProperty布尔属性GfcEntityProperty实体属性GfcStringProperty字符串属性GfcSectionProperty截面属性GfcGeoProperty几何属性GfcListProperty
列表属性GfcIntegerListProperty整形列表属性GfcDoubleListProperty浮点列表属性GfcBooleanListProperty布尔列表属性GfcEntityListProperty实体列表属性GfcStringListProperty字符串列表属性GfcSectionListProperty截面列表属性GfcGeoListProperty几何列表属性关系类型名称及继承层级应按表4.3.4-1的规定采用。连接几何类型名称及继承关系应按表4.3.4-2的规定采用。关系类型及连接几何数据描述应符合本标准附录A.7的规定。表4.3.4-1关系类型及继承层级继承层级→GfcRelationship
关系类型GfcRelDecomposes
组合关系GfcRelAggregates聚合关系GfcRelVoidsElement扣减关系GfcRelDefines
定义关系GfcRelDefinesByProperties属性定义关系GfcRelDefinesByType构件定义关系GfcRelConnects连接关系GfcRelCoversBldgElements关联装修关系GfcRelConnectsElements
连接元素关系GfcRelConnectsWithRealizingElements
连接元素实现GfcRelConnectsPathElements
连接元素路径表4.3.4-2连接几何类型及继承关系继承层级→GfcConnectionGeometry
连接几何GfcConnectionCurveGeometry连接曲线GfcConnectionPointGeometry连接点GfcConnectionSurfaceGeometry连接曲面GfcConnectionVolumeGeometry连接体截面类型名称及继承层级应按表4.3.5的规定采用。截面类型数据描述应符合本标准附录A.8的规定。表4.3.5截面类型及继承层级继承层级→GfcSection
截面GfcArbitrarySection异型截面GfcParameterizedSection
参数化截面GfcCircleSection圆形截面GfcCircleHollowSection圆环截面GfcEllipseSection椭圆截面GfcRectangleSection矩形截面GfcRectangleHollowSection矩形空心截面GfcLShapeSectionL型截面GfcTShapeSectionT型截面形体类型名称及继承层级应按表4.3.6的规定采用。形体类型数据描述应符合本标准附录A.9的规定。表4.3.6形体类型及继承层级继承层级→GfcShape形体GfcGeometryShape几何形体GfcParametricShape
参数化形体GfcSolidShape
实心形体GfcHalfSpaceSolidShape半空间体GfcPrimitiveShape
基本形体GfcBlockShape块体GfcSphereShape球体GfcConeShape椎体GfcCylinderShape圆柱体GfcCsgSolidShapeCSG体GfcManifoldSolidShape一般实体GfcSweptAreaSolidShape
扫掠体GfcExtrudedAreaSolidShape挤压体GfcExtrudedAreaSolidTaperedShape挤压椎体GfcRevolvedAreaSolidShape旋转体GfcRevolvedAreaSolidTaperedShape旋转椎体GfcSurfaceCurveSweptAreaSolidShape曲面扫掠体GfcCompositeCurve2dSweptSolidShape复合二维曲线扫掠体GfcCompositeCurve3dSweptSolidShape复合三维曲线扫掠体GfcBooleanResult
布尔运算实体GfcBinaryBooleanResult布尔运算二进制实体GfcUnaryBooleanResult布尔运算一元实体领域层数据模式领域层应的数据模式定义应符合章节4.1的有关规定,应包含工程领域中专业、阶段的构件分类及相关的构件属性。领域层工程设计的构件分类按建筑专业、结构专业、暖通专业、给水排水专业、电气专业、施工管理进行分类。领域层施工管理的对象分类应包含虚拟建造对象、设计资料对象、项目预算对象、质量要求对象。领域层工程量构件分类应包含工程量建筑专业构件、工程量结构专业构件、工程量机电专业公共构件、工程量给排水专业构件、工程量暖通专业构件、工程量电气专业构件、工程量施工专业构件。建筑信息模型分类和编码原则应符合《建筑信息模型分类和编码标准》GB/T51269的相关规定。
文件结构一般规定GFC文件应采用EXPRESS语言进行描述GFC文件的文件结构分成文件头(Header)和文件体(Data)两段。GFC文件的文件编码格式应为UTF-8格式。“、”、“回车”、“换行”、“\”四个字符在GFC文件中应分别采用“\’”、“\n”、“\r”、“\\”表达。本标准规定的数据格式后缀名应为“.gfc”。材质贴图文件独立于GFC文件,应将GFC文件和材质贴图文件压缩到一个文件中。文件头文件头应以“HEADER”关键字开头,以“ENDSEC”关键字结束。文件头一般提供FILE_DESCRIPTION、FILE_NAME、FILE_SCHEMA三个语句用于描述文件,应按表5.2.2的规定采用。表5.2.2文件头说明名称说明FILE_DESCRIPTION文件整体描述FILE_NAME描述文件名、生产时间、作者、产品编码FILE_SCHEMA描述文件格式的版本【条文说明】文件头表达示例HEADER;FILE_DESCRIPTION(('3X2'),'0');FILE_NAME('d:\0824.Gfc','2022-08-2411:07:18',('zhangsan'),('Glodon'),'objectbuf','','');FILE_SCHEMA(('3X2'));ENDSEC;文件体文件体应以“DATA”关键字开头,以“ENDSEC”关键字结束。文件体应提供对应工程项目的所有GFC格式相关数据。文件体由实体语句构成,每个语句的基本格式应以“#”号开头,加实体编号,以“=”连接实体名称及实体属性,以“;”结尾,其形式如下所示:[#实体编号]=[实体名称]([实体属性值1],[实体属性值2],…,[实体属性值n]);【条文说明】文件体表达示例:#809652=GFCELEMENT('230587','楼板','14-06.83.08',$,(#809651));模型数据约束关系GFC文件中的工程项目(GfcProject)实例,应根据模型的空间构成及其与模型元素的关联,至少包含相应的场地(GfcSite)、建筑单体(GfcBuilding)、楼层(GfcFloor)、构件元素(GfcElement)中的一项。模型的空间构成方式应采用按空间分解的方式建立关联,如图5.4.2所示。GfcGfcProjectGfcSiteGfcSiteGfcBuildingGfcBuildingGfcFloorGfcFloorGfcRelAggregatesGfcRelAggregatesGfcRelAggregatesRelatedobjectssRelatedobjectsRelatedobjectsRelatedobjectsRelatedobjectsRelatedobjectsRelatedobjectsGfcElementGfcElementRelatedobjectsRelatedobjects图5.4.2模型的空间构成【条文说明】模型的空间构成文件体表达示例:#6=GFCPROJECT('d8','幼儿园_结构');#7=GFCSITE('106','场地_1');#8=GFCRELAGGREGATES($,#6,(#7));#9=GFCBUILDING('308d071f3116410a531a0bfd03203687','幼儿园_结构');#10=GFCRELAGGREGATES($,#7,(#9));#11=GFCFLOOR('7a1566eb-faf5-4dee-b5c1-c040a77de53b','屋顶层',4000,1,12.6,4,'备注');#25=GFCFLOOR('dc379d6c-4921-4fe5-b3c6-b6650ca2dbaf','三层',4200,1,8.4,3,'备注');#39=GFCFLOOR('6757b4c8-32a9-4091-a78d-46815b112bc8','二层',4200,1,4.2,2,'备注');#53=GFCFLOOR('6448f0b0-9c26-4580-b789-fbbdea863d09','一层',4200,1,0,1,'备注');#67=GFCFLOOR('a6c7ea68-aa04-4f71-9e88-05e666c8b78e','最底层',4200,1,-4.2,-1,'备注');#81=GFCRELAGGREGATES($,#9,(#11,#25,#39,#53,#67));#1263=GFCELEMENT('3255123','混凝土梁-矩形:250x800','14-07.40.07',$,(#1257,#1262));#1529=GFCELEMENT('3255125','混凝土梁-矩形:250x500','14-07.40.07',$,(#1523,#1528));#556654=GFCRELAGGREGATES($,#53,(#1263,#1529));每个模型文件应有且只有一个工程(GfcProject)实例。场地(GfcSite)可通过聚合(GfcRelAggregates)来描述其与工程(GfcProject)实例之间的关系。建筑(GfcBuilding)可通过聚合(GfcRelAggregates)描述其与场地(GfcSite)之间的关系;如果没有提供场地,也可直接与工程(GfcProject)建立关联。楼层(GfcFloor)应包含层高、楼层编号等属性信息,可通过聚合(GfcRelAggregates)描述其与建筑物(GfcBuilding)之间的关系。构件元素(GfcElement)宜由几何表达和构件属性两部分进行描述,可通过聚合(GfcRelAggregates)描述其与楼层(GfcFloor)之间的关系。构件类型是构件元素(GFCElement)的一个重要属性,构件元素(GFCElement)应通过该属性建立与领域层的映射关系。【条文说明】示例如下:#1795=GFCELEMENT('3255127','混凝土梁-矩形:200x600','14-07.40.07',$,(#1789,#1794));对象属性(GFCProperty)表示对象(GFCObject)的基本参数和业务参数。多个对象属性可聚合成属性集(GFCPropertySet),可通过属性定义关系(GFCRelDefinesByProperties)将属性集(GFCPropertySet)关联到对象(GFCObject)。
【条文说明】示例如下:#1795=GFCELEMENT('3255127','混凝土梁-矩形:200x600','14-07.40.07',$,(#1789,#1794));#1796=GFCSTRINGPROPERTY('元素编号','ElementId',$,'3255127');#1797=GFCSTRINGPROPERTY('名称','Description',$,'混凝土梁-矩形:200x600');#1811=GFCINTEGERPROPERTY('截面宽度(mm)','SectionWidth',$,200);#1812=GFCINTEGERPROPERTY('截面高度(mm)','SectionHeight',$,600);#1833=GFCPROPERTYSET($,(#1796,#1797,#1811,#1812));#1834=GFCRELDEFINESBYPROPERTIES($,#1833,(#1795));对象属性代码是对象属性(GFCProperty)的代码表达,对象属性(GFCProperty)通过该代码建立与领域层属性定义的映射关系。【条文说明】示例如下:#1811=GFCINTEGERPROPERTY('截面宽度(mm)','SectionWidth',$,200);
文件应用一般规定GFC文件应采用本标准以EXPRESS定义的数据模式文件进行数据持久化存储,相应的文件头中应标记所引用的“Gfc”数据模式版本。GFC文件在应用过程中应进行合规性验证,合规性验证的内容应符合6.2.2的相关要求。GFC文件应根据工程项目的不同业务阶段的应用要求,支持满足特定应用的属性信息及相关数据的提取。GFC文件应用于工程项目的数据交换时,文件交付方应满足以下要求:创建文件前宜形成与交换需求对应的数据交换需求说明;在文件提交前,宜对交付的GFC文件进行去冗余的优化处理;宜根据不同应用要求,支持对模型数据权限进行约定;应保证交付的GFC文件的合规性;可对交付的GFC文件进行打包和解包、压缩和解压缩。GFC文件的应用宜基于GFCSDK形成面向主要BIM软件的配置文件。【条文说明】GFCSDK作为支持这一标准的工具集,对开发者而言至关重要。本章节旨在为用户介绍GFCSDK的基本概念、功能以及如何将其应用于实际开发中。GFC文件的应用应有相关的软件作为支撑工具,并应满足以下要求:应支持GFC文件的导出、导入;应支持主流BIM软件形成的文件和GFC文件的相互转换;应支持GFC文件的信息提取与分析。合规性验证GFC文件的合规性验证的内容应包括:验证内容的完整性,包括文件头和文件尾检查;验证实体可用性,包含数据版本和必填项;验证游离项,包含游离构件和游离几何;几何数据检查。GFC文件的合规性验证应满足以下应用场景的要求:GFC文件交换前,应由GFC文件提供方对其进行合规性验证;GFC文件交换后,应由GFC文件接收方对其进行合规性验证。GFC文件的合规性验证宜有信息化工具的支撑,信息化工具应包含如下功能:支持标准定义的查看;支持模型数据文件的合规性验证;检查结果可在工具中展示,可导出验证报告文件。文件读写GFCSDK用于读写GFC文件,应使用C++语言编写,编译器需要支持C++11及以上标准。GFCSDK整体逻辑架构应符合图6.3.1的要求。CDocumentCEntityCDocumentCEntityCEntitySchemaCReaderCWriterExperessBinaryXMLJSON实体层读写层格式层【条文说明】GFCSDK是一系列软件开发工具的集合,它允许开发者在应用程序中集成对GFC文件操作的支持。通过使用GFCSDK,用户可以轻松实现对Gfc数据的读取、写入、编辑和验证,从而促进多平台、多软件间的协同工作。GFCSDK支持的开发内容包括:数据模型支持:提供与本标准兼容的数据结构和类库;API接口:提供应用程序接口,用于操作Gfc文件;文件I/O:支持GFC文件的导入和导出功能;可视化工具:帮助用户在不同环境中支持可视化Gfc文件;数据验证:确保数据的准确性符合本标准。GFCSDK在模块划分上分为三个部分,如表6.3.3所示。表6.3.3GFCSDK模块划分序号名称说明依赖1GfcCommon.dll通用库,目前只有字符串函数2GfcSchema.dllGfc类Schema定义GfcCommon.dll3GfcEngine.dllGfc引擎,负责读写GFC文件、向前向后兼容及Schema解析GfcSchema.dll图6.3.图6.3.4GfcSchema.dll整体类结构CModel作为容器应包含GfcSCHEMA中解析的所有类型对象(CTypeObject),并应符合表6.3.5的规定。表6.3.5CModel成员函数表序号成员函数名接口说明参数返回值1CTypeObject*getTypeObject(intnIndex);根据索引返回类型对象nIndex:索引序号,nIndex必须大于等于0且小于getTypeObjectCount()类型对象2intgetTypeObjectCount();得到容器中类型对象数量\类型对象数量3voidaddTypeObject(CTypeObject*pTypeObject);向容器中添加类型对象pTypeObject:类型对象指针,不应为NULL4CTypeObject*findTypeObject(conststd::wstring&sTypeName);根据类型名查找类型对象sTypeName:类型名称如果找到了,返回名称对应的类型对象;未找到,返回NULL5voidclear();清空容器\6std::wstringversion();得到解析的GfcSCHEMA版本\返回GfcSCHEMA版本CTypeObject应为所有类型对象的抽象基类,并应符合表6.3.6的规定。表6.3.6CTypeObject成员函数表序号成员函数名接口说明参数返回值1std::wstringgetName();得到类型对象名称\类型对象名称2virtualCTypeObjectEnumgetType()const=0;得到对象类型\返回对象类型,参见CTypeObjectEnum3virtualCTypeObject*getBaseType();因Gfc可以重命名类型,故通过此函数得到重命名前的类型对象\原始类型对象,对于非重命名类型,返回类型自身;对于重命名类型,递归返回重命名前的类型对象4virtualCDataTypeEnumgetDataType()const;得到数据类型\返回数据类型,参见CDataTypeEnum,默认为EDT_UNKONWNCBuildinType是所有内置类型的基类,派生自CTypeObject,并应符合表6.3.7的规定。表6.3.7 CBuildinType成员函数表序号成员函数名接口说明参数返回值1virtualCTypeObjectEnumgetType();得到对象类型\返回TOE_BUILDINCBooleanType内置的布尔类型,派生自CBuildinType,并应符合表6.3.8的规定。表6.3.8CBooleanType成员函数表序号成员函数名接口说明参数返回值1virtualCDataTypeEnumgetDataType()const;得到数据类型\返回EDT_BOOLEANCIntegerType内置的整数类型,派生自CBuildinType,并应符合表6.3.9的规定。表6.3.9CintegerType成员函数表序号成员函数名接口说明参数返回值1virtualCDataTypeEnumgetDataType()const;得到数据类型\返回EDT_INTEGERCRealType内置的浮点数类型,派生自CBuildinType,并应符合表6.3.10的规定。表6.3.10CRealType成员函数表序号成员函数名接口说明参数返回值1virtualCDataTypeEnumgetDataType()const;得到数据类型\返回EDT_DOUBLECStringType内置的浮点数类型,派生自CBuildinType,并应符合表6.3.11的规定。表6.3.11CStringType成员函数表序号成员函数名接口说明参数返回值1virtualCDataTypeEnumgetDataType()const;得到数据类型\返回EDT_STRINGCTypeDef是重命名类型,可以给已有类型重新命名,派生自CTypeObject,并应符合表6.3.12的规定。
表6.3.12CTypeDef成员函数表序号成员函数名接口说明参数返回值1CTypeObject*getRefType();得到被重命名的类型对象\返回被重命名的类型对象2virtualCTypeObjectEnumgetType();得到对象类型\返回TOE_TYPE3virtualCTypeObject*getBaseType();递归得到重命名前的类型对象,即如果getRefType()仍是一个重命名类型,则递归调用getBaseType(),直到getRefType()为非重命名类型为止\返回重命名前的类型对象4virtualCDataTypeEnumgetDataType()const;得到数据类型\返回重命名前类型对象的数据类型CEnumType是枚举类型,派生自CTypeObject,并应符合表6.3.13的规定。表6.3.13CEnumType成员函数表序号成员函数名接口说明参数返回值1virtualCTypeObjectEnumgetType();得到对象类型\返回TOE_ENUM2virtualCDataTypeEnumgetDataType();得到数据类型\返回EDT_ENUM3std::wstring&getEnum(intnIndex);得到枚举项nIndex:枚举索引,nIndex必须大于等于0且小于getEnumCount()返回nIndex对应的枚举项4intgetEnumCount();得到枚举项数量\返回枚举项数量5boolexists(conststd::wstring&sEnum);判断是否存在该名称的枚举项sEnum:查询的枚举项名称,注:大小写敏感如果存在sEnum名称的枚举项返回true,否则为false续表续表6.3.13序号成员函数名接口说明参数返回值6intindexOf(conststd::wstring&sEnum);根据名称查找枚举项索引sEnum:查询的枚举项名称,注:大小写敏感返回sEnum对应的枚举项索引,如果sEnum不存在,返回-1CClass是实体类型,派生自CTypeObject,并应符合表6.3.14的规定。表6.3.14CClass成员函数表序号成员函数名接口说明参数返回值1virtualCTypeObjectEnumgetType();得到对象类型\返回TOE_CLASS2virtualCDataTypeEnumgetDataType();得到数据类型\返回EDT_ENTITY3boolgetIsAbstract();是否为抽象实体类型\如为抽象实体,返回true,否则返回false4CClass*getParent();得到父实体类型\返回当前实体类型的父实体类型,如果没有父,返回NULL5intgetChildCount();得到派生实体类型数量\返回派生实体类型数量6CClass*getChild(intnIndex);得到派生实体类型nIndex:索引,nIndex必须大于等于0且小于getChildCount()返回nIndex对应的派生实体类型7boolisInherited(conststd::wstring&sName);判断当前实体是否是派生自sName实体类型sName:祖先实体类型名称,注:大小写敏感当前实体是派生自sName实体类型,返回true,否则返回false8CAttribute*getAttribute(intnIndex);得到属性对象nIndex:索引,nIndex必须大于等于0且小于getAttributeCount()返回nIndex对应的属性对象9intgetAttributeCount();得到实体属性数量\返回实体属性数量10intgetTotalAttributeCount();得到实体属性数量,包含所有父的属性\返回实体属性数量11CAttribute*findAttribute(conststd::wstring&sName);根据属性名查找属性sName:属性名,注:大小写敏感返回sName对应的属性对象,如果不存在,返回NULL12intattributeIndexByName(conststd::wstring&sName);得到属性名对应的索引sName:属性名,注:大小写敏感返回sName对应的属性索引,如果不存在,返回-1续表6续表6.3.14表6.3.15CAttribute成员函数表序号成员函数名接口说明参数返回值1std::wstring&getName();得到属性名\返回属性名2CTypeObject*getType();得到属性的类型\返回类型对象3boolgetOptionalFlag();得到是否可选标志\返回可选标志,true时,属性选填,false时,属性必填,不能为空4boolgetRepeatFlag();得到重复标志\返回重复标志,true时,表示该属性为数组类型,false时,为普通数据类型CTypeObjectEnum是类型对象枚举,并应符合表6.3.16的规定。表6.3.16CTypeObjectEnum成员函数表序号枚举项说明1TOE_UNDEFINE未定义2TOE_BUILDIN内置类型3TOE_TYPE重命名类型4TOE_ENUM枚举类型5TOE_CLASS实体类型CDataTypeEnum是数据类型枚举,是从数据角度对类型对象的分类,并应符合表6.3.17的规定。表6.3.17CDataTypeEnum成员函数表序号枚举项说明1EDT_UNKONWN未定义2EDT_BOOLEAN布尔类型3EDT_INTEGER整数类型4EDT_DOUBLE浮点类型5EDT_STRING字符串类型6EDT_ENUM枚举类型7EDT_ENTITY实体类型GfcEngine.dll是解析GFC文件的模块。整体类结构如图6.3.18所示:图6.3.18GfcEngine.dll整体类结构CWriter负责写GFC文件,并应符合表6.3.19的规定。表6.3.19CWriter成员函数表序号成员函数名接口说明参数返回值1CWriter(Gfc::schema::CModel*pSchema,conststd::wstring&sProductCode=L"",unsignedintnCodePage=CP_UTF8,boolbUppercase=true,conststd::wstring&sStandardVersion=L"");构造函数pSchema:GfcSCHEMAsProductCode:产品名nCodePage:代码页,默认UTF8bUppercase:实体名称是否大写输出sStandardVersion:标准版本\2virtualboolopen(conststd::wstring&sFileName,conststd::wstring&sFormatType);打开文件sFileName:GFC文件名sFormatType:文件格式,目前只支持EXPRESS和JSON格式打开成功,返回true,否则返回false3virtualvoidclose();关闭文件\\4virtualboolisOpen();文件是否打开\文件打开后返回true,否则返回false5virtualEntityRefwriteEntity(CEntity*pEntity);向文件中写入实体对象pEntity:实体对象返回实体ID6voidwriteDoc(CDocument*pDoc);把文档写入文件中pDoc:文档\【条文说明】示例如下:
TEST(TestGfcEngine,WriteFile){Gfc::schema::CModeloModel;Gfc::engine::CEngineUtils::loadSchema(getFullPath(L"Gfc3X0.exp"),&oModel);Gfc::engine::CWriterwriter(&oModel,L"Gfc2_unit_test");autoresult=writer.open(getFullPath(L"one.Gfc"),L"express");autopEntity=Gfc::engine::CEngineUtils::createEntity(&oModel,L"Gfc2Vector3d");pEntity->setAsDouble(L"X",1.0);pEntity->setAsDouble(L"Y",2.0);pEntity->setAsDouble(L"Z",3.0);writer.writeEntity(pEntity);EXPECT_EQ(true,result);}不推荐使用writeDoc,内存占用较大。CReader负责读取GFC文件,实现了IContainer虚接口,并应符合表6.3.20的规定。表6.3.20CReader成员函数表序号成员函数名接口说明参数返回值1CReader(Gfc::schema::CModel*pModel);构造函数pSchema:GfcSCHEMA\2voidsetSchemaPath(conststd::wstring&sSchemaPath);设置Schema文件路径,用于升级GFC文件sSchemaPath:Schema文件路径\3boolopen(conststd::wstring&sFileName);打开GFC文件sFileName:文件名,文件必须存在打开文件成功,返回true,否则返回false4voidclose();关闭文件\\5std::wstringreadStandardVersion();读取标准版本\标准版本6voidread(CDocument*pDoc);读取实体到文档中。注:此方法会一次性将实体全部加载到内存中,如果想按需加载,请调用IContainer接口方法。pDoc:文档\
【条文说明】示例如下:推荐方式(效率快,内存占用高);TEST(TestGfcEngine,ReadFile){Gfc::schema::CModeloModel;Gfc::engine::CEngineUtils::loadSchema(getFullPath(L"Gfc3X0.exp"),&oModel);Gfc::engine::CReaderreader(&oModel);Gfc::engine::CDocumentdocument(&oModel);autoresult=reader.open(getFullPath(L"one.Gfc"));EXPECT_EQ(true,result);if(result){reader.read(&document);reader.close();autoitr=document.getIterator();itr->first();EXPECT_EQ(false,itr->isDone());autopEntity=itr->current();EXPECT_EQ(true,pEntity!=nullptr);EXPECT_NEAR(1.0,pEntity->asDouble(L"X"),1e-6);EXPECT_NEAR(2.0,pEntity->asDouble(L"Y"),1e-6);EXPECT_NEAR(3.0,pEntity->asDouble(L"Z"),1e-6);}}
IContainer是容器接口,提供读取实体方法,并应符合表6.3.21的规定。表6.3.21IContainer成员函数表序号成员函数名接口说明参数返回值1virtualEntityPtrgetEntity(EntityRefnId)=0;根据实体ID得到实体对象nId:实体ID实体对象2virtualEntityIteratorPtrgetEntities(conststd::wstring&nType,boolbIncludeSubType=false)=0;根据类型名称得到该类型的所有实体nType:类型名称bIncludeSubType:是否包括派生类的实体对象,true为包括,false为不包括,默认为false实体对象迭代器3virtualEntityIteratorPtrgetIterator()=0;得到所有实体对象\实体对象迭代器CIterator是迭代器模版虚基类,并应符合表6.3.22的规定。表6.3.22CIterator成员函数表序号成员函数名接口说明参数返回值1virtualvoidfirst()=0;迭代器指向起始元素\\2virtualvoidnext()=0;迭代器指向下一个元素\\3virtualboolisDone()=0;迭代器是否已无下一个元素可访问\返回true表示无下一个元素可访问,返回false则可访问4virtualTcurrent()=0;当前指向的元素\返回当前指向的元素【条文说明】示例如下:typedefstd::shared_ptr<CIterator<EntityPtr>>EntityIteratorPtr;CDocument是实体容器,实现了IContainer接口,并应符合表6.3.23的规定。表6.3.23CDocument成员函数表序号成员函数名接口说明参数返回值1CDocument(Gfc::schema::CModel*pModel,intnEntityInitCount=1000000);构造函数pModel:GfcSCHEMAnEntityInitCount:容器初始分配数量,减少后续重新分配,影响性能\2EntityRefadd(CEntity*pEntity);添加实体pEntity:实体对象指针实体ID3EntityRefadd(std::shared_ptr<CEntity>pEntity);添加实体pEntity:实体对象智能指针实体ID4Gfc::schema::CModel*model()const;得到SCHEMA\返回SCHEMACEntity是实体对象,是GFC文件中一行数据在内存中的映射,见表6.3.24。表6.3.24CEntity说明表序号成员函数名接口说明参数返回值1voidsetRef(EntityRefrefId);设置实体IDrefId:实体ID\2EntityRefref()const;得到实体ID\实体ID3Gfc::schema::CTypeObject*getSchema()const;得到实体类型对象\实体类型对象4Gfc::schema::CClass*getClass()const;得到实体类对象\实体类对象5std::wstringentityName()const;得到实体名称\实体名称6intgetPropCount()const;获得属性数量\返回属性个数,含父类属性7CProperty*getProps(intnIndex)const;根据序号得到属性对象nIndex:序号属性对象8CProperty*propByName(conststd::wstringsPropName)const;根据属性名得到属性对象sPropName:属性名属性对象,当属性名不存在时,返回NULL9CPropValue*valueByName(conststd::wstringsPropName)const;根据属性名得到属性值sPropName:属性名属性值,当属性名不存在时,返回NULL10boolisNull(conststd::wstring&sPropName)const;属性值是否为空sPropName:属性名如果属性值为空,返回true,否则返回false11voidassignValue(conststd::wstringsPropName,CPropValue*pValue);给指定属性赋值sPropName:属性名pValue:属性值\12std::wstringasString(conststd::wstring&sPropName)const;根据属性名得到属性值sPropName:属性名字符串13intasInteger(conststd::wstring&sPropName)const;根据属性名得到属性值sPropName:属性名整数14doubleasDouble(conststd::wstring&sPropName)const;根据属性名得到属性值sPropName:属性名浮点数15boolasBoolean(conststd::wstring&sPropName)const;根据属性名得到属性值sPropName:属性名布尔值16EntityRefasEntityRef(conststd::wstring&sPropName)const;根据属性名得到属性值sPropName:属性名实体ID17EntityPtrasEntity(conststd::wstring&sPropName)const;根据属性名得到属性值sPropName:属性名实体对象18voidsetAsString(conststd::wstring&sPropName,conststd::wstring&sValue);设置属性值sPropName:属性名sValue:字符串\19voidsetAsInteger(conststd::wstring&sPropName,constint&nValue);设置属性值sPropName:属性名nValue:整数\序号成员函数名接口说明参数返回值20voidsetAsDouble(conststd::wstring&sPropName,constdouble&dValue);设置属性值sPropName:属性名dValue:浮点数\21voidsetAsBoolean(conststd::wstring&sPropName,constbool&bValue);设置属性值sPropName:属性名bValue:布尔值\22voidsetAsEntityRef(conststd::wstring&sPropName,constEntityRef&nValue);设置属性值sPropName:属性名nValue:实体ID\23intgetArrayCount(conststd::wstring&sPropName)const;得到数组属性的长度sPropName:属性名数组长度24voidaddEntityRef(conststd::wstring&sPropName,constEntityRef&nValue);向数组属性中添加值sPropName:属性名nValue:实体ID\25voidaddString(conststd::wstring&sPropName,conststd::wstring&向数组属性中添加值sPropName:属性名sValue:字符串\26voidaddInteger(conststd::wstring&sPropName,constint&nValue);向数组属性中添加值sPropName:属性名nValue:整数\27voidaddDouble(conststd::wstring&sPropName,constdouble&dValue);向数组属性中添加值sPropName:属性名dValue:浮点数\28voidaddBoolean(conststd::wstring&sPropName,constbool&bValue);向数组属性中添加值sPropName:属性名bValue:布尔值\29std::wstringgetString(conststd::wstring&sPropName,intnIndex)const;获得数组属性指定序号元素sPropName:属性名nIndex:序号字符串序号成员函数名接口说明参数返回值30intgetInteger(conststd::wstring&sPropName,intnIndex)const;获得数组属性指定序号元素sPropName:属性名nIndex:序号整数31doublegetDouble(conststd::wstring&sPropName,intnIndex)const;获得数组属性指定序号元素sPropName:属性名nIndex:序号浮点数32boolgetBoolean(conststd::wstring&sPropName,intnIndex)const;获得数组属性指定序号元素sPropName:属性名nIndex:序号布尔值33EntityRefgetEntityRef(conststd::wstring&sPropName,intnIndex)const;获得数组属性指定序号元素sPropName:属性名nIndex:序号实体ID34EntityPtrgetEntity(conststd::wstring&sPropName,intnIndex)const;获得数组属性指定序号元素sPropName:属性名nIndex:序号实体对象35intgetArrayCount(CPropValue*pValue)const;得到数组属性的长度pValue:属性值数组长度36EntityPtrgetEntity(CPropValue*pValue,intnIndex)const;获得数组属性指定序号元素pValue:属性值nIndex:序号实体对象37boolisNull(CPropValue*pValue,intnIndex)const;数组属性指定序号元素是否为空pValue:属性值nIndex:序号为空时返回true,否则返回false表格中涉及的属性名均大小写敏感;设置或获得属性值时,如果属性名不存在,抛出EMissMatchProperty异常。CProperty是实体属性对象,,并应符合表6.3.25的规定。表6.3.25CProperty成员函数表序号成员函数名接口说明参数返回值1Gfc::schema::CAttribute*schema();得到属性的SCHEMA\SCHEMA2std::wstringname()const;得到属性名\属性名3CPropValue*value()const;得到属性值\属性值CPropValue是所有实体属性值对象虚基类,并应符合表6.3.26的规定。表6.3.26CPropValue说明表序号成员函数名接口说明参数返回值1virtualboolisNull()const=0;属性值是否为空\为空返回true,否则返回false2virtualCPropValue*clone()const=0;克隆属性值对象\属性值对象3virtualvoidassign(CPropValue*pValue)=0;赋值属性值对象pValue:属性值对象\4virtualstd::wstringasString()const;得到属性值字符串5virtualintasInteger()const;得到属性值\整数6virtualdoubleasDouble()const;得到属性值\浮点数7virtualboolasBoolean()const;得到属性值\布尔值8virtualEntityRefasEntityRef()const;得到属性值\实体ID9virtualvoidsetAsString(conststd::wstring&sValue);设置属性值sValue:字符串\10virtualvoidsetAsInteger(constint&nValue);设置属性值nValue:整数\11virtualvoidsetAsDouble(constdouble&dValue);设置属性值dValue:浮点数\12virtualvoidsetAsBoolean(constbool&bValue);设置属性值bValue:布尔值\13virtualvoidsetAsEntityRef(constEntityRef&nValue);设置属性值nValue:实体ID\14virtualvoidadd(CPropValue*pValue);给数组属性添加属性值pValue:属性值对象\15virtualintgetCount()const;获得数组属性长度\数组长度16virtualCPropValue*getItems(intnIndex)const;获得数组属性指定序号元素nIndex:序号属性值对象17virtualvoidsetItems(intnIndex,CPropValue*pValue);设置数组属性指定序号元素nIndex:序
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 八年级语文下册 善良友谊 第二课 球约 第四课时 课后练习教案 新教版(汉语)
- 电容器的电容【教学课件】 2026-2027学年高二上学期物理人教版必修第三册
- 八年级化学上册专题01《化学使生活更美好》期末知识清单
- 城东片区三期安置房地下室给排水采暖工程监理规范课件
- 第八章走进国家第五节美国(第1课时)教学设计下学期七年级下册同步课堂系列(湘教版)
- 初中八年级生物 神经系统结构基础 第1课时 知识清单
- 初中八年级道德与法治“权利与义务的统一性及其法治实践”单元导学案
- 八年级物理跨学科实践导学案:功率概念的深度建构与应用
- 第10课 我会保管物品教学设计小学地方、校本课程浙教版(2021)人·自然·社会
- 八年级信息科技(教科版)上册第四单元知识清单:物联网数据传输技术精要与考点解析
- 2024年湖北省中考地理·生物试卷(含答案解析)
- 城轨安全用电-触电急救
- JJG539-2016数字指示秤检定记录格式
- 慢性肾脏病健康宣教
- 氩气安全技术说明书MSDS
- 银行保安服务投标方案(完整技术标)
- 拒绝文身主题班会课件
- 北京版八年级数学下册全册课件【完整版】
- 汽车行走的艺术学习通课后章节答案期末考试题库2023年
- 常微分方程一阶微分方程的初等解法公开课一等奖市赛课获奖课件
- 上海市临检中心 临床微生物学检验新技术及质量控制学习班课件 微生物检验新技术、新趋势
评论
0/150
提交评论