Root/
| 1 | <HTML> |
| 2 | <HEAD> |
| 3 | <TITLE>Fped GUI Manual</TITLE> |
| 4 | </HEAD> |
| 5 | <BODY> |
| 6 | <H1>Fped GUI Manual</H1> |
| 7 | |
| 8 | This manual introduces the basic concepts of Fped and explains the elements |
| 9 | of the graphical user interface. Please refer to the file |
| 10 | <A href="README">README</A> for more |
| 11 | technical details and a discussion of the scripting language used by fped. |
| 12 | |
| 13 | |
| 14 | <H1>Objects and instances</H1> |
| 15 | |
| 16 | Footprints tend to be highly repetitive, with many pads placed in a |
| 17 | simple geometrical pattern. With fped, the user specifies the elements |
| 18 | to repeat and the way they are repeated. Fped then generates the |
| 19 | repetitions automatically. |
| 20 | |
| 21 | <H2>Hands-on example</H2> |
| 22 | <P> |
| 23 | Here is a simple example that illustrated the basic steps of constructing |
| 24 | things with fled: |
| 25 | <UL> |
| 26 | <LI> Start fped without a command-line argument. |
| 27 | <LI> Right-click on the yellow field that says "(root)" and select |
| 28 | "Add loop". An entry saying "_ = 0 ... 0 (0)" appears next to the |
| 29 | yellow field. |
| 30 | <P><IMG src="manual/intro-1.png"> |
| 31 | <LI> Click on the underscore, type <B>n=1,5</B> and press Enter. |
| 32 | The entry should now show "n = 1 ... 5 (1 2 3 4 5)" |
| 33 | <P><IMG src="manual/intro-2.png"> |
| 34 | <LI> Click on the dark-yellow vector icon on the right-hand side. |
| 35 | A red frame shows that it is selected. |
| 36 | <LI> Move the mouse pointer to the green dot in the middle of the |
| 37 | black canvas. A red circle appears when the pointer is over the |
| 38 | dot. |
| 39 | <LI> Press the left mouse button, drag a little to the right, and |
| 40 | release the mouse button. A white line appears and changes |
| 41 | to dark yellow after the button is released. |
| 42 | <LI> Click on the yellow line. It is now shown in bright yellow and |
| 43 | a number of text entry fields appear below the canvas. |
| 44 | <P><IMG src="manual/intro-3.png"> |
| 45 | <LI> Click into the field on the top that probably says "0.1mm", |
| 46 | change it to <B>n*1mm</B> and press Enter. |
| 47 | <LI> Select "Zoom all" from the "View" drop-down menu. The canvas |
| 48 | should now show the green dot on the left, with a yellow arrow |
| 49 | pointing to the right, and four more even darker arrows following |
| 50 | that arrow. |
| 51 | <P><IMG src="manual/intro-4.png"> |
| 52 | <LI> Click on the icon depicting a light-blue circle. |
| 53 | <LI> Move the mouse pointer over the green dot, then drag to the |
| 54 | circle at the end of the vector, and release the mouse button. |
| 55 | A series of partial circles should appear. |
| 56 | <P><IMG src="manual/intro-5.png"> |
| 57 | <LI> Select "Zoom all" again to show the full circles. |
| 58 | <P><IMG src="manual/intro-6.png"> |
| 59 | </UL> |
| 60 | The graphical items you have entered are a vector and a circle with the |
| 61 | radius determined by the vector. We call these items "objects". Furthermore, |
| 62 | you have defined a variable that gets set to the values from 1 to 5, in |
| 63 | increments of one. Fped had repeatedly drawn the objects for each such |
| 64 | value. We call the item that have been drawn "instances". |
| 65 | <P> |
| 66 | The innermost vector and circle are highlighted. You can highlight other |
| 67 | instances of the same objects by clicking on the numbers (1 2 3 4 5) shown |
| 68 | next to the loop. |
| 69 | |
| 70 | <H2>Conceptual view</H2> |
| 71 | The following picture illustrates the concept: the model is defined in |
| 72 | terms of objects, in this case a vector from the origin to the circle's |
| 73 | center, a vector for the radius, and the circle itself. |
| 74 | <P> |
| 75 | <IMG src="manual/concept-inst.png"> |
| 76 | <P> |
| 77 | The vector to the center uses a variable that gets iterated through the |
| 78 | values 0, 1, and 2. For each iteration, an instance is generated. |
| 79 | <P> |
| 80 | Only the instances of silk screen objects and pads are exported to KiCad. |
| 81 | Elements used for construction, such as vectors, only appear in fped. |
| 82 | |
| 83 | |
| 84 | <H1>Frames</H1> |
| 85 | |
| 86 | Frames serve various purposes: |
| 87 | <UL> |
| 88 | <LI> To structure the footprint drawing by grouping like elements. |
| 89 | For example, one may want to place pads, outline, and the keep-out |
| 90 | area in different frames, and probably subdivide some of those |
| 91 | constructs even further. |
| 92 | <LI> To define an element that is used in several places. For example, |
| 93 | a pad. |
| 94 | <LI> To define a repetition through a loop or a table. |
| 95 | <LI> To set variables for child frames. |
| 96 | </UL> |
| 97 | |
| 98 | At the bottom of the hierarchy, we have the root frame. To add another |
| 99 | frame, right-click on the root frame's label "(root)" and select "Add |
| 100 | frame". |
| 101 | <P> |
| 102 | To be able to put items into the new frame, it has to be attached to |
| 103 | the root frame (or to any other frame that's attached). This is called a |
| 104 | <I>frame reference</I>. First, we need a place to attach it to. This |
| 105 | can be the origin of its parent frame or it can be the end of a vector |
| 106 | in the parent frame. To create the frame reference, do this: |
| 107 | <P> |
| 108 | <UL> |
| 109 | <LI> Click on the parent frame to select it. |
| 110 | <LI> Press the left mouse button on the frame you wish to reference |
| 111 | and drag it (move the mouse pointer while keeping the left button |
| 112 | pressed) into the canvas. When dragging, the mouse cursor changes |
| 113 | to show a hand. |
| 114 | <LI> When the mouse pointer is above a suitable point of attachment, |
| 115 | the point of attachment is highlighted with a red circle and the |
| 116 | mouse cursor changes to show a hand with a plus sign. |
| 117 | <LI> At the desired location, release the mouse button. |
| 118 | </UL> |
| 119 | |
| 120 | If you wish to cancel the operation, simply release the mouse button at |
| 121 | any place that isn't a point of attachment. |
| 122 | |
| 123 | |
| 124 | <H1>Variables</H1> |
| 125 | |
| 126 | |
| 127 | <H1>Iconography</H1> |
| 128 | |
| 129 | The right-hand side of the fped window shows the component being drawn on a |
| 130 | black background. We call this the canvas. It is surrounded by a toolbar on |
| 131 | the right side and a few buttons with visibility options at the top. |
| 132 | |
| 133 | |
| 134 | <H2>The canvas</H2> |
| 135 | |
| 136 | |
| 137 | <H2>Blue screen</H2> |
| 138 | |
| 139 | When an expression uses an unknown variable or evaluates to an incorrect |
| 140 | value (e.g., a bare number where a dimension is expected), the |
| 141 | instantiation fails. Fped indicates this by changing the background color |
| 142 | of the canvas from black to blue. The cause of the failure is explained |
| 143 | in the status bar at the bottom. |
| 144 | <P> |
| 145 | In this state, the canvas is no longer updated when making changes until |
| 146 | the problem has been resolved. The most common causes are a misspelt |
| 147 | variable name in an expression, the use of a number without unit where a |
| 148 | dimension is expected, or the removal of a variable that's still used |
| 149 | somewhere. |
| 150 | <P> |
| 151 | If the location of the error is not obvious, the list of objects can be |
| 152 | shown by selecting "Show code" from the View menu. The object |
| 153 | in which the error occurred is shown in red. If the error occurred in a |
| 154 | loop variable, the variable name is shown in red. |
| 155 | |
| 156 | |
| 157 | <H2>Visibility options</H2> |
| 158 | |
| 159 | When working on a complex component, the number of elements shown can be |
| 160 | overwhelming. The visibility options help to quickly hide irrelevant |
| 161 | details and get one's bearings. They are located in the menu bar at the |
| 162 | top. |
| 163 | <DL> |
| 164 | <DT><IMG src="manual/all.png"> <IMG src="manual/all_off.png"> |
| 165 | <DD>Show all frames. If disabled, only show the currently active frame. |
| 166 | <DT><IMG src="manual/stuff.png"> <IMG src="manual/stuff_off.png"> |
| 167 | <DD>Show vectors and frames. |
| 168 | <DT><IMG src="manual/meas.png"> <IMG src="manual/meas_off.png"> |
| 169 | <DD>Show measurements. |
| 170 | <DT><IMG src="manual/bright.png"> <IMG src="manual/bright_off.png"> |
| 171 | <DD>Highlight the elements that will be exported to KiCad, i.e., |
| 172 | the pads and the silk screen drawings. To show the component |
| 173 | exactly as it will appear in KiCad, also turn off vectors, |
| 174 | frames, and measurements. |
| 175 | </DL> |
| 176 | The visibility options can be combined. |
| 177 | |
| 178 | |
| 179 | <H2>Tools</H2> |
| 180 | |
| 181 | Tools are used to add new elements and to manipulate existing ones. |
| 182 | <DL> |
| 183 | <DT><IMG src="manual/point.png"> |
| 184 | <DD> The pointer. This is the default tool. The pointer is used to |
| 185 | select items and do move points of the selected item. |
| 186 | <P> |
| 187 | Clicking on an item selects it. If items overlap, the one with the |
| 188 | highest priority is selected. The priority is based on how difficult |
| 189 | it usually is to select an item, with frame references having a low |
| 190 | priority, pads, circles, arcs, rectangles, measurements, and lines |
| 191 | having increasingly higher priorities. There are a few special cases: |
| 192 | <UL> |
| 193 | <LI> The circle at the end of a vector has the highest priority |
| 194 | while its line has the lowest priority. |
| 195 | <LI> To select a frame reference, click on the L-shaped upper left |
| 196 | corner. |
| 197 | <LI> To select a measurement, click on the line with the text, not |
| 198 | the (hypothetical) line connecting the points being measured. |
| 199 | </UL> |
| 200 | If multiple items are under the mouse pointer, repeatedly clicking |
| 201 | iterates through them. |
| 202 | <P> |
| 203 | To move points, select the item, then move the mouse pointer over |
| 204 | the point to move. A red circle will appear under the mouse pointer. |
| 205 | Then drag the point to its new location and release the mouse button. |
| 206 | <DT><IMG src="manual/delete.png"> <IMG src="manual/delete_off.png"> |
| 207 | <DD> Delete the currently selected item. Whenever an item is selected, |
| 208 | the delete icon lights up. Clicking the icon deletes the item. |
| 209 | To undelete the item, press <B>U</B>. |
| 210 | <DT><IMG src="manual/vec.png"> |
| 211 | <DD> Add a vector. To add a new vector, move the mouse pointer to the |
| 212 | new vector's starting point then drag towards the desired end point. |
| 213 | Vectors are normally specified via parameters. To enter the parameters, |
| 214 | click on the new vector. |
| 215 | <P> |
| 216 | Note that the starting point of the vector has to be in the same |
| 217 | frame as the vector being drawn. This limitation also applies to |
| 218 | points defining pads and silk-screen items. |
| 219 | <DT><IMG src="manual/pad.png"> <IMG src="manual/rpad.png"> |
| 220 | <DD> Add a pad. Pads are either rectangular or rounded. They are |
| 221 | defined by two points which are opposite corners of the rectangle |
| 222 | containing the pad. Move the mouse cursor to the first point, then |
| 223 | drag to the second point. The pad's name can be edited after selecting |
| 224 | the pad. |
| 225 | <DT><IMG src="manual/hole.png"> |
| 226 | <DD> Add a hole. There are two purposes for holes: |
| 227 | <UL> |
| 228 | <LI> Pins of through-hole components. In this case, the hole has to be |
| 229 | inside a pad. |
| 230 | <LI> Mechanical support. In this case, the hole has to be outside any |
| 231 | pads. |
| 232 | </UL> |
| 233 | The construction of holes is the same as for pads. |
| 234 | <DT><IMG src="manual/line.png"> <IMG src="manual/rect.png"> |
| 235 | <DD> Add a line or a rectangle. Similar to pads, lines and rectangles |
| 236 | are defined by two points. The width of the line can be edited after |
| 237 | selecting the line or rectangle. |
| 238 | <DT><IMG src="manual/circ.png"> |
| 239 | <DD> Add circle or arc. Circles are defined by their center end a |
| 240 | point at their radius. An arc has a third point, which defines the |
| 241 | angle at which the arc ends. If this third point is not located on |
| 242 | the radius, the arc ends where an imaginary line between the center |
| 243 | and the end point would intersect with the radius. |
| 244 | <P> |
| 245 | An arc is made by first drawing a circle with the radius point at |
| 246 | the location where the arc should start. Then click and hold the |
| 247 | radius point to drag the end point to the desired location. |
| 248 | <P> |
| 249 | To change the radius point of a circle, first drag the end point, |
| 250 | then drag the radius point itself to that same location. |
| 251 | <DT><IMG src="manual/meas.png"> <IMG src="manual/meas_x.png"> |
| 252 | <IMG src="manual/meas_y.png"> |
| 253 | <DD> Add a measurement. Measurements show the distance between points. |
| 254 | They can either measure diagonally or only horizontally or only vertically. |
| 255 | Unlike other items, measurements are not limited to points in the same |
| 256 | frame. Instead, they operate on the minimum, maximum, and next greater |
| 257 | coordinates of instances of objects. |
| 258 | <P> |
| 259 | A measurement is added as follows: |
| 260 | <UL> |
| 261 | <LI> Click on one of the three measurement icons to select the |
| 262 | measurement type. All possible endpoints are highlighted. |
| 263 | <LI> Drag from the desired starting point. Now all the endpoints |
| 264 | available for this starting point are highlighted. |
| 265 | <LI> Drag to the endpoint and release the mouse button. The measurement |
| 266 | will now appear as a double-headed arrow and text between the two |
| 267 | points (if this is a diagonal measurement) or extending vertically or |
| 268 | horizontally from one of the two points. |
| 269 | <LI> To move the measurement arrow away from the two points, select |
| 270 | the measurement and set an offset. |
| 271 | </UL> |
| 272 | Sometimes, the second point becomes unavailable after selecting the |
| 273 | first point. This means that the two points are not a minimum or maximum, |
| 274 | or a minimum and the next greater neighbour. In this case, just try |
| 275 | another pair of points measuring the same distance. |
| 276 | </DL> |
| 277 | |
| 278 | |
| 279 | <H1>Keyboard shortcuts</H1> |
| 280 | |
| 281 | </BODY> |
| 282 | </HTML> |
| 283 |
Branches:
master
