IfcCurve是二維空間或三維空間中的曲線,包括有界曲線和無界曲線。
注:曲線應該弧形連續,且弧長應該大于零。
IfcCurve是抽象定義,它的子類包括:IfcBoundedCurve, IfcConic, IfcLine, IfcOffsetCurve2D, IfcOffsetCurve3D, IfcPcurve。分别解釋如下。
IfcBoundedCurve
有界曲線(IfcBoundedCurve)是有限長度的弧線。
注:有界曲線的弧長有限,具有起點和終點。
有界曲線(IfcBoundedCurve)的類型有:
(1)B樣條曲線(IfcBSplineCurve)
(2)組合曲線(IfcCompositeCurve)
(3)曲線段(IfcPolyline)
(4)裁剪線(IfcTrimmedCurve)
IfcConic
圓錐曲線 (IfcConic)是參數化的平面曲線。圓錐曲線可以通過平面與圓錐相交産生。可以通過其固有的幾何特性定義,而不是通過其它幾何形狀來描述。
圓錐曲線有自己的位置坐标系(通過 axis2placement定義),它的相關參數定義在該坐标系中。
圓錐曲線(IfcConic)的類型有:
(1)圓(IfcCircle)
(2)橢圓(IfcEllipse)
IfcLine
線(IfcLine)是由點和方向定義的參數化的無界線。方向向量的長度會影響線的參數化表示,但不會影響線的無界性。
注:線段可以通過兩個點形成的IfcPolyline 定義,也可以通過帶有基線的IfcTrimmedCurve 定義。
線(IfcLine)主要包括:
(1)Pnt:線的位置。
(2)Dir:線的方向資訊
線的參數化表示如下:
P = Pnt
V = Dir
λ(u) = P + uV
參數的定義範圍 : -∞ < u < ∞
IfcOffsetCurve2D
二維偏移曲線(IfcOffsetCurve2D)是在二維空間中,相對于基線(BasisCurve)做偏移産生的。
在二維空間中,二維偏移曲線與基線相距固定的距離。通過沿基線的法線與基線之間的距離偏移來定義簡單的平面偏移曲線。 基線在每個點都應有明确的切線方向。 在複合曲線的情況下,每個段之間的過渡段應該是相同的梯度或相同的曲率。
注:二維偏移曲線的性質可以與基線不同; 非自相交曲線的偏移後可以是自相交的。 應確定連續曲線偏移後不會變得不連續。
二維偏移曲線(IfcOffsetCurve2D)主要包括:
(1)BasisCurve:基線。
(2)Distance:偏移曲線與基準曲線的距離。 距離可以是正數,負數或零。 距離的正值定義了在與給定點處的切向量T成90度逆時針旋轉的意義上與曲線垂直的方向上的偏移。
(3)SelfIntersect:訓示偏移曲線是否自相交,該資訊僅供參考。
二維偏移曲線從基線擷取參數,其參數化表示如下:
λ(u) = C(u) + d(orthogonal_complement(t))
其中,t表示基線C(u)在u處的機關切向量,d表示距離,曲線應該是二維的。
IfcOffsetCurve3D
三維偏移曲線(IfcOffsetCurve3D)是在三維空間中,相對于基線(BasisCurve)做偏移産生的。
在三維空間中,三維偏移曲線與基線相距固定的距離。基線在每個點都應有明确的切線方向。 在複合曲線的情況下,每個段之間的過渡段應該是相同的梯度或相同的曲率。基線上任何點(參數)處的偏移曲線在方向V x T中,其中V是固定參考方向,T是基線的機關切向量。 為了明确定義偏移方向,T在曲線的任何一點都不應與V方向相同或相反。
注:三維偏移曲線的性質可以與基線不同; 非自相交曲線的偏移後可以是自相交的。 應確定連續曲線偏移後不會變得不連續。
三維偏移曲線(IfcOffsetCurve3D)主要包括:
(1)BasisCurve:基線。
(2)Distance:偏移曲線與基準曲線的距離。 距離可以是正數,負數或零。
(3)SelfIntersect:訓示偏移曲線是否自相交,該資訊僅供參考。
(4)RefDirection:定義從基礎曲線到三維偏移曲線的方向。
三維偏移曲線從基線擷取參數,其參數化表示如下:
λ(u) = C(u) + dV × T
其中,T表示基線C(u)在u處的機關切向量,V是固定的參考方向,d表示距離,曲線應該是三維的。
IfcPcurve
IfcPcurve是在其參考平面的參數空間内定義的曲線。雖然該曲線定義在二維空間,它涉及的變量是u,v(參考平面中的參數表示),而不是x, y(笛卡爾坐标系)。曲線定義在該參考平面的參數範圍内。
IfcPcurve主要包括:
(1)BasisSurface:基礎參考平面。
(2)ReferenceCurve:引用曲線。