ModelCurve represents model lines in the project. It exists in 3D space and is visible in all views.
The following pictures illustrate the four ModelCurve derived classes:

Figure 92:ModelLine and ModelArc

Figure 93: ModelEllipse and ModelNurbSpline
The key to creating a ModelCurve is to create the Geometry.Curve and SketchPlane where the Curve is located. Based on the Geometry.Curve type you input, the corresponding ModelCurve returned can be downcast to its correct type.
The following sample illustrates how to create a new model curve (ModelLine and ModelArc):
ModelCurve has properties that help you set specific GeometryCurves. In this section, the GeometryCurve and LineStyle properties are introduced.
The GeometryCurve property is used to get or set the model curve's geometry curve. Except for ModelHermiteSpline, you can get different Geometry.Curves from the four ModelCurves;
The following code sample illustrates how to get a specific Curve from a ModelCurve.
The GeometryCurve property return value is a general Geometry.Curve object, therefore, you must use an As operator to convert the object type.
Line style does not have a specific class but is represented by the Document.Element class.