2. Getting started with AlfaCAD

One of the most challenging aspects of computer-aided design techniques is a dialog between the designer and the computer program. In order to make a technical drawing, a large number of objects must be created and placed in well-established points. This issue is the more difficult the larger the drawing format is, due to the editing field limited to the screen size. This chapter contains information necessary to start working with the program. Of course, the information provided below does not exhaust the problem of communication between the designer and the program, but it allows you to start working.

2.1. Notational conventions. Terminology

The general conventions used in AlfaCAD and in this manual are described below.

2.1.1. Key markings

The symbols of the keys used during editing are placed in curly brackets {}, e.g. {Enter}, {Esc}, {Tab}, {Caps Lock}, {Shift}, {Ins}, {Alt}, {Ctrl}, also for function keys {F1} {F2}, {F3}, {F4} ....

If a given operation is initiated with a combination of special keys, they are described in common braces, eg: {Ctrl-F1}.

The names of combination keys are always separated by "-". The keys of the display device are marked as follows:

In most cases, {LMB} is equivalent to {Enter} and {RMB} is equivalent to {Esc}.

The cursor movement keys are marked as follows:

The effect of using the {KU} and {KD} keys is equivalent to the vertical movement of the mouse, and the {KR} and {KL} keys - to the horizontal movement.

2.1.2. Notational conventions

Texts and values entered in the dialog mode by the user are presented in the form of text placed between quotation marks, eg: "AlfaCAD program". Proposed values must be accepted or changed and are presented in the manual in the form of text in square brackets [].

The messages displayed by the program are presented here in the form of text placed between angle brackets <>, e.g .:

<Drawing not updated. Update ? (Yes / No):> [Y]

If the proposed value does not need to be changed, pressing the {Enter} key alone is sufficient.

The names of the menu fields (options) are placed in the text of the manual between the signs /.../ eg / Draw /.

2.1.3. File names

Drawing sets get the standard '.ALF' extension.

Sets of blocks (catalog elements) get the standard extension '.ALX'.

When saving a drawing file, the program checks if there is already a file with this name on the disk (on the current device and directory). If present, its name is changed by adding or changing the extension to 'BAK' and then saving the drawing file. This allows you to edit the previous version of a given drawing as an archive copy.

2.2. Getting started with AlfaCAD

2.2.1. Program installation

The installation program allows you to install AlfaCAD packages with attached libraries.

2.2.2. Start the program

The ALFACAD directory contains the main program:


The installation program creates a shortcut to the program on the desktop.

AlfaCAD is associated with files with the name extension .alf. Double clicking a file with the .alf extension in the browser will automatically open a new AlfaCAD window together with editing the selected file.

AlfaCAD can be started with the parameter of the drawing file name along with the file path.

If a drawing file with the specified name does not exist, the name will be assigned to the new file where the created drawing will be saved.

If a file with the given name exists, it will be loaded into memory and edited.

Keeping the archival version of the file when updating is possible only if the name is given without the extension (the program automatically gives the extension '.ALF', unless the user provides his own extension).

If the path (drive and directory) path is specified in the name, the file will be saved in the indicated directory, otherwise - in the default directory, the name and name of the device can be freely configured by the user, as a variable:


(see the description of the 'ALFACAD.INI' configuration file).

The drawing file name does not need to be specified at program startup. In this case, the program allows you to edit a new drawing (and save it to disk after giving the name), or initiate another drawing.

Prototype drawing (template)

The environment in which a new drawing is created is defined by a set of parameters whose original values are assumed as the so-called default (included in the program code) or are read from a file called 'prototype drawing'. The idea of a prototype drawing is to use one or many previously prepared sets of drawings in the form of mostly empty drawing sheets, but with a properly selected format, defined units and drawing scale, declared drawing layers, dimensioning parameters, etc. Prototype drawings (or template) may, however, contain any graphic primitives, e.g. a frame and a drawing board. The user may use many different prototype drawings. A prototype drawing file name can be declared in several ways. The default prototype file is PROTOTYPE. ALF, however, each newly created drawing can be based on any previously selected prototype drawing. This is done by the function /Disk/-> /New drawing/-> /new from Template/

In order to facilitate the design, it is advisable to prepare a set of prototype drawings of various formats with frames, a drawing plate, a trademark and appropriately defined dimensioning variables depending on the type of drawing (e.g. appropriately for a given design industry).

2.3. Entering commands

All commands can be run directly from the keyboard by using one-character keyboard shortcuts visible in the menu . To start drawing lines, for example, it is enough to enter the following sequence of commands from the keyboard: {D} {L} which is an abbreviation of the sequence of commands / Draw // Line / .

