IfcTrimmedCurve

ifcTrimedCurve是两端修剪的有界曲线。修剪点可以由笛卡尔点或基于基本曲面参数化的参数值提供。SenseAgreement属性指示ifcTrimedCurve的方向是否与BasicCurve的方向一致或相反。

注:如果基本曲线是闭合曲线,例如ifccirle或IfcEllipse,则SenseAgreement会影响ifcTrimedCurve的几何形状。

 

修剪曲线参数化

图显示了四个圆弧(蓝色和绿色虚线,箭头显示不同的方向),它们可以由相同的基本曲线(IfcCircle类型)和相同的修剪点(由笛卡尔点和参数值给出)定义,方法是使用不同的赋值给Trim1和Trim2以及sensegreement。

注:由于BasisCurve是关闭的(IfcCircle类型),非正式命题IP3的例外情况适用,即不要求sense标志与Trim1和Trim1的参数值一致,因此可能无法满足规则(sense=参数1<参数2)。

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

修剪曲线是一条有界曲线,它是通过在关联的基础曲线的两个标识点之间取一个选定部分来创建的。基本曲线本身是不变的,并且不止一条修剪的曲线可以参考同一条基准曲线。曲线的修剪点可通过以下方式确定:

参数值

几何位置

以上都是

曲线的每一端应至少规定其中一个。这种感觉法则使人们能够明确地定义闭合曲线的任何一段,例如圆。意义和有序端点的组合使得定义四个不同的有向线段成为可能,这些线段连接圆或其他闭合曲线上的两个不同点。为此,假设参数范围的循环特性;例如,370度相当于10度。

ifcTrimedCurve有一个参数化,它继承自特定的基准曲线引用。更精确地说,修剪曲线的参数s是从基本曲线的参数中导出的,如下所示:

如果SenseAgreement为真:s=t-t1

如果SenseAgreement为假:s=t2-t

在上面的等式中,t1是由Trim1给出的值或与点1对应的参数值,t2是由Trim2给出的值或对应于点2的参数值。生成的ifcTrimedCurve的参数范围为第一个修剪点处的0到第二个修剪点处的| t2-t1 |。

注:在闭合曲线的情况下,可能需要通过参数长度增加t1或t2,以与检测标志一致。

注:实体改编自ISO 10303-42中定义的修剪曲线

IFC1.0中增加的新实体

非正式提议:

①如果Trim1和Trim2的参数值和笛卡尔点都存在,则它们应一致。(即在参数值处评估的基本曲率应与指定点一致)。

②当笛卡尔点由第1条或第2条规定时,该点应位于底弯上。

③除了参数1和参数2同时存在的闭合基础曲线外,它们应与检测标志一致,即(检测=参数1<参数2)。或者,对于参数1和参数2都存在的每条开放曲线,它们应与敏感度一致,即灵敏度=(参数1<参数2)。

④如果参数1和参数2都存在,则参数1<>参数2。对于闭合基曲线,例如IfcCircle或IfcEllipse,这也适用于循环特性,因为360'等于0',参数1=360'和参数2=0'被视为相等,因此违反了这个命题。

⑤当Trim1或Trim2规定了参数值时,该参数值应在BasicCurve的参数范围内。

Formal Propositions

RuleDescription
Trim1ValuesConsistent Either a single value is specified for Trim1, or the two trimming values are of different type (point and parameter)
Trim2ValuesConsistent Either a single value is specified for Trim2, or the two trimming values are of different type (point and parameter)
NoTrimOfBoundedCurves Already bounded curves shall not be trimmed.
 

 

 

 

 

 

#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
IfcCurve
  Dim
:=IfcCurveDim(SELF)
IfcDimensionCount [1:1] The space dimensionality of this abstract class, defined differently for all subtypes, i.e. for IfcLine, IfcConic and IfcBoundedCurve. X
IfcBoundedCurve
IfcTrimmedCurve
1 BasisCurve IfcCurve [1:1] The curve to be trimmed. For curves with multiple representations any parameter values given as Trim1 or Trim2 refer to the master representation of the BasisCurve only. X
2 Trim1 IfcTrimmingSelect S[1:2] The first trimming point which may be specified as a Cartesian point, as a real parameter or both. X
3 Trim2 IfcTrimmingSelect S[1:2] The second trimming point which may be specified as a Cartesian point, as a real parameter or both. X
4 SenseAgreement IfcBoolean [1:1] Flag to indicate whether the direction of the trimmed curve agrees with or is opposed to the direction of the basis curve. X
5 MasterRepresentation IfcTrimmingPreference [1:1] Where both parameter and point are present at either end of the curve this indicates the preferred form. X
EXPRESS Specification
ENTITY IfcTrimmedCurve
 SUBTYPE OF (IfcBoundedCurve);
  BasisCurve : IfcCurve;
  Trim1 : SET [1:2] OF IfcTrimmingSelect;
  Trim2 : SET [1:2] OF IfcTrimmingSelect;
  SenseAgreement : IfcBoolean;
  MasterRepresentation : IfcTrimmingPreference;
 WHERE
  Trim1ValuesConsistent : (HIINDEX(Trim1) = 1) OR (TYPEOF(Trim1[1]) <> TYPEOF(Trim1[2]));
  Trim2ValuesConsistent : (HIINDEX(Trim2) = 1) OR (TYPEOF(Trim2[1]) <> TYPEOF(Trim2[2]));
  NoTrimOfBoundedCurves : NOT('IFCGEOMETRYRESOURCE.IFCBOUNDEDCURVE' IN TYPEOF(BasisCurve));
END_ENTITY;

 

posted @ 2020-07-07 20:22  西北逍遥  阅读(340)  评论(0编辑  收藏  举报