CurveCollection Class — NXOpen Python API Reference 12.0.0 documentation

# CurveCollection Class

class `NXOpen.``CurveCollection`

  Bases: `object`

  Represents a collection of `NXOpen.Curve`.

  Iterating this collection only returns live uncondemned objects contained in the owning part of the collection. Note that `NXOpen.Curve` is a smart object and many smart objects are condemned as they only exist to support other objects and are not displayed. To obtain an instance of this class, refer to `NXOpen.BasePart`

  New in version NX3.0.0.

# Methods

Method | Description
--- | ---
CreateArc | Creates an `NXOpen.Arc` that passes through the three specified points.
CreateEllipse | Creates an `NXOpen.Ellipse`.
CreateExtractedCurve | Creates a `NXOpen.Curve`.
CreateHyperbola | Creates a `NXOpen.Hyperbola`.
CreateInfiniteLine | Creates a `NXOpen.InfiniteLine` that passes through the two specified points.
CreateLine | Creates a `NXOpen.Line`.
CreatePairedInfiniteLine | Creates a paired `NXOpen.InfiniteLine` that is paired to the specified line.
CreateParabola | Creates a `NXOpen.Parabola`.
CreateSmartCompositeCurve | Creates a `NXOpen.Curve`.
CreateVirtualBlendCurve | Creates a `NXOpen.Curve`.
CreateVirtualCenterlineCurve | Creates a `NXOpen.Curve`.

# Method Detail

## CreateArc

`CurveCollection.``CreateArc`

  Overloaded method CreateArc

  - `CreateArc(startPoint, pointOn, endPoint, alternateSolution)`
  - `CreateArc(startPoint, pointOn, endPoint, alternateSolution)`
  - `CreateArc(center, matrix, radius, startAngle, endAngle)`
  - `CreateArc(center, xDirection, yDirection, radius, startAngle, endAngle)`

  `-------------------------------------`

  Creates an `NXOpen.Arc` that passes through the three specified points.

  Signature `CreateArc(startPoint, pointOn, endPoint, alternateSolution)`

  Parameters:

  - startPoint (`NXOpen.Point3d`) – Start point
  - pointOn (`NXOpen.Point3d`) – Point that the arc passes through.
  - endPoint (`NXOpen.Point3d`) – End point
  - alternateSolution (bool) – If true, the arc will be created using the alternate solution instead of the regular solution. The alternate solution for an arc is the portion of the full circle that is left out of the regular solution. For example, if the regular solution is an arc that goes from 0 to 45 degrees, the alternate solution will be an arc with the same center and origin but that goes from 45 degrees to 360.

  Returns: | a tuple
  Return type: | A tuple consisting of (arc, startAndEndGotFlipped). arc is a `NXOpen.Arc`. startAndEndGotFlipped is a bool. If true, the start point of the arc that is created is at the end point parameter to this method and the end point of the arc is at the start point parameter. In other words, suppose you execute arc = Curves.CreateArc(startPointParam, pointOnParam, endPointParam, false, flipped). If flipped is true, then arc.StartPoint equals endPointParam and arc.EndPoint equals startPointParam.

  New in version NX3.0.0.

  License requirements: solid_modeling (“SOLIDS MODELING”) OR drafting (“DRAFTING”) OR geometric_tol (“GDT”)

  `-------------------------------------`

  Creates an `NXOpen.Arc`. The arc will be created in a plane which passes through center and whose normal is the Z axis of the orientation matrix. (matrix.Element.xx, matrix.Element.xy, matrix.Element.xz) is the X axis of the orientation matrix. (matrix.Element.yx, matrix.Element.yy, matrix.Element.yz) is the Y axis of the orientation matrix. The start and end angles are measured relative to the X and Y axis of this orientation matrix.

  Signature `CreateArc(center, matrix, radius, startAngle, endAngle)`

  Parameters:

  - center (`NXOpen.Point3d`) – Center of the arc
  - matrix (`NXOpen.NXMatrix`) – Orientation matrix for the arc.
  - radius (float) – Radius of the arc. Must be greater than zero.
  - startAngle (float) – Start angle in radians
  - endAngle (float) – End angle in radians

  Returns: |
  Return type: | `NXOpen.Arc`

  New in version NX3.0.0.

  License requirements: solid_modeling (“SOLIDS MODELING”) OR drafting (“DRAFTING”) OR geometric_tol (“GDT”)

  `-------------------------------------`

  Creates an `NXOpen.Arc`. The arc will be created through the origin and whose normal is Z axis. The start and end angles are measured relative to the X and Y axes.

  Signature `CreateArc(center, xDirection, yDirection, radius, startAngle, endAngle)`

  Parameters:

  - center (`NXOpen.Point3d`) – Center of the arc
  - xDirection (`NXOpen.Vector3d`) – X direction of the arc
  - yDirection (`NXOpen.Vector3d`) – Y direction of the arc
  - radius (float) – Radius of the arc. Must be greater than zero.
  - startAngle (float) – Start angle in radians
  - endAngle (float) – End angle in radians

  Returns: |
  Return type: | `NXOpen.Arc`

  New in version NX4.0.0.

  License requirements: solid_modeling (“SOLIDS MODELING”) OR drafting (“DRAFTING”) OR geometric_tol (“GDT”)

  `-------------------------------------`