The program waits for the indication of the starting point of the first line segment. To indicate a point, press {LMB} or {Enter} or - using auxiliary functions - locate the point in relation to other objects in the drawing. At the cursor position, the beginning of the line segment will be marked and the editor waits for the next command.

Commands can also be entered by selecting the appropriate menu option by pressing {LMB} or {Enter}.

In each situation, the cursor movement is controlled both in the edit field and in the menu using the {KU}, {KD}, {KR}, {KL} keys or horizontal and vertical mouse movement. After the program accepts the command, it most often requests to provide appropriate values and indicate the point (or points) where, for example, the object will be placed. After accepting all the necessary values, the program modifies the drawing according to the given command and returns to the command accepting mode.

The basic state of the editor is waiting for a command without displaying any menu. The main menu is displayed when the {LMB} or {Enter} key is pressed from the basic state. By pressing the {Esc} key repeatedly, you can return to the main menu from any menu level. The AlfaCAD function menu does not exceed 3 menu levels. The basic state of the editor allows you to move freely throughout the drawing sheet by moving the cursor.

Moving on any parts of the sheet in the limited edition field of the monitor is facilitated by the active mode of automatic drawing panning, i.e. moving the drawing sheet in relation to the screen edit field as a result of moving the cursor to the edge of the edit field.

2.3.1. Entering commands from the keyboard

The keyboard commands are a sequence of keyboard shortcuts. In the editor's basic state, it is not necessary to expand the main menu to select one of its options. If the user remembers the key characters of the main menu commands, he can use them without expanding the menu. The keyboard is also used to enter numerical and text values. Entering values must always be ended with the {Enter} key. The input line at the top of the screen is used to enter values.

In many cases the program suggests default (or current) values. Such a value is distinguished by its highlighting. These value are accepted by pressing the {Enter} key. The use of the {KR}, {KL}, {Home}, {End} cursor keys causes the transition to the proposed value editing mode (which is signaled by the removal of the proposed text highlighting) and the cursor moves along the proposed string, respectively: one character to the right, o one character to the left, to the first character of the string, and to the end of the string. Moving the cursor is interpreted as starting the editing of the proposed string while keeping a fragment of it. The same applies to the {Bspc} and {Del} keys (deleting the character before and after the cursor). The chain of characters can be freely modified. Using another key after displaying the proposed value causes deletion of the proposed value in its entirety and then start of editing a new string, which in the event of the need to completely change its content, releases from the need to delete all characters in turn.

2.3.2. Entering commands from the pull-down menu

Entering commands by selecting menu options is the most convenient form of selecting a function. An important feature of the program is the distinction between the cursor in the menu window and the cursor in the drawing edit field. While expanding and selecting a menu option (any level), the edit field cursor (pointer) remains at the same point. This speeds up the location of the drawn object and the movement of the pointer is limited to a minimum.

The drop-down menu is multi-level. Depending on the functions, several menus can be displayed simultaneously, with only the last one always active. The {RMB} or {Esc} key returns to the higher-level menu.

In addition to the vertical drop-down menu, the program has a group of functions initiated from the horizontal drop-down menu. This is called auxiliary menu , containing commands for locating in relation to a selected point of other object, changing the screen scale (zooming), changing the color, layer, line type and thickness, determining the distance or angle (so-called measure function), and finally changing the parameters unique to the currently active function ( e.g. dimensioning).

Each sub-menu option is related to the lower-level menu drop-down vertically. The service (auxiliary) menu can be activated with the spacebar {Spc}, {Ins} or the middle mouse button {MMB} at any time (also when executing another function).

2.3.3. Entering commands using function keys

Some of the most commonly used commands can also be specified by function keys or their combinations. The correct function key combinations are listed in the selected fields in the function menu. Function keys most often execute a sequence of commands without the need to enter each of them using the keyboard or select from a menu. Using function keys increases program speed and reduces the number of commands given by the user. An example of one of the most frequently used function keys is the {F8} or {Ctrl-Q} key to toggle the perpendicular line mode alternately.

2.4. Data input

Often the additional information is required after calling the function. With the commands for drawing graphic primitives, for example, it is required to indicate the place where the element should be placed. In other commands, you must set parameter values, enter text or the number of elements. If the entered data is of an incorrect type (format), a message is displayed informing about incorrect data (most often an incorrect integer or real number format) and then the program stops editing the values without changing them or waits for correct data. The way data is entered differs for different commands. Data editing can be performed in the edit line at the top of the screen, in the dialog box, and even directly in the <X, Y> coordinates editing field, or the field for editing object parameters (for lines these are local coordinates in the global or local system, for a circle it is a radius). The methods of data entry are described in detail in the chapters dedicated individual commands.

