Source at commit 73389fba76766394f0fa11c9e48f68b5913099af created 5 years 9 months ago.
By Werner Almesberger, sanitize show var/code handling; switch to enum for future changes
3<TITLE>Fped GUI Manual</TITLE>
6<H1>Fped GUI Manual</H1>
8This manual introduces the basic concepts of Fped and explains the elements
9of the graphical user interface. Please refer to the file
10<A href="README">README</A> for more
11technical details and a discussion of the scripting language used by fped.
14<H1>Objects and instances</H1>
16Footprints tend to be highly repetitive, with many pads placed in a
17simple geometrical pattern. With fped, the user specifies the elements
18to repeat and the way they are repeated. Fped then generates the
19repetitions automatically.
21<H2>Hands-on example</H2>
23Here is a simple example that illustrated the basic steps of constructing
24things with fled:
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">
60The graphical items you have entered are a vector and a circle with the
61radius determined by the vector. We call these items "objects". Furthermore,
62you have defined a variable that gets set to the values from 1 to 5, in
63increments of one. Fped had repeatedly drawn the objects for each such
64value. We call the item that have been drawn "instances".
66The innermost vector and circle are highlighted. You can highlight other
67instances of the same objects by clicking on the numbers (1 2 3 4 5) shown
68next to the loop.
70<H2>Conceptual view</H2>
71The following picture illustrates the concept: the model is defined in
72terms of objects, in this case a vector from the origin to the circle's
73center, a vector for the radius, and the circle itself.
75<IMG src="manual/concept-inst.png">
77The vector to the center uses a variable that gets iterated through the
78values 0, 1, and 2. For each iteration, an instance is generated.
80Only the instances of silk screen objects and pads are exported to KiCad.
81Elements used for construction, such as vectors, only appear in fped.
86Frames serve various purposes:
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.
98At the bottom of the hierarchy, we have the root frame. To add another
99frame, right-click on the root frame's label "(root)" and select "Add
102To be able to put items into the new frame, it has to be attached to
103the 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
105can be the origin of its parent frame or it can be the end of a vector
106in the parent frame. To create the frame reference, do this:
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.
120If you wish to cancel the operation, simply release the mouse button at
121any place that isn't a point of attachment.
129The right-hand side of the fped window shows the component being drawn on a
130black background. We call this the canvas. It is surrounded by a toolbar on
131the right side and a few buttons with visibility options at the top.
134<H2>The canvas</H2>
137<H2>Blue screen</H2>
139When an expression uses an unknown variable or evaluates to an incorrect
140value (e.g., a bare number where a dimension is expected), the
141instantiation fails. Fped indicates this by changing the background color
142of the canvas from black to blue. The cause of the failure is explained
143in the status bar at the bottom.
145In this state, the canvas is no longer updated when making changes until
146the problem has been resolved. The most common causes are a misspelt
147variable name in an expression, the use of a number without unit where a
148dimension is expected, or the removal of a variable that's still used
151If the location of the error is not obvious, the list of objects can be
152shown by selecting "Show code" from the View menu. The object
153in which the error occurred is shown in red. If the error occurred in a
154loop variable, the variable name is shown in red.
157<H2>Visibility options</H2>
159When working on a complex component, the number of elements shown can be
160overwhelming. The visibility options help to quickly hide irrelevant
161details and get one's bearings. They are located in the menu bar at the
164  <DT><IMG src="manual/all.png">&nbsp;<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">&nbsp;<IMG src="manual/stuff_off.png">
167  <DD>Show vectors and frames.
168  <DT><IMG src="manual/meas.png">&nbsp;<IMG src="manual/meas_off.png">
169  <DD>Show measurements.
170  <DT><IMG src="manual/bright.png">&nbsp;<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.
176The visibility options can be combined.
181Tools are used to add new elements and to manipulate existing ones.
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">&nbsp;<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">&nbsp;<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">&nbsp;<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">&nbsp;<IMG src="manual/meas_x.png">&nbsp;
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.
279<H1>Keyboard shortcuts</H1>

Archive Download this file