--- jupyter: description: 'Workflows with planex2d in Python, from the file or the task at hand to the finished result: a DXF drawing to a mesh, cleaning up imported drawings, dimensioned drawings from sketches, laser cutting, profiles to STEP, circuit boards to 3D and simulation-ready geometry.' --- # Start here The Workflows pages go from what you have to what you need in one piece of code. Each page starts with the complete workflow in one cell, ready to copy and run, and then goes through it step by step, with the plots along the way and links to the pages that explain each call. Find the row with what you have and what you need: | You have | You need | Workflow | |---|---|---| | A DXF drawing of a part | A finite-element mesh with named boundaries | [From DXF drawing to mesh](dxf-to-mesh.md) | | A drawing whose curves are many short lines, with small gaps | A clean outline of lines and arcs, as DXF | [Cleaning up imported drawings](cleaning-up-a-drawing.md) | | A constraint sketch | A dimensioned drawing on a sheet, as PDF or DXF | [From sketch to dimensioned drawing](sketch-to-drawing.md) | | A flat part as a planar STEP file | Its thinnest web and smallest opening checked, and a cutting path with the kerf, as DXF | [Preparing parts for laser cutting](laser-cutting.md) | | A 2D profile | A 3D part with holes, as STEP | [From 2D profile to 3D part and STEP](profile-to-step.md) | | A sketch in a .CATPart file | A parametric model to change in Python, and a 3D part as STEP | [From .CATPart file to parametric model](catpart-to-parametric-model.md) | | A circuit board from KiCad, Altium, Eagle or another tool | A 3D model as STEP, or a mesh of one net's copper | [From PCB board to 3D model or mesh](pcb-to-3d-and-mesh.md) | | Faces of different materials, without names | A mesh with materials, boundary names, periodic sides and local sizes | [Simulation-ready geometry](simulation-ready-geometry.md) | Most workflows take more than the file in their example: a DXF or SVG drawing, a planar STEP or BREP file, a sketch from a .CATPart file or a Shapely polygon, and each page lists its readers in a table near its end. Pages with a mesh or a 3D part need the OpenCASCADE bindings and netgen, `pip install "planex2d[occ]"`, and the mesh pages also use NGSolve (see [Installation](../core/installation.md)).