Below is a list of function keys (all keyboard shortcuts are displayed in the "Help" function after pressing the F1 key)

Space, Ins

auxiliary menu


editing numerical values, editing text

PgUp, PgDn

change of pointfinder frame size, dynamic change of the text angle during editing

Ctrl End

end of macro initialization











* 1


* 0.5


* 0.2


* 0.1










Line thickness


Line type




change the line type and thickness (by selecting an object)


change the current layer (by selecting an object)














Point menu

Shift-F2, E

End point

Shift-F3, N

Nearest end

Shift-F4, M

Middle point

Shift-F5, I


Shift-F6, C


Shift-F7, P


Shift-F8, T


Shift-F9, A


Shift-F10, O


2.4.1. Entering points

Entering points is always accompanied by the performance of an operation related to a given point. It can be, for example, drawing a line segment starting at a given point, placing text, indicating the base point of a block, an anchor point, etc. In most commands, the program communicates to the user what point he expects (e.g. <Line from point> , <Copy - from point> ).

In some commands where several points should be specified, a message may be displayed specifying the expected sequence of points, while the description of the currently expected point is highlighted (e.g. <Arc - start - point - end> ).

For commands in which the expected sequence of points may be changed (e.g. options for drawing arcs), displaying the full sequence of points makes it easier for the user to adopt an appropriate strategy for defining and placing the object in a manner consistent with the intention.

The point should only be defined within the boundaries of the drawing sheet. However, the sheet format can be changed at any time. So there is no need to strictly follow that rule, while the target sheet format can be changed when needed. Also there is no need to define final sheet format before starting to create a new drawing.

The coordinates of a point can be determined in several ways:

2.4.2. Numeric values

When editing a drawing, you usually need to enter numerical values. They can express the values of the cursor position coordinates, the value of the block shift vector, the dimensions of the drawing sheet sides, etc.

In most cases, you need to enter values as real numbers. The program controls the format of the entered number by communicating about an error when entering it. A non-significant zero before the decimal point is not required.

The character separating two integers or real numbers (eg when entering both values of the cursor coordinates or the value of the translation vector) should be the semicolon ";".

Numerical values are usually entered in the edit line of object parameters or cursor coordinates, in the top edit line of the screen, after moving to it using the {TAB} key. If several groups of values are currently displayed in the edit line (eg local line coordinates and global coordinates of the cursor position), then the editing of successive groups of values is performed by pressing the {TAB} key again.

Entering a numerical value (after having previously entered it) is possible using the {Enter} key. To leave the value editing field (without changing the previous value), press the {Esc} key. In some cases, the program automatically enters the numerical value editing mode waiting for their input (e.g. when defining the size of a non-standard drawing sheet, text size, etc.)

2.4.3. Calculator

AlfaCAD is equipped with a multifunctional engineering calculator that allows the user to enter numerical values as a result of a given arithmetic operation.

Instead of a numerical value, you can enter an expression in the value edit field, e.g.

12 * (125/4) * cos (45)

log10 (25)

If a given function requires several numerical values, the user can specify the required number of arithmetic expressions, separated (as in the case of numerical values) with semicolons, or arithmetic expressions and numerical values.

Using the calculator, the user can use variables defined depending on the current needs. These variables (given in the form of a number or in the form of an arithmetic expression) can be freely used in the following arithmetic expressions, the result of which are the numerical values required in a given operation. The names of variables are freely accepted, with such limitation each name should begin with a letter, but may contain letters and numbers. Like arithmetic expressions and numerical values, the definitions of individual variables should be separated by semicolons.

The following example presents correctly set coordinate values in the form of arithmetic expressions with the definition of auxiliary variables:

a = cos (30); b = (a / 2) * sin (45); a * b + (120 * 4); a * b * 2 + (180 / 2.25)

Calculator functions available:

Calculator constants:

When interpreting the names of variables (or constants), the program does not distinguish between uppercase and lowercase letters. However, the function names should be given in accordance with the above pattern (using lowercase letters). Hence, you can define your own variable (or function) named SIN that will be distinguished from the standard sin function . If a function contains several parameters (e.g. a to the b power), the parameters should be separated by commas ( pow (a, b) ).

The calculator, apart from the possibility of setting numerical values in the form of an arithmetic expression (algebraic or trigonometric), is also used in the function of drawing a graph of any function.

Character '|' can be used everywhere where ';' character cannot be used, as standard separator in statements in math equations in calculator, with multiple statements (where extra variables are declared). So instead of equation:

