API Reference > geometry-core > Curve > CurveFactory CurveFactory Class The CurveFactory class contains methods for specialized curve constructions. Methods Name Description constructor(): CurveFactory appendToArcInPlace(arcA: Arc3d, arcB: Arc3d, allowReverse: boolean = false): boolean Static If arcB is a continuation of arcA, extend arcA (in place) to include the range of arcB assembleArcChainOnEllipsoid(ellipsoid: Ellipsoid, pathPoints: GeodesicPathPoint[], fractionForIntermediateNormal: number = 0.5): Path Static Return a Path containing arcs are on the surface of an ellipsoid and pass through a sequence of points. createArcPointTangentPoint(pointA: Point3d, tangentA: Vector3d, pointB: Point3d): undefined | Arc3d Static Create a circular arc from start point, tangent at start, and another point (endpoint) on the arc. createArcPointTangentRadius(pointA: Point3d, tangentA: Vector3d, radius: number, upVector?: Vector3d, sweep?: Angle | AngleSweep): undefined | Arc3d Static Create a circular arc from start point, tangent at start, radius, optional plane normal, arc sweep createFilletsInLineString(points: Point3d[] | LineString3d | IndexedXYZCollection, radius: number | number[], allowBackupAlongEdge: boolean = true): undefined | Path Static Construct a sequence of alternating lines and arcs with the arcs creating tangent transition between consecutive edges. createLineSpiralArcSpiralLine(spiralType: IntegratedSpiralTypeName, pointA: Point3d, pointB: Point3d, pointC: Point3d, lengthA: number, lengthB: number, arcRadius: number): undefined | GeometryQuery[] Static Compute 2 spirals and an arc (all in XY) for a symmetric line-to-line transition. createLineSpiralSpiralLine(spiralType: IntegratedSpiralTypeName, startPoint: Point3d, shoulderPoint: Point3d, targetPoint: Point3d): undefined | GeometryQuery[] Static Compute 2 spirals (all in XY) for a symmetric line-to-line transition. createLineSpiralSpiralLineWithSpiralLength(spiralType: IntegratedSpiralTypeName, pointA: Point3d, pointB: Point3d, pointC: Point3d, spiralLength: number): undefined | GeometryQuery[] Static Compute 2 spirals (all in XY) for a symmetric line-to-line transition. createMiteredPipeSections(centerline: IndexedXYZCollection, radius: number): Arc3d[] Static * Create section arcs for mitered pipe. createPipeSegments(centerline: CurvePrimitive | CurveChain, pipeRadius: number): undefined | GeometryQuery | GeometryQuery[] Static Create solid primitives for pipe segments (e.g. createRectangleXY(x0: number, y0: number, x1: number, y1: number, z: number = 0, filletRadius?: number): Loop Static Create a Loop with given xy corners and fixed z. Defined in curve/CurveFactory.ts Line 42 Last Updated: 11 June, 2024