Watch the VIDEO on how the PLC clips were made. The thread below explains how to import a DXF file into FreeCAD and deal with shapes that aren't closed and won't extrude.

I used LibreCAD's native file format which is already DXF. I needed to make some plastic clips for PLC modules that were broken. I took measurements from a good OEM clip and made my 2D LibreCAD drawing from them. That looks like THIS. Depending on the part, this may take some time to create. The clip has one hole in it for a spring pin. You can create a 3D model using FreeCAD from the 2D drawing by importing the DXF file, extruding it and applying a boolean cut for the hole. Then exporting the model as an STL file. I used PrusaSlicer and my i3 MK3 printer to make the part (PETG filament).

1) Open FreeCAD (V0.19)
2) Select the Draft Workbench.
3) Use File->New
4) Select Utilities->SelectPlane->Top(XY)
5) Go to a top view.
6) File->Import to bring in the LibreCAD DXF file.

Hit the Model Tab to see all the shapes FreeCAD creates from the DXF file. Delete any unnecessary points that were used in the 2D drawing. Then select all the shapes.

7) Then Modification->Upgrade. You'll be left with Wire, Wire001, etc.
8) Switch to the Part Workbench not the Part Design Workbench.
9) Make sure Wire and Wire001 are selected. Wire should be above Wire001, etc.
10) Select the "Extrude a selected sketch". Block icon with up arrow. Make sure to check Create Solid.
11) Set your Along distance and Z: Custom direction which can be left at -1.00 (default). Hit Apply and then Isometric view. You'll see the 3D shape now. Close box with OK.
12) You may see extra extrusions in the model (Extrude002, Extrude003). Mouse over these to confirm duplicates. Delete these if present.
12) Select Extrude then Extrude001. Note that order makes a difference.
13) Use the boolean "Make a cut of two shapes" icon (blue and white overlapping circles). This will subtract out the lower extrusion from the upper one and effective cut the hole.

Give the model a name then save the project file. You'll see boolean Cut in the Model Tab window now. Select this then File->Export and make sure to supply the .stl extension after your name. The STL file can then be used to print the part.

Your situation may vary depending on your part design. The above steps are basically the same process regardless. View the Slide Show to see photos of the repair parts.

Note that regarding importing DXF profiles, they must be closed to process properly. In my part there are two closed profiles and I had some issues. The outer configuration of the clip and the hole within were my two closed profiles. When this is upgraded, it will generate Wire and Wire001 for each profile. FreeCAD is fussy about closed shapes. In LibreCAD I had a trimmed circle that connected to vertical lines. For some reason this wasn't closed which prevented the extrusion from making a solid. To fix this I went back into LibreCAD, deleted the offending geometry and drew it again. That fixed the "closed" shape problem. From the Draft workbench in Edit->Preferences->Import-Export DXF tab there are options which I left as the defaults. Also in Edit->Preferences->Draft General Settings tab is an internal precision level which I set to 8. If you're careful in your 2D program with constructing geometry, profiles should be closed.

Trimmed Circles & Tangent Lines:

In LibreCAD you may experience problems with imported DXF files not being closed after upgrading to WIRE, WIRE001, etc. This happens with some geometry that uses lines tangent to circles from a point. Or trimmed circles. For partial (or trimmed) circles I found deleting the partial circle and rebuilding it with Tools->Curve->Center, Point, Angles created closed geometry. Trim the circle as needed and place tangent lines. Place a point at the circle center. Delete the circle and then rebuild with the arc tool.

You can email me if you scroll down and hit the "The Admin Guy" link. Should you need more information.

Evolve and simplify!
Scott Bridgman, Why not join and post your own comments?? (email me)