a=1000; pow (a, 3) / ((a * a) + (x * x))

it's variant can be used

a=1000 | pow (a, 3) / ((a * a) + (x * x))

In ALFACAD.INI file ';' character is used to separate variables from comments, so in case of multiple statement function definition, '|' must be used instead of ';' . So for example to define standard math function for / Chart / function purpose, in ALFACAD.INI file it has be declared as for example:

Witch of Angesi= a=1000 | pow (a, 3) / ((a * a) + (x * x))

/ Chart / function is described in chapter 4.15.2.

2.4.4. Notepad

All numerical values entered in the edit line and the content of all texts introduced into the drawing are stored in the so-called 'notepad' or 'scrapbook'. The size of the notepad allows to store a maximum of about 1000 characters. Numerical values are stored in the notepad in text form.

Writing to the notepad takes place automatically, but if the size of the notepad does not allow for placing another text, the program removes from the notepad one or more texts entered first, thus freeing up space for the last text.

Notepad allows you to use one of the previously entered texts when re-entering text or values in the timeline. To do this, while in text or value editing mode, press the {PgDn} key and a menu will be displayed with a list of previously entered texts and values.

If, due to the size of the notepad, all the menu texts do not fit on the screen, access to the rest is possible by 'scrolling' the menu. Selecting one of the menu lines causes it to be copied into the edit field.

If there was previously highlighted text in the edit field (not in the edit mode), the text selected from the notepad will be entered in its place. If there was some text in the edit field in the edit mode (without highlighting), the selected text will be added to it. Such a procedure enables any combination of strings into one text with the possibility of any editing.

All numerical values are stored in the notebook in text form. Therefore, it is not important whether, when editing a numerical value, we use a notepad, selecting a row containing previously entered numerical values, or a row containing previously entered text. If the text contains numerical values, they can be used to enter parameters, coordinates, or other values. You only need to take care to maintain the correct format of the value and possibly remove unnecessary characters. If, for example, using the angle value reporting function (function / Measure / auxiliary menu) we obtained the following message:

< Angle = 325.2 >

this text will be fully saved in the notepad. If then we would like to use the determined value of the angle (e.g. to determine the tangent angle in the arc drawing function), we can (while editing the value) call the notepad, select the line with the following text: ' Angle = 325.2 ', and then delete the redundant text fragment ' Angle = 'getting the required real number format' 325.2 '.

2.4.5. Dynamic mode

Most of the operations of drawing new objects and editing existing objects can take place in the so-called dynamic mode . This means that, for example, determining the end point of a line segment is accompanied by dynamic stretching and shortening of this segment in accordance with the cursor movement in which its free end is hooked.

The dynamic mode allows you to easily position an object on the drawing by constantly observing the effects of changing the location of the located point. This is especially convenient for editing functions such as moving, dragging, resizing, rotating, etc. When editing large blocks (multi-element blocks), the dynamic mode records the cursor movement, speeding up the display of the moved block.

In most editing functions, the drawing shows the original of the block being edited, as well as its "dynamic copy" changing its position with the cursor movement.

2.4.6. Geometric definition of distances and angles

If there is a need to enter numerical coordinates of a point, distance or angle value, you can go to the value edit line (using the { Tab } key ) and enter them using the keyboard.

In many cases, however, the numerical value of e.g. a distance or an angle is unknown. So to set a numerical value, you can first use the function / Measure / of an auxiliary menu (this function can be called at any time, also while another function is running), get information about a given distance or angle value, and then enter this value in the edit line (via notepad).

An alternative to this is the geometric definition of distances and angles. This function can be activated when the program is waiting for a numerical value after moving to the edit line of the value with the {Tab} key. If, instead of assigning a value from the keyboard, we press the {KD} (the key down), the program will automatically enter the geometrical definition mode - context-distance or angle.

The program automatically recognizes what value (distance or angle) or both values of distance and angle will be entered and waits for the indication of two points defining the distance, three points defining the angle or two ends of the vector defining the length and angle, displaying appropriate messages:

< Distance - First point >
Distance - Second point >
Angle - First point >
Angle - Second point >
Angle - Third point >

After entering all the points needed to define a given value, the program calculates the given value or values and accepts it as a parameter (this procedure is equivalent to entering the value numerically in the edit line). At the same time, this value is saved in the notepad and can be used in sequentially called functions.

2.4.7. File names

For drawing file names AlfaCAD assigns the standard " .ALF " name extension . When entering the file name, no extension is required, unless it differs from the standard one.

