Please re-add support for Targets!

Locking a footprint is actually available in v5, so I’ll need to test and verify that it wasn’t a feature that I’d missed. Thx.

My solution is to put all footprints on the schematic too. Even things such as mounting holes. That is another way to make sure they do not get deleted while updating the PCB. KiCad even has default schematic symbols for mounting holes. But there do not seem to be symbols or footprints for alignment targets in KiCad’s default libraries.

1 Like

Agreed, and tying graphics & logo’s for a board to the mounting hole is something that I’ve done before. But as you noted there are not symbols or footprints for alignment objects in the symbol library. Because the code for the drawing the targets are still in v8.x, with only the UI having been removed, the suggestion is to restore the UI - but add the option to move the alignment targets to other layers.

The outcrop is caused because the the “outcrop” is merged into the cut layer for the board. It effectively increases the board size - and - board production houses might actually produce it that way.

I spotted the problem early on and stopped using targets for awhile because I was annoyed - then I realized I could just edit the “.pcb” file manually and move the target to a “margin”. That simplified life for a number of later board designs.

I also learned to change the targets from edge cut to margin - after I was sure the board had been checked, cross checked and checked again for the parts placement. Those outcrops became a large visual flag that there was just one more step to do before the final gerbers were shipped out.

The corner of this board is from one that I had uploaded to JLCPCB with the targets on the edge.cut layer. They could actually produce the board that way!!

The attached pix is an example of why targets weren’t used more… (in my opinion).
target_outcrop_example

That is unlikely to happen. The KiCad developers have apparently decided they don’t like these targets, and that is the reason they have removed them from the UI. The code is still in KiCad, likely only to maintain compatibility with older designs.

If you want to contribute, then design some nice symbols and footprints for targets, and submit them to the librarians for inclusion in the official libraries.

The reason I posted was to try to start up the discussion and ask KiCAD developers NOT to fully retire targets. Instead to better explain why there is still a use and a need for DIRECT support for targets in the UI.

There are other PCBnew board UI tools which are not always used by the bulk of the users - but removing them removes away functionality for some that it might be critical. For example, I have never needed to create an onboard antenna - yet there is support - because certainly there is a need. I could be just as easy to delete that UI for the antenna and tell users to write a script that generates a symbol with the antenna – and – let everyone generate their own designs.

That’s counter productive.

2 Likes

As the target handling code is still present in KiCad maybe a Python plugin could be produced to add the UI requested by OP.

1 Like

Or just copy the prior Kicad code for the UI and update it as a plugin.

So long as the target object for rendering is still in Kicad, Adding a target is:

" (target plus (at X, Y) (size 5) (width 0.05) (layer Margin) (tstamp HEX)) "

written to the .pcb file.

1 Like

As a compromise, keep this text saved somewhere.


(kicad_pcb (version 20240108) (generator "pcbnew") (generator_version "8.0")
  (target plus (at 0 0) (size 5) (width 0.05) (layer "Margin"))
)

Copy it to clipboard. Paste it to the board in the PCB Editor with Ctrl+V.



Change the properties as needed. (Shape is 0 or 1.)

4 Likes

I verified this in V8.0.4 and it works.

And this is also the normal way Copy & paste works in KiCad. For example:

  1. Select any object.
  2. Press [Ctrl + c] to copy it.
  3. Open a text editor and paste it there with [Ctrl + v]

Your object will now be pasted as text in the text editor.

So instead of keeping the text around, you can also copy the target from any PCB (template) that has one and then paste it in the other project.

Or make a template that already has some targets on it and use that template to start new projects from.

1 Like

Yes, but then there needs to be some means to let KiCAD team know that the handling code for targets might still be used in later versions of 8.x , future KiCad V9.x, 10.x and so on.

The use of the handling code needs to be documented. Otherwise stuff might break in the future.

From a software support process - it’s better that it gets logged into KiCAD development - even if the target code is simply tagged as supported by user written UI.

1 Like

Targets should not be placed on edge cut or the margin layer. That results in an exclusion of the copper fill around the target.

Instead a better choice is to place the Target on the “Dwgs User” layer.