## CreateEllipse

`CurveCollection.``CreateEllipse`

  Overloaded method CreateEllipse

  - `CreateEllipse(center, majorRadius, minorRadius, startAngle, endAngle, rotationAngle, matrix)`
  - `CreateEllipse(center, xDirection, yDirection, majorRadius, minorRadius, startAngle, endAngle)`

  `-------------------------------------`

  Creates an `NXOpen.Ellipse`. The ellipse will be created in a plane which passes through center and whose normal is the Z axis of the orientation matrix. (matrix.Element.xx, matrix.Element.xy, matrix.Element.xz) is the X axis of the orientation matrix. (matrix.Element.yx, matrix.Element.yy, matrix.Element.yz) is the Y axis of the orientation matrix. The start, end, and rotation angles are measured relative to the X and Y axis of this orientation matrix.

  Signature `CreateEllipse(center, majorRadius, minorRadius, startAngle, endAngle, rotationAngle, matrix)`

  Parameters:

  - center (`NXOpen.Point3d`) – Center of ellipse
  - majorRadius (float) – Major radius
  - minorRadius (float) – Minor radius
  - startAngle (float) – Start angle in radians
  - endAngle (float) – End angle in radians
  - rotationAngle (float) – Rotation angle in radians
  - matrix (`NXOpen.NXMatrix`) – Orientation matrix for the ellipse

  Returns: |
  Return type: | `NXOpen.Ellipse`

  New in version NX3.0.0.

  License requirements: solid_modeling (“SOLIDS MODELING”) OR drafting (“DRAFTING”) OR geometric_tol (“GDT”)

  `-------------------------------------`

  Creates an `NXOpen.Ellipse`. The ellipse will be created through the origin and whose normal is Z axis. The start and end angles are measured relative to the X and Y axes.

  Signature `CreateEllipse(center, xDirection, yDirection, majorRadius, minorRadius, startAngle, endAngle)`

  Parameters:

  - center (`NXOpen.Point3d`) – Center of the ellipse
  - xDirection (`NXOpen.Vector3d`) – X direction of the ellipse
  - yDirection (`NXOpen.Vector3d`) – Y direction of the ellipse
  - majorRadius (float) – Major radius of the ellipse. Must be greater than zero.
  - minorRadius (float) – Minor radius of the ellipse. Must be greater than zero.
  - startAngle (float) – Start angle in radians
  - endAngle (float) – End angle in radians

  Returns: |
  Return type: | `NXOpen.Ellipse`

  New in version NX4.0.0.

  License requirements: solid_modeling (“SOLIDS MODELING”) OR drafting (“DRAFTING”) OR geometric_tol (“GDT”)

  `-------------------------------------`

