zoukankan      html  css  js  c++  java
  • IfcSectionedSpine

    IfcSectionedSpine是由多个平面横截面和脊椎曲线组成的三维对象的形状表示。形状定义在横截面的第一个元素和最后一个元素之间。截面脊椎可用于表示表面或实体,但未定义横截面之间形状的插值。

    所有横截面都必须通过闭合轮廓来定义面积,以便表示实体。所有横截面必须通过开放或闭合轮廓定义曲线,以允许表示曲面。横截面由IfcProfileDef的子类型定义,其中连续的轮廓可以通过转换起始轮廓或上一个连续轮廓来导出。

    脊柱曲线应为IfcCompositeCurve类型,其由IfcCompositeCurveSegment表示的每一段应与正好两个连续横截面之间的部分相对应。

    下图显示了一个IfcSectionedSpine的示例。

    SpineCurve由一条包含两段的ifcComposite曲线给出。段[1]具有IfcPolyline类型的父曲线和一个Transition=CONTSAMEGRADIENT。段[2]有一个ifctrimedCurve类型的父曲线和一个Transition=不连续的。

    每个横截面位置位于线段的起点或终点。

    每个横截面由横截面位置插入。前两个横截面的类型为IfcRectangleProfileDef,第三个横截面的类型为IfcDerivedProfileDef。

    分段柱几何体

    下图显示了IfcSectionedSpine的最终结果。主体(透明显示)未完全由交换定义定义定义。

    柱切片结果

    注:定义根据ISO/CD 10303-42:1992

    截面脊柱是由脊柱曲线和若干平面横截面组成的三维物体的形状表示。形状定义在横截面的第一个元素和该集的最后一个元素之间。

    注:截面脊椎可用于表示表面或实体,但未定义横截面之间形状的插值。对于实体的表示,所有横截面都是闭合曲线。

    注:实体改编自ISO 10303-42中定义的截面_脊椎。

    IFC2x中增加的新实体。

    非正式提议:

    ①各横截面按截面位置放置后,不得相交

    ②横截面按截面位置放置后,不得位于同一平面上

    ③每段复合曲线的起点或终点应位于复合截面的起点处。

    Formal Propositions

    RuleDescription
    CorrespondingSectionPositions The set of cross sections and the set of cross section positions shall be of the same size.
    ConsistentProfileTypes The profile type (either AREA or CURVE) shall be consistent within the list of the profiles defining the cross sections.
    SpineCurveDim The curve entity which is the underlying spine curve shall have the dimensionality of 3.
     

    #AttributeTypeCardinalityDescriptionC
    IfcRepresentationItem
      LayerAssignment IfcPresentationLayerAssignment
    @AssignedItems
    S[0:1] Assignment of the representation item to a single or multiple layer(s). The LayerAssignments can override a LayerAssignments of the IfcRepresentation it is used within the list of Items. X
      StyledByItem IfcStyledItem
    @Item
    S[0:1] Reference to the IfcStyledItem that provides presentation information to the representation, e.g. a curve style, including colour and thickness to a geometric curve. X
    IfcGeometricRepresentationItem
    IfcSectionedSpine
    1 SpineCurve IfcCompositeCurve [1:1] A single composite curve, that defines the spine curve. Each of the composite curve segments correspond to the part between two cross-sections. X
    2 CrossSections IfcProfileDef L[2:?] A list of at least two cross sections, each defined within the xy plane of the position coordinate system of the cross section. The position coordinate system is given by the corresponding list CrossSectionPositions. X
    3 CrossSectionPositions IfcAxis2Placement3D L[2:?] Position coordinate systems for the cross sections that form the sectioned spine. The profiles defining the cross sections are positioned within the xy plane of the corresponding position coordinate system. X
      Dim
    :=3
    IfcDimensionCount [1:1] The dimensionality of the spine curve is always 3. X
    EXPRESS Specification
    ENTITY IfcSectionedSpine
     SUBTYPE OF (IfcGeometricRepresentationItem);
      SpineCurve : IfcCompositeCurve;
      CrossSections : LIST [2:?] OF IfcProfileDef;
      CrossSectionPositions : LIST [2:?] OF IfcAxis2Placement3D;
     DERIVE
      Dim : IfcDimensionCount := 3;
     WHERE
      CorrespondingSectionPositions : SIZEOF(CrossSections) = SIZEOF(CrossSectionPositions);
      ConsistentProfileTypes : SIZEOF(QUERY(temp <* CrossSections | CrossSections[1].ProfileType <> temp.ProfileType)) = 0;
      SpineCurveDim : SpineCurve.Dim = 3;
    END_ENTITY;
  • 相关阅读:
    openAI的仿真环境Gym Retro的Python API接口(续1)—— 游戏过程记录及回放
    openAI的仿真环境Gym Retro的Python API接口
    如何使用Python环境下的2D经典游戏仿真器(openai推出的)retro库运行游戏"刺猬索尼克" (SonicTheHedgehog-Genesis)
    运行openai的gym代码报错提示import pyglet,安装后依然报错:ImportError: sys.meta_path is None, Python is likely shutting down
    “阿里事件”的结束真的是结束吗
    BMS(电池管理系统)第二课——一文说清各大IC厂商模拟前端(AFE)优缺点
    BMS(电池管理系统)第一课——BMS系统框架简介什么是BMS?
    Linux内核调试技术——kprobe使用与实现
    Qt事件:changeEvent(改变事件)
    ImGui-imgui实例解析之ShowDemoWindowWidgets-Basic
  • 原文地址:https://www.cnblogs.com/herd/p/13428353.html
Copyright © 2011-2022 走看看