Working in the Footprint Editor how might I go about drawing a Filled Circle in the F.SilkS Layer?


#1

Hello All,

My system…
OS: Windows 10 Pro Version 1703.
KiCad Version: 4.0.7, release build.

I am a recent convert. Six months as of 03, September, 2017. Coming over to KiCad from what used to be “Cadsoft” EAGLE. After using EAGLE for nearly 20 years, I want to make sure everyone understands that I am not trying to insist that KiCad function in the same manner that I have grown accustomed to in EAGLE but rather come to an understanding of the methods recommended to accomplish similar tasks. All guidance is very much appreciated.

Although by no means a critical design need, I thought I would start with this…,
Working in the Footprint Editor how might I go about drawing a filled circle in the F.SilkS Layer?

So far I have tried the following:
1.) Changed “Item thickness” using the Circle Properties Dialog and by editing the circle property “width” in Notepad++. Did not work but I did learn that if I set the width to zero using the text editor that I could no longer select the circle for editing in the Footprint Editor. I could see it, but not edit it. Also found it interesting that the line width is referred to as “thickness” in the Properties Dialog Box but “width” in the text of the file. Not a criticism, just an observation.

2.) Drawing the filled circle in a Cad program, exporting as DXF then importing into the Footprint Editor using the default Import DFX File under File menu. Tried various saved versions of the AutoCad DXF file including R2013/2015, R2010/2012 and R2007/2009. Although a circle and a few lines were imported these all turned out to be individual entities as evidenced while viewing the file in Notepad++.

3.) Added a circle pad with the properties of Pad Type = Connector, Layers/Copper: = None and deselecting all Technical Layers except the one I am interested in (F.SilkS). Although this proved to me that it is possible to display (draw) a filled circle, I’ll not proceed to use this method because of the high potential of unforeseen design conflicts that might arise. This filled circle renders as “Pads Front”.

I have also searched through the KiCad Footprint Library Format documents but found no drawing command to render a filled circle.

Thanks,


#2

Very crude&simple&fast - draw a circle with half the diameter of the one you want and set it’s line thickness to half it’s diameter as well.
Be warned, some fabs in China aren’t able to do circles on silkscreen - arcs or line segments only with those.

Another approach (and the advised one) is to use the Bitmap2Component tool that ships with KiCAD.
It’s output is a zone, that is circumscribed by line segments - the higher resolution your input image - the smaller those segments and thus the ‘smoother’ your zone outline.
Naturally this is an approximative solution that converts stuff from one format to the next, etc…
If you know what you’re doing and you got that kind of zone definition in a footprint you can create those zone outline coordinates with a script yourself with as many segments as you desire and make the outcome very exact.
This would be solution #3 that’s on offer to solve your problem - check out this to get you an idea :wink:


#3

I don’t claim to be a KiCAD “expert”, and I’m certainly not a developer, but I have gleaned most of the following information from this Forum over the last two years or so.

Sometimes KiCAD is a little sensitive about selecting things with a click (or with the hotkeys “E”, “M”, “R”, etc). Zooming in to a high magnification helps, but I usually do a “Block Select” by “drawing” a box around the item I want to edit, then doing a right-click.

[quote=“ADMsystems, post:1, topic:7664”]
. . . interesting that the line width is referred to as “thickness” in the Properties Dialog Box but “width” in the text of the file . . . . [/quote]
Expect to see this kind of inconsistency among the menus, documentation, and file syntax. KiCAD is an open-source collaborative effort of many people, from several cultures, with several different first-languages. Some of the terms and phrases that seem strange or confusing in English are quite reasonable when traced back to the native language of the original developer.

It’s impressive that you used a text editor to examine the KiCAD file. (“Notepad++” has a lot of fans on this Forum!) All of KiCAD’s data files are plain-text, human-readable. On several occasions I have clarified my understanding of something in KiCAD by opening the data file and studying its syntax. It’s even possible to edit your board or schematic in a text editor, but I wouldn’t recommend doing so unless you have exhausted all other approaches.

[quote=“ADMsystems, post:1, topic:7664”]
. . . Tried various saved versions of the AutoCad DXF file including R2013/2015, R2010/2012 and R2007/2009 . . . [/quote]
I believe the DXF version officially supported by KiCAD is rather old - perhaps version R12, circa 2005. A few Forum members seem to be knowledgeable about incompatibilities with other versions. KiCAD support for EXPORTING a DXF file seems to be very crude and incomplete. There are 3rd-party scripts that do a much better job than the built-in feature.

Here’s a filled circle with 100 mil diameter, using this method.

It’s rumored that this problem comes from a buggy, “cracked” version of Gerber software. I haven’t had this problem yet, but I’m sure the day will come when I do. A suggested accommodation is to create the circle from two arcs:

The two vaguely obscene shapes on the left are 180 degree arcs, offset by 35 mils for illustration purposes. When their center points are aligned you get the filled circle shown on the right.

[quote=“Joan_Sparky, post:2, topic:7664”]
. . . Another approach (and the advised one) is to use the Bitmap2Component tool that ships with KiCAD.It’s output is a zone, that is circumscribed by line segments . . . [/quote]
The Analog Artisan within me likes my circles to be a single-entity circle, not a collection of a few dozen line segments.

Dale


#4

Another option is to place a pad without pin number, copper, paste and mask but with silk selected. (yes for some reason pads can include silk.)


#5

As we’ve found, there is not a direct way to do that but there are workarounds. In order to avoid the XY problem, I have to ask why do you need a filled circle?

If it is to mark pin 1, an unfilled circle is usually acceptable. If you are creating complex graphics, e.g. a logo or something, it is probably better to create it outside KiCad then import it.


#6

Thank you all for the much appreciated replies.


Yes, for denoting cathode, pin 1, etc. with a 0.2286 mm radius dot. Would by no means say it qualifies as a “need”. Simply realized it was not easily done.


Right and thank you. I believe this is the same as what I mentioned trying here.


Now thats funny. I can relate.


Good to know.


This is the method I have applied so far. Unfortunately this method is a bit encumbered by the fact there is no Radius property to manipulate directly in the Circle Properties Dialog box…, but I adapted.
Item thickness = desired radius
Center X and Y = desired location
Point X = Center X
Point Y = (Center Y - (Item thickness / 2) )

Gave it a try but got an error.
Using:
Python 3.6.2 (v3.6.2:5fd33b5, Jul 8 2017, 04:14:34) [MSC v.1900 32 bit (Intel)] on win32

C:\WINDOWS\system32> C:\Users\ADMsystems\Documents\KiCad\PythonScripts\KiCAD_CopperFillPoly.py>KiCAD_CopperFillPoly.txt
File “C:\Users\ADMsystems\Documents\KiCad\PythonScripts\KiCAD_CopperFillPoly.py”, line 37
print FNC_poly (Center,
                      ^
SyntaxError: invalid syntax

Thoughts?



#7

KiCad should be using python 2.7. Other users have reported using python 3.6, but I’m not sure how that works.

I know that the error you posted is because that is a 2.7 print statement, without parenthesis around the print argument. Is there a way to get KiCad to use python 2.7, like it should by defaullt?


#8

If you got python 3 installed, browse to the folder that contains this:

2to3.py

It will convert python 2 scripts to 3 automatically, if possible.
For me it’s located here:

C:\Python36\Tools\scripts\


#9

That did the trick. Thank you.


#10

To summarize the discussion: Filled circles are not possible via the GUI, right ?