Using KiCad for electrial harness design: just missing DXF import into Symbol Editor

I would love to use KiCAD to document harness designs. At a previous company, I implemented a system in Altium based on this webinar from Nine Dots Connect: https://www.youtube.com/watch?v=Vmb1xmc6pPE&t=177s

The method is fantastic. The only thing that you don’t get is electrical validation/analysis, but from a simple “draw a harness so that someone on the production team can build it”, it is a home run. The only thing missing is an way to import DXF drawings into the KiCAD Symbol Editor.

I know that this is not what KiCAD is “for”, but it would be really great if we could use it for this role.

2 Likes

Did you look at QElectroTech?

Probably easier than modifying KiCad. Overloading KiCAD with other uses is NOT my wish, it just makes life for “normal electronic” users more difficult IMO.

1 Like

The only thing missing is an way to import DXF drawings into the KiCAD Symbol Editor

Roughly 1 year ago the developers looked into their crystal ball and they saw your upcoming need to import vector graphics into schematic and symbol editor. As a result of their foresighted programming work this feature is now already available in the v7.99 development version: Post-v7 new features and development news - #35 by dsa-t

4 Likes

Love it! I was scratching my head because I can export from Symbol Editor to SVG, but I can’t import. SVG will do what I need here!

Yes, I have been looking at QElectroTech, too. I think that it would be good for system-level drawings. What I am looking for is a CAD tool to document how to build things like cables: cut x-length of this cable. Crimp these contacts onto these wires. Insert those contacts into these positions of a particular housing. Then generate a BOM from all the parts I consume. QElectroTech looks better suited to documenting how to connect those individual harness parts together into a system (although I found that AD did a great job using the same approach laid out by Nine Dots). The only stumbling block is being able to import 2D mechanical drawings of the harness parts into KiCAD’s symbol editor.

The Nine Dots method is pretty slick, and it doesn’t require any overloading with other uses. As far as KiCAD (or Altium Designer in the case of Nine Dots) is concerned, I would just be placing multi-part components from a library. It’s no different than a multi-part component to represent a quad op-amp. The only trick is that only one of the component “parts” has any electrical pins on it. The others end up being purely graphical, but there is no reason why KiCAD should care.

2 Likes

Have you also looked at WireViz? This uses .yml type files to define a wire harness. The output is available in svg format and it is easy to generate a BOM too.

3 Likes

Yes, I have looked at WireViz. I don’t like the over-reliance on text blocks to indicated housings, contacts, etc. If you haven’t already, I highly recommend that you take a look at the video from Nine Dots Connect that I included in my initial post. The key is a drawing that combines both an electrical diagram and a mechanical view of the harness being made. It’s a really brilliant approach.

The only thing that KiCAD is missing to make this approach viable is better drawing tools in the Symbol Editor. A filled polygon tool (lay down a set of points and the area enclosed by those points gets filled with a chosen colour) and ideally DXF import so that the actual work of drawing the symbols can be offloaded to a better-suited drawing package would fill in the gaps. In Altium Designer, when you import from DXF, all you do is specify scaling factor and a coordinate in your Symbol Editor space at which to place the origin of the DXF drawing. It would be fine to specify a subset of DXF elements that are supported by the import tool: lines, circles, arcs, maybe polylines. The filled polygon tool (within KiCAD) is useful for making the mechanical views opaque so that they can be stacked on top of each other in a drawn without having all of the lines show through.

Everything else is native KiCAD behaviour, and the above tools would be very useful for more “standard” usage of KiCAD.

To my mind totally unwanted and NOT what KiCAD is intended for, which is circuit and PCB design.
You are trying to change KiCAD to some kind of AutoCAD full-function mechanical design system.
Sorry, this is a “Dislike”.

