Major feature request regarding drawing

Nothing unusual. They are not a drawing tools.

Being amazing is certainly not the main motivation behind KiCad.
I don’t feel I lost any time because of KiCad (and previously used by me Protel) being not a perfect drawing tool. I lost much, much more time because Protel 3 was not perfect in routing what is the reason I moved to KiCad which (now) is much better in it.
The much more important in my opinion are the technically needed features then replacing drawing in standard way with drawing by designing constrains. For example a possibility to specify by parameters clearances needed for isolated part of PCB. I know it is possible in V6 using some script but I didn’t tried it yet. Certainly defining it without need to write a line of code by the user would be better. I also don’t know yet how with allowing to smaller clearance just near the IC and keep it higher at the rest of PCB.

1 Like

I would argue that far from being bloat, drawing is a core part of capturing design intent. The fact that people are doing this is external programs to avoid fighting with the clunky built in tools shows how important it is.

2 Likes

Duplication of effort is the definition of bloat. As long as Kicad makes it possible to use the information from other programs it has done what it needs to do.

Again, you are arguing for something the software world evolved away from a few decades ago. What you are arguing is that office suite programs shouldn’t be split up into word processors, spreadsheets, etc. If I do engineering reports I could argue an office suite needs built into Kicad because I want to use only one program.

You are allowed to have an opinion but this one was settled a few decades ago.

2 Likes

No, you’re arguing for the old unix way of small programs composed to do big tasks. But it doesn’t work in the GUI world because interchange is too complicated and far from a solved problem.

DXF import works ok if a bit kludgy for board outlines etc. But what if I want to dynamically position connectors with a certain spacing that’s maintained as I drag them around, and have the board edge flow with them as well? Trivial to set up in a dimensional drawing program, impossible even with kicad+stepup.

1 Like

I think this is a poor analogy.

Writing a document is a different task to working with a spreadsheet. It makes sense to have them as seperate apps.

Drawing is an integral part of making a PCB. It would be pretty difficult to make a board without drawing at least something. The fact that people have to jump out to an external app proves that the task is both necessary and clunky/unpleasant to do inside KiCAD.

1 Like

This quote is from your original post, way up there ^^^.
I fail to understand just how this could work.
You mention a “pad creator” somewhere. OK, you have a graphic pad creator and you are able to draw some graphic lines around pads on different layers.
You still need to place the pads correctly, so you need a measuring device, ie. a ruler, or grid.
Pads are placed from the centre-line for hole drilling and P&P placing tolerances so you need the calculator.
Pads for an item need to be constrained so a group can be moved… drawing blocks around groups of pads, designed to be a footprint, would be fraught with errors, so the group of pads needs to be saved as a group with the associated graphic lines
If you wish to use that group of pads at a later date, it needs documenting and saving somewhere.
If you want a DRC, the pads need numbering and that group of pads needs to be associated with a schematic and symbol.

There is probably a lot more if I bother to think about this, but what you are writing about already exists in the footprint editor, and the footprint editor makes this process very quick and easy.
Your process of designing footprints just has to take longer to accomplish than the editor unless you basically duplicate that editor on the PCB drawing. If duplicating the editor on the PCB is what you wish, you will still need to turn it on and off, which is exactly the same as using the footprint editor.

Please enlighten me if you have some other idea for a footprint design tool.

The idea would be that you could drop pads roughly in position, then set up constraints. These could be dimensions from pad center or from the pad edge to something else. It depends on how the datasheet is drawn. You could make arrays of pads, construction lines for offset, centerlines etc. The pad itself would be a primitive object. Holes would be another primitive.

You could set the dimensions of a pad via dimension constraints or as a property. You would use whichever is most convenient for what you are trying to draw.

If you have ever drawn in a proper CAD sketch solver, you would get the idea.

Obviously some sort of wizard is fine for your basic DIP or SOIC, but there are tons of weird footprints out there with weird dimensioning. This includes connectors and other semi mechanical components.

2 Likes

Back in the days that I used ultiboard 5.7 for drawing my PCBs there was no decent way to draw footprints or PCB outlines so I started drawing my footprints with autocad. I created my own stand alone tool that converts autocad DXF to ultiboard, including pad shapes. I am so used to this way of working that I extended my tool to convert the autocad footprints to the kicad_mod format when I finally moved from the prehistoric ultiboard to Kicad (which only happened a year ago…)

Since the ultiboard-part of my tool is bidirectional I can export ultiboard footprints back to dxf format and convert them to kicad format…

2 Likes

Tool has recently been updated, conversion between dxf and kicad is now bidirectional (kicad 6 format).
Tool can also automatically generate silkscreen based on pads and component shape.

1 Like

KiCad is not very good at modifying existing tracks.
Edit: What I wrote is true, but now when I have read the rest of the posts, it is also off topic. I will probably delete or forget this post.

… or walking the dog.

3 Likes

@JeffYoung It’s terrible at modifying existing tracks! Yesterday I tried to modify a racing track using KiCad and it didn’t work at all!

@LM21 How about giving some more concrete feedback what’s not very good? Are you referring to modifying copper tracks or graphical items or both?

What I don’t like in KICad is that it is hard to edit or clean old tracks. It is difficult remove unwanted corners for instance.

Great, this is more detail but we still don’t have enough information to understand what improvement you want. Could you perhaps make a movie showing the difficulty you have and share the PCB design here?

T.

As manual routing is done by hand, you often have traces with many dented buckles. Trying to flatten them, usually needs many attempts. Therefore a more automatic function is imaginable if the trace is already routed between A and B.

  • select the trace in complete length or some consecutive segments of interest
  • press a button like “reroute” or “gloss” or “flatten”

This should re-route the trace again with minimum possible length and corners not adding any vias itself. The probablity of successfull connection is very good for the autorouter as the trace was connected before and he should not deviate from the previous path.

For other EDA, this functionality looks like a rubberband trace what automatically lays alongside its neighbours obstacles. If the function performs well, it could be the basic prerequisite of moving components with connected traces

Search for “gloss” in the issue tracker. I’m pretty sure there’s already a feature request in there for this…

1 Like

This statement makes it sound like this feature doesn’t exist today, but it does. “glossing” as you call it is applied to the traces during the move.

Did not explore this in my 6.10 installation yet. Its 6.99? If I move a footprint, traces remain unchanged and connect by ratsnest. No MR for #9834 at the moment ?

Use the Drag command, not Move

This doesn’t affect 9834, there is still no standalone Gloss command as requested in that issue

1 Like