(kicad_pcb (version 20240108) (generator “pcbnew”) (generator_version “8.0”)
(target plus (at 0 0) (size 5) (width 0.05) (layer “Dwgs.User”))

Again this presumes that rendering of the “target object” isn’t removed in later versions of KiCAD. It would be better if the support for target remained but the layer can be selected.

See:

)

I agree that these targets should not be placed on the margin layer. But in this thread it is mentioned a few times to add them to the margin layer, so that is a bit contradictory.

I have not re-read the whole thread. It looks like you are mainly using the target as a sort of extra snapping point inside KiCad. There is a need for improvement here, but I am not sure what direction that improvement should be in.

Not used for just snapping, but as a dimensional layout tool. Instead of using a separate CAD tool for the mechanical layout. It’s possible to place targets and and lay out the the dimensions, then connect the points with either edge cuts, margins, or using the targets to place the mount holes precisely.

Then if we find the board size has a problem (mfg says it’s too small or too large for price bracket). The critical points in the layout are still there in the targets, even if you’ve deleted the edge cuts and removed the margin layer. It’s possible to then nudge the targets corners that need to be moved and then quickly set edge cuts , margins and zone fills.

So you’re using the targets as (semi) temporary reminders of coordinates and “stuff”.

I (think I) understand your point, but I do not find it very convincing. To me the targets do not have any sort of meaning, and when I see one, I do not know it’s purpose.

Consider this method:
If you want to modify Edge.Cuts, then first make a copy of all lines on Edge.Cuts, and place that copy on a user layer. You can rename the layer to “Old_Edge” or whatever. This gives you snap points to all old coordinates of Edge.Cuts, and you can always compare differences between the old and the new.

And that is probably part of why targets were removed from the UI in the first place. But I’m still curious if you have a use for them which does not have a better alternative.

That was one example of the use of the target.

Targets are fiducial marks much like some of the other drawing and fab layers. The original use as a point on the board so you can align multiple layers of mylar has long ago been replaced with the better PCB cad tools like KiCAD.

They can also be placed as reference points for the measuring tool. That’s another area where I use them frequently.

The reason why targets became a thorn in the side of many was the impact that the target had on the outside board cuts and the zone fills. The solution to that problem isn’t to stop supporting targets - it should have been to move it to a drawing layer where it doesn’t interfere with zone fills.

The UI simple fix is to allow the KiCAD user to specify the layer for the targets without using a manual editor. And to prevent confusion move the default target off of the edge-cut to a drawings layer. If someone wants it back on edge-cut or margin - the right click on the target and select the layer.

Why not make targets as footprints in a User Layer?

ksnip_20240923-133641

Targets were an object previously in KiCAD. As such it is an object that may exist in existing PCB layouts. Targets remain as objects in other CAD tools.

If support for targets is deleted in future versions of KiCAD - existing older projects may loose content and function.

Foot prints are generally top and bottom layers, while you could create a foot print on a specific layer - it then becomes a matter of processes much different than PCB layouts of years gone by and other vendors.

Kicad, now days, has nine user layers onto which you can place, mostly, whatever you want. Does this makes Kicad “much different” in processes to other vendors?

How?

If the older version is opened in a newer Kicad, the targets will still show.
If the old board needs modifying, the old targets may no longer be of use, but that is probably a plus because the old targets, it seems, were on the Edge cuts Layer.
As I mentioned above, create some new targets or otherwise, use a few graphic lines on which ever layer you desire.

The software developers at the present time only removed the UI interface to add targets, but they left in (for the current time) the rendering of the targets.

I’ve brought in older KiCAD 5.0 designs, and am able to click on the targets and move even in KiCAD 8.04. You just can use a KiCAD button to drop a target on the board. You can duplicate a target and place.

But the biggest issue with targets - were that they were fixed to the edge cut layer UNLESS you used a text editor to manually move the target to other layers. That remains the issue today.

The better method would be to add the layer choice to targets with a right click, create them on a Drawing User layer.

Some PCB shops still prefer a target that is on a copper layer – because they use automatic computer recognition of targets for board alignment of the pick-n-place… (some not many any more). But targets are also useful for leaving a persistent measurement reference point on the boards. AND targets are available on other PCB CAD tools so there is a reason for maintaining some degree of similar functions.