Respectfully, I’m not asking for any capability that is not already inherently part of the schematic editor. KiCAD doesn’t (and shouldn’t) care about the components that get placed in the schematic editor. From the KiCAD’s perspective, they are abstract elements with a graphical representation. They may have additional levels of detail, like electrical pins, and those pins may in turn have additional levels of detail like the sorts of electrical connections they provide (power, logical input, logical output, passive, etc.), but that is not strictly necessary. We just place a component (which may be composed of subparts that can be located independently), and KiCAD simply renders the graphical representation at the specified location and in the specified orientation (i.e., rotation). It’s no different than placing a purely mechanical part in the schematic editor so that it’s footprint will be pulled into the PCB editor, except in the use-case we stop before we get to the net-list/routing stage. If a placed part has electrical pins, we can hang connections on them if we like and KiCAD will build a netlist from them, but ultimately that is a purely optional step from the CAD package’s standpoint.

In fact, KiCAD already has the harness design capability I’m describing built-in - all I am asking for is better tools to make the graphical symbols for the schematic component libraries, fully stop. I could do what I need with the Image Converter tool, but that is very cludgy and is much more bloated that a vector-based approach (which is how KiCAD already represents schematic symbols!). Given the number of posts I’ve seen here and on Reddit asking “how do I import dxf files into the Symbol Editor” would suggest that others want that capability, too.

4 Likes

(posted this before I realized someone already said it)

You’re in luck!

Nightly 7.99 (which will become V8 sometime January) has support for this.

1 Like

I 've been using kicad also for documenting all wire harness connecting multiple pcb modules. Nightly version (7.99) really helps. With all new graphic tools.
You just need to get creative by creating custom symbol for that.

Obviously you need sub folder for your project. That sub folder is a real kicad project defining single pcb. Also one sub folder defining schematic overview including wire harness.

One thing kicad needs to add is the ability to add arrowhead on graphic line.

This is good for adding notes or leader.

One thing kicad needs to add is the ability to add arrowhead on graphic line

I personally don’t like too much graphic cluttering, but you are not alone with that request. You could upvote Eeschema: Add graphical line ending options (#5028) · Issues · KiCad / KiCad Source Code / kicad · GitLab if you want to increase the weight of the issue.

Hi @sugenganthos

Why not make some arrow heads or something else?

Kicad has a library titled “Graphic”.

If you open a symbol from that library and look in Properties, in both the Symbol and Schematic Editors, you will see how Kicad deals with hiding symbol names and BOM exclusions etc.
It is then only a matter of creating a Personal Library for symbols, drawing whatever symbols you wish and using the same properties functions as the Kicad library.

1 Like

That is what i do currently. However, it it has limitation. Symbol can only rotated 90 degrees, So i create several type of arrowhead. And changes the symbol if I need to move or reorient the line. So currently this solution can be used as workaround. But not for real workflow.

45° arrows are easy also.

Draw half the arrow head, then: Duplicate, mirror, rotate X2; will give you the other half with perfect symmetry.
Join the two together and fill.
Now your rotate will give you the four 45° positions.

I put images of the connectors and accessories in my Wireviz files. Check out the documentation further.

Sorry that my earlier reply sounded terse — I was headed out to lunch. I dug up an example showing an image for a connector. See below.

I’ve done cable diagrams in KiCad as well. I can make them look good. But since there’s no “smarts” to such a drawing, I gravitate to Autocad (or in my case an autocad look-alike, Draftsight ). That’s not a perfect solution either because it’s not cheap, and 2D drafting programs it few and far between.

I found wireviz, and it seems a bit more logical to use for this task. But it is focused on making a cable assembly drawing. That’s great, but in some cases you’d want a cable schematic (instead or in addition). Maybe a happy medium would be a Python converter that would post process your cable schematic and spit out a wireviz cable assembly drawing.

  • &template_picoblade_8s
    type: PICOBLADE 8-POSN SOCKET
    subtype: female
    pincount: 8
    hide_disconnected_pins: True
    notes: Digikey WM1726-ND
    mpn: Molex 0510210800
    manufacturer: Molex
    image:
    src: images/picoblade-51021-08-socket.png
    additional_components:
    -
    type: Crimp Socket, Molex 50079-8x00
    qty_multiplier: populated # multipier for quantity (number of populated pins)
    manufacturer: Molex # set manufacter name
    mpn: 0500798x00

My code don’t format well. Here’s a snapshot that should make the indentation clear.

An example

3 Likes

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.