Before saving a drawing to disk, any existing file with the given name is preserved by changing the extension to ".BAK". This file is an archive copy of the drawing from the previous edition, thus protecting the user against accidental data loss. In case of a mistake in the name of the drawing after saving it to disk, it is enough to initiate the edition of the drawing with the changed name (".... BAK") and save the drawing again using the proper name.

The default directory where the target files will be created is the directory declared in the 'ALFACAD.INI' configuration file in the variable:


in the group [Directory]

2.5. Dialog boxes

Dialog windows are used to enter or modify a group of parameters related to printing a drawing on a printer or plotting on a plotter, setting drawing layer attributes, selecting a drawing file from the file list of a given disk directory, selecting a library element by indicating its name in the dialog box, etc.

The appropriate dialog box is initiated automatically after selecting the appropriate menu option for a given function. How the dialog box is handled depends on the nature of the function being performed, but generally the dialog box has common controls such as lines and edit boxes, lists and comboboxes (pull-down menus), toggles, and check boxes. The method of selecting a dialog box option does not differ from the general principles of handling dialogs in Windows programs or other operating systems.

2.6. Selection of objects

Most of the editing functions begin the procedure of indicating objects that will be edited. Objects can be selected one by one, one after another, using all available methods of moving around the drawing sheet, or by marking a rectangular window containing object to be selected.

For selection, so-called “pointfinder” (or “pickbox pointer”) is used, in the form of square frame of changeable size, or the same frame at the intersection of the pointer's crosshair, if “Repeating mode” of point location is active. To indicate an object, you need to set the cursor position in such a way that any fragment of the object is in the pointfinder frame, and then pressing {LMB} or {Enter}.

If the object has been located, it will change its appearance on the screen by placing a copy of it on the object, the so-called trace of an object, drawn with a dashed line in the the color of the block (that color is set in desktop colors setup in “Options” function). The size of the pointfinder frame can be changed at any time using the {PgDn} and {PgUp} keys.

If no object is located in the pointfinder frame, the program assumes that the user's intention is to mark the rectangular window in which the objects to be edited will be selected. The indicated point is one of the vertices of the block window and the program waits for the selection of the second vertex. The block window frame is drawn and stretched dynamically with the cursor movement. After indicating the second point, objects that lie inside the block window are searched. Depending on the current mode, objects are selected, all elements of which lie completely inside the block window ("Window" option) or the block window covers any part of the object ("Cross" option). The current mode is displayed on the top line of the screen and the function key {F9} is used to switch modes (at any time).

Incorrectly indicated objects can be removed from the group of objects that will be edited by selecting them again after changing the selection mode to "Remove" instead of the current "Add" mode.

The function key {F10} is used to toggle the selection mode and the current mode is displayed on the top line of the screen next to the search mode identifier. A special way of indicating objects is selecting the "last block" and "all", "all layers" and "all texts". This method is described in next chapters.

The operation of selecting items is ended by the {RMB} or {Esc} key.

2.7. Correcting mistakes

Objects placed on a drawing can be edited many times, which allows to eliminate errors made while creating a drawing. The program remembers the elements that were recently edited, so re-editing them does not require selecting objects again.

During the element selection procedure, the / Last block / of / Block / auxiliary menu option is active, it allows to select a block of elements that have recently been edited or have been placed in the drawing using the / Block // Import / function.

Therefore, moving a wrongly inserted block is not a problem even with a high graphic complexity of the drawing, because it does not require tedious selection of objects that are to be moved again. Selecting the / Last block / option does not exclude the possibility of selecting other additional objects (in Add” mode), or deleting any previously selected objects from the block (in Remove” mode).

2.8. Cancel command execution

Editing operations "Move", "Rotation", "Scale" can be undone (up to 4 steps back) using the / Undo / edit function .

One of the most common mistakes is deleting an element or group of elements by mistake. This error can be easily fixed by selecting / Return / Function menu / Edit /.

Incorrect execution of the dimensioning function (e.g. as a result of wrong selection of dimensioning variables) can be canceled by selecting the / Remove / option of / Dimension / auxiliary menu, while the dimensioning function remains active. After changing the parameters, the dimensioning procedure can be repeated.

The procedure / Undo / is also active in the editing function of filleting (smoothing the corner with an arc), chamfering (trimming the corner) as an option of the auxiliary menu - respectively - / Fillet / and / Chamferi/.

Some drawing primitives (e.g., lines, polylines, sketching) have the option to delete the last polyline segment, polyline, or sketch line sequence. This procedure allows the successive deletion of the last segments in case of their incorrect drawing, without the necessity to delete, for example, the entire polyline. These functions are described in detail in Chapter 4 of this manual.