## CreateExtractedCurve

`CurveCollection.``CreateExtractedCurve`

  Creates a `NXOpen.Curve`.

  The extracted curve will be created for the input curve to extract.

  Signature `CreateExtractedCurve(curveToExtract, type, subtype, xform, tolerance, updateOption)`

  Parameters:

  - curveToExtract (`NXOpen.ICurve`) – Curve or edge to be extracted
  - type (int) – Type
  - subtype (int) – Sub-Type
  - xform (`NXOpen.Xform`) – optional Xform
  - tolerance (float) – tolerance for computing the extract curve
  - updateOption (`NXOpen.SmartObjectUpdateOption`) –

  Returns: |
  Return type: | `NXOpen.ICurve`

  New in version NX8.0.0.

  License requirements: solid_modeling (“SOLIDS MODELING”) OR geometric_tol (“GDT”)

## CreateHyperbola

`CurveCollection.``CreateHyperbola`

  Overloaded method CreateHyperbola

  - `CreateHyperbola(center, semiTransverseLength, semiConjugateLength, minimumDY, maximumDY, rotationAngle, matrix)`
  - `CreateHyperbola(center, xDirection, yDirection, semiTransverseLength, semiConjugateLength, minimumDY, maximumDY)`

  `-------------------------------------`

  Creates a `NXOpen.Hyperbola`. The hyperbola will be created in a plane which passes through center and whose normal is the Z axis of the orientation matrix. (matrix.Element.xx, matrix.Element.xy, matrix.Element.xz) is the X axis of the orientation matrix. (matrix.Element.yx, matrix.Element.yy, matrix.Element.yz) is the Y axis of the orientation matrix. The rotation angle is measured relative to the X and Y axis of this orientation matrix.

  Signature `CreateHyperbola(center, semiTransverseLength, semiConjugateLength, minimumDY, maximumDY, rotationAngle, matrix)`

  Parameters:

  - center (`NXOpen.Point3d`) – Center of hyperbola
  - semiTransverseLength (float) – Semi-transverse length
  - semiConjugateLength (float) – Semi-conjugate length
  - minimumDY (float) – Minimum DY width
  - maximumDY (float) – Maximum DY width
  - rotationAngle (float) – Rotation angle in radians
  - matrix (`NXOpen.NXMatrix`) – Orientation matrix for the hyperbola

  Returns: |
  Return type: | `NXOpen.Hyperbola`

  New in version NX3.0.0.

  License requirements: solid_modeling (“SOLIDS MODELING”) OR drafting (“DRAFTING”) OR geometric_tol (“GDT”)

  `-------------------------------------`

  Creates a `NXOpen.Hyperbola`. The hyperbola will be created through the origin and whose normal is Z axis.

  Signature `CreateHyperbola(center, xDirection, yDirection, semiTransverseLength, semiConjugateLength, minimumDY, maximumDY)`

  Parameters:

  - center (`NXOpen.Point3d`) – Center of the hyperbola
  - xDirection (`NXOpen.Vector3d`) – X direction of the hyperbola
  - yDirection (`NXOpen.Vector3d`) – Y direction of the hyperbola
  - semiTransverseLength (float) – Semi-transverse length
  - semiConjugateLength (float) – Semi-conjugate length
  - minimumDY (float) – Minimum DY width
  - maximumDY (float) – Maximum DY width

  Returns: |
  Return type: | `NXOpen.Hyperbola`

  New in version NX4.0.0.

  License requirements: solid_modeling (“SOLIDS MODELING”) OR drafting (“DRAFTING”) OR geometric_tol (“GDT”)

  `-------------------------------------`

## CreateInfiniteLine

`CurveCollection.``CreateInfiniteLine`

  Creates a `NXOpen.InfiniteLine` that passes through the two specified points.

  Signature `CreateInfiniteLine(startPoint, endPoint)`

  Parameters:

  - startPoint (`NXOpen.Point3d`) – Start point
  - endPoint (`NXOpen.Point3d`) – End point

  Returns: |
  Return type: | `NXOpen.InfiniteLine`

  New in version NX7.5.0.

  License requirements: nx_layout (“NX Layout”)

## CreateLine

`CurveCollection.``CreateLine`

  Overloaded method CreateLine

  - `CreateLine(startPoint, endPoint)`
  - `CreateLine(startPoint, endPoint)`

  `-------------------------------------`

  Creates a `NXOpen.Line`.

  Signature `CreateLine(startPoint, endPoint)`

  Parameters:

  - startPoint (`NXOpen.Point3d`) – Start point
  - endPoint (`NXOpen.Point3d`) – End point

  Returns: |
  Return type: | `NXOpen.Line`

  New in version NX3.0.0.

  License requirements: solid_modeling (“SOLIDS MODELING”) OR drafting (“DRAFTING”) OR cam_base (“CAM BASE”) OR geometric_tol (“GDT”) OR insp_programming (“INSPECTION PROGRAMMING”)

  `-------------------------------------`

  Creates a `NXOpen.Line` joining given start `NXOpen.Point` and End `NXOpen.Point`.

  Signature `CreateLine(startPoint, endPoint)`

  Parameters:

  - startPoint (`NXOpen.Point`) – Start `NXOpen.Point`
  - endPoint (`NXOpen.Point`) – End `NXOpen.Point`

  Returns: |
  Return type: | `NXOpen.Line`

  New in version NX5.0.0.

  License requirements: solid_modeling (“SOLIDS MODELING”) OR drafting (“DRAFTING”) OR cam_base (“CAM BASE”) OR geometric_tol (“GDT”) OR insp_programming (“INSPECTION PROGRAMMING”)

  `-------------------------------------`

## CreatePairedInfiniteLine

`CurveCollection.``CreatePairedInfiniteLine`

  Creates a paired `NXOpen.InfiniteLine` that is paired to the specified line.

  Signature `CreatePairedInfiniteLine(line)`

  Parameters: | line (`NXOpen.Line`) – Paired `NXOpen.Line`
  Returns: |
  Return type: | `NXOpen.InfiniteLine`

  New in version NX7.5.0.

  License requirements: nx_layout (“NX Layout”)

## CreateParabola

`CurveCollection.``CreateParabola`

  Overloaded method CreateParabola

  - `CreateParabola(center, focalLength, minimumDY, maximumDY, rotationAngle, matrix)`
  - `CreateParabola(center, xDirection, yDirection, focalLength, minimumDY, maximumDY)`

  `-------------------------------------`

  Creates a `NXOpen.Parabola`. The parabola will be created in a plane which passes through center and whose normal is the Z axis of the orientation matrix. (matrix.Element.xx, matrix.Element.xy, matrix.Element.xz) is the X axis of the orientation matrix. (matrix.Element.yx, matrix.Element.yy, matrix.Element.yz) is the Y axis of the orientation matrix. The rotation angle is measured relative to the X and Y axis of this orientation matrix.

  Signature `CreateParabola(center, focalLength, minimumDY, maximumDY, rotationAngle, matrix)`

  Parameters:

  - center (`NXOpen.Point3d`) – Center of parabola
  - focalLength (float) – Focal length
  - minimumDY (float) – Minimum DY width
  - maximumDY (float) – Maximum DY width
  - rotationAngle (float) – Rotation angle in radians
  - matrix (`NXOpen.NXMatrix`) – Orientation matrix for the parabola

  Returns: |
  Return type: | `NXOpen.Parabola`

  New in version NX3.0.0.

  License requirements: solid_modeling (“SOLIDS MODELING”) OR drafting (“DRAFTING”) OR geometric_tol (“GDT”)

  `-------------------------------------`

  Creates a `NXOpen.Parabola`. The parabola will be created through the origin and whose normal is Z axis.

  Signature `CreateParabola(center, xDirection, yDirection, focalLength, minimumDY, maximumDY)`

  Parameters:

  - center (`NXOpen.Point3d`) – Center of the parabola
  - xDirection (`NXOpen.Vector3d`) – X direction of the parabola
  - yDirection (`NXOpen.Vector3d`) – Y direction of the parabola
  - focalLength (float) – Focal length
  - minimumDY (float) – Minimum DY width
  - maximumDY (float) – Maximum DY width

  Returns: |
  Return type: | `NXOpen.Parabola`

  New in version NX4.0.0.

  License requirements: solid_modeling (“SOLIDS MODELING”) OR drafting (“DRAFTING”) OR geometric_tol (“GDT”)

  `-------------------------------------`

## CreateSmartCompositeCurve

`CurveCollection.``CreateSmartCompositeCurve`

  Overloaded method CreateSmartCompositeCurve

  - `CreateSmartCompositeCurve(section, updateOption, tolerance)`
  - `CreateSmartCompositeCurve(curve, updateOption)`

  `-------------------------------------`

  Creates a `NXOpen.Curve`. The smart composite curve will be created for the input section.

  Signature `CreateSmartCompositeCurve(section, updateOption, tolerance)`

  Parameters:

  - section (`NXOpen.Section`) – Section from which smart composite curve will be created
  - updateOption (`NXOpen.SmartObjectUpdateOption`) –
  - tolerance (float) – Tolerance used to join the section output curves

  Returns: |
  Return type: | `NXOpen.Curve`

  New in version NX8.0.0.

  License requirements: solid_modeling (“SOLIDS MODELING”) OR drafting (“DRAFTING”) OR geometric_tol (“GDT”)

  `-------------------------------------`

  Creates a `NXOpen.Curve`. The smart composite curve will be created for the input curve.

  Signature `CreateSmartCompositeCurve(curve, updateOption)`

  Parameters:

  - curve (`NXOpen.Curve`) – Curve from which smart composite curve will be created
  - updateOption (`NXOpen.SmartObjectUpdateOption`) –

  Returns: |
  Return type: | `NXOpen.Curve`

  New in version NX8.0.0.

  License requirements: solid_modeling (“SOLIDS MODELING”) OR drafting (“DRAFTING”) OR geometric_tol (“GDT”)

  `-------------------------------------`

## CreateVirtualBlendCurve

`CurveCollection.``CreateVirtualBlendCurve`

  Creates a `NXOpen.Curve`.

  The virtual blend curve will be created for the input blend face. The virtual blend curve behaves similarly to the original edge that the blend face was applied on.

  Signature `CreateVirtualBlendCurve(updateOption, blendFace, tolerance)`

  Parameters:

  - updateOption (`NXOpen.SmartObjectUpdateOption`) –
  - blendFace (`NXOpen.IParameterizedSurface`) – blend face
  - tolerance (float) – tolerance for computing the facsimile curve

  Returns: |
  Return type: | `NXOpen.Curve`

  New in version NX7.0.0.

  License requirements: solid_modeling (“SOLIDS MODELING”)

## CreateVirtualCenterlineCurve

`CurveCollection.``CreateVirtualCenterlineCurve`

  Creates a `NXOpen.Curve`.

  The virtual centerline curve will be created for the input blend face.

  Signature `CreateVirtualCenterlineCurve(updateOption, blendFace, tolerance)`

  Parameters:

  - updateOption (`NXOpen.SmartObjectUpdateOption`) –
  - blendFace (`NXOpen.IParameterizedSurface`) – blend face
  - tolerance (float) – tolerance for computing the facsimile curve

  Returns: |
  Return type: | `NXOpen.Curve`

  New in version NX7.5.0.

  License requirements: solid_modeling (“SOLIDS MODELING”)