Root/
Source at commit fa98e58157b6f68396d302c32421e882ac87f45b created 6 years 10 months ago. By Werner Almesberger, fped.c (usage): fix typo "heigth" | |
---|---|
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