--- jupyter: description: 'CATIA V5 parts in planex2d: px.FromCATPart reads the sketches of a .CATPart file as constraint sketches on their planes, with their constraints, dimensions, splines, parameters and formulas, and names what it leaves out.' --- # CATIA V5 `px.FromCATPart(path)` reads the sketches of a CATIA V5 part (`.CATPart`) as constraint sketches, together with the part's parameters and formulas. It needs neither CATIA nor another package, so the sketches of a part can be updated and swept on any machine. The reader is tested with files saved by CATIA V5R21. planex2d is not affiliated with CATIA V5 or Dassault Systèmes. The call returns a dictionary. `"sketches"` holds the sketches by their names, in the order of the part, and `"parameters"` holds the part's parameters as one `px.Parameters` set that the sketches use. The file counts in millimeters, which are converted into meters, and `scale=1` keeps the file's numbers. A new value then updates the sketches as in any constraint sketch, for example `part["parameters"].Update(w=0.06)`. See [Parameters shared by sketches](../core/constraints/parameters.md) for details. The reader takes: - **Sketch planes.** Each sketch lies on the plane where it was saved, in 3D. - **Geometry.** Points, lines, circles, arcs and splines, with construction elements as construction. Projected and intersected points and lines come in as fixed construction geometry. - **Splines.** Each spline in the style `"quintic"`, through its points, with its tangents and its curvature radii. A curvature radius becomes a dimension, `px.CurvatureRadius`. See [Splines](../core/basics/splines.md) for the style. - **Constraints.** Fix, coincidence (also of a point on a curve), concentricity, tangency, parallelism, perpendicularity, horizontal, vertical, symmetry and midpoint, and the dimensions length, distance, radius, diameter and angle. Reference dimensions come in with `reference=True`, and elements fixed together as a rigid group. - **Parameters.** The part's lengths, angles and plain numbers, with their names. A parameter named `h`, `v` or `t` gets a trailing underscore and a warning, because these letters are a curve's coordinates in planex2d. - **Formulas.** A formula that drives a dimension becomes an expression of its sketch, written in the parameters and dimensions it uses. - **Names.** The names given to elements and constraints become their ids, and the others get planex2d's own ids. The saved geometry already satisfies the constraints, so nothing moves when a sketch is read. What has no counterpart in planex2d is named in one warning per sketch. An ellipse comes in as a fixed curve of its formula, and an equidistant point, a projected face outline and a constraint on a spline's tangent are left out. The part's 3D features, such as pads, pockets and surfaces, are not read, and one warning names them.