5. Editing functions

This chapter introduces the functions for editing and modifying drawing elements. These functions enable, among others:


Editing functions are options in the menu of the
/ Edit / function available from the level of the main menu of AlfaCAD.

Item selection

Most of the editing functions require indicating the objects on which they are to be executed. The selected set of elements is saved as the so-called "Last block" and can be called while performing further functions. Pointing an object consists in moving the so-called "pointfinder" in such a position that any part of the object is in its frame. During selection of objects, the crosshair cursor is replaced by “pointfinder” in the form of square frame, or “pointfined crosshair”, whose frame center lies at the intersection of the cross line of the cursor, when “Repeatinig mode” is active. The size of the pointfinder frame can be changed at any time using the {PgUp} and {PgDn} keys depending on current needs. Increasing the the size of pointfinder frame is advisable for a small number of elements in the drawing and their small density in the field of the currently displayed fragment of the sheet. In the case of higher density, in order to correctly indicate objects, it is most often necessary to reduce pointfinder frame size. When selecting objects, an additional option / Block / is made available in the auxiliary menu with the following options:

If at the moment of pressing {LMB} or {Enter} in the field of the pointfinder frame there is no fragment of any of the objects and the automatic search mode in the window / Auto / is active (set to / Yes /), the program assumes by default that the point indicated by the cursor is one of the block window vertices in which the objects will be indicated and waits for the pointing of the second block window corner.

If the program is currently in the so-called In the " window " mode, in order for a given object to be added to the indicated set of objects to be edited, the window must include all its elements (eg for a line - the window must cover both its ends, for a circle - its full circumference).

If the program is currently in the so-called " cross " mode, in order for a given object to be added to the indicated set of objects for editing, the window of the selected block must cover any part of the element or the entire object.

When selecting objects, the "window / cross" mode of searching for objects can also be switched by pressing the {F9} key . After selecting the object, its graphic form is changed (lines the object is made of are changed to dotted lines in the color defined in the desktop configuration in the "Block" position). This makes it easier to see which of the objects have already been selected for editing. This is especially important when moving the cursor outside the area of the currently displayed part of the drawing. The different color and line type makes it easy to see which items have already been selected even though their position on the screen has changed.

Successively indicated objects are added to the set of objects which will then be subject to the editing function, provided that the program remains in the " Add " mode set in the / Add / Remove / option or by pressing the {F10} key .

If an object was accidentally included in the set of objects selected for editing, then by changing the mode to " remove " and selecting the object again, it is possible to exclude the given object from the block. This fact is presented directly on the screen by restoring the original graphic form (line types and color) of the object excluded from the block.

A special method of indicating the elements to be edited is the selection of the auxiliary menu option / Block // Last block / In this case, a group of elements (or blocks) that were subject to the previous editing function or block function, e.g. / Block // Group /, / Block // Export / etc. will be added to the group of objects that will be edited.

Also in the " remove " mode, it is possible to exclude the sequence of objects from the selected block by selecting the / Last block / option . Skillful use of this function allows for quick editing operations performed repeatedly on given objects, which is especially useful in geometric constructions, matching elements, etc.

Apart from the / Last block / option, there are / All / and / all layers / in block functions in the / Block / auxiliary menu .

The / All / option works similarly to the / Last block / option , except that it selects not recently edited objects but all objects on visible and "editable" layers.

The / All layers / option selects objects on all layers, including invisible and "non-editable" layers, but if objects on invisible or non-editable layers are selected, an appropriate message is given.

5.1. Removing objects

The function / Delete / enables deleting selected elements from a drawing. The selection of elements is performed sequentially and the objects can be indicated individually (if the pointfinder frame covers any part of the object) or by selecting the block window covering any set of objects.

All auxiliary functions accessible from the auxiliary menu / Delete / are active during the function execution. Additionally, an option is available in the auxiliary menu that allows you to change the mode of searching for objects (the mode can also be changed by pressing the {F9} function key and the message about the current mode is displayed in the top line of the screen when defining the block window).

5.1.1. Restore deleted objects

Removal of subsequent objects is visualized on the monitor screen on an ongoing basis. The list of objects that are deleted one by one is remembered. Thanks to this, it is possible to recover the deleted (e.g. by mistake) objects at any time by selecting the / -add / function / Edit / main menu option. If in a given session, after removing objects, the drawing is updated (saved to disk), information about recently deleted objects is also stored in the drawing disk file. After re-initialization of the drawing (in the same or a different program session), it is possible to recover recently deleted objects in the same way as it is done before saving the drawing to disk. This property greatly helps to avoid fatal errors.

5.2. Moving objects

The edit function / Move / allows you to move selected objects to a different position in the drawing without changing their size and rotation. After selecting the objects, you should enter the translation vector to define the new position of the selected block of elements. To do this, specify the starting point of the shift ( <from point> ) and the end point ( <to point> ).

Both points can be indicated by one of the available methods, including their location in relation to any object in the drawing.

The moving is performed in dynamic mode, where the shifted block is distinguished by changing the line type to dashed in the color set in the configuration program ("Block" option). While moving, the program reacts to cursor movement, interrupting image regeneration when the mouse is moved. Full regeneration of the image with the display of the current block position takes place when the cursor position is stabilized (no pointer movement).

When selecting objects included in the block to be moved, the mode change procedures (" window / cross ", " add / remove ") are active and are operated from the level of the auxiliary menu (option / Block / ) or by the function keys {F9} and {F10} . If the perpendicularity mode is enabled during the shift function execution, the indicated objects (block) may be shifted parallel to one of the axes of the global (local) coordinate system. The initial shift vector determines the direction the block is moved. The shift direction can be changed by returning the cursor near the starting point of the shift and then assigning a new, proper starting vector of the shift.

The value of the shift vector can also be specified numerically after moving to the edit line with the {Tab} key . This value can be given in the form of an expression or arithmetic expressions, using all available functions of the calculator.

If the perpendicularity mode is active, it is sufficient to specify the shift value in the direction initiated by the initial shift vector of the block. This value can be given as an absolute number (or an arithmetic expression that evaluates to an absolute value).

The shift direction is determined by the initial shift vector initiated by the mouse movement. If the perpendicularity mode is turned off, it is necessary to set a displacement vector in a polar system (the length of the displacement vector and the value of the angle it creates with the X axis). The shifted objects are remembered. They can be selected again in any edit function by selecting the option / Last block / service menu / Block / without having to select individual objects again.

5.3. Copying objects

The / Copy / function allows you to place copies of selected objects in the indicated places. The procedure is similar to the / Move / function with the difference that copies of objects are moved and the original objects remain in their current position. Copying can be performed many times, each time indicating the insertion point of the next copy of objects, until pressing the {RMB} or {Esc} key to end the function. Similarly to the function / Shift / , it is possible to dynamically select the shift vector as well as use the calculator function. The base point ( <from point> ) is common to all of the translation vectors, and copies will be placed where the other end of the vector points.

5.3.1. Copying by division

The copy function (similar to the / Import / block function described later in this manual ) has an interesting option to copy by splitting another object. This function allows you to "overlay" the selected simple object (line, arc, circle, bezier curve) or complex (polygon, polyline, ellipse, sketch line) of the copied objects in such a way that the base points (in other words, the anchor points - <from the point>) lie on the axis of the selected object and divide the object into a given number of equal parts or they are arranged along the object axis with a given distance between consecutive points. Distances are calculated along the rectilinear or arched axis of the object.

The breakdown of the target object is fictional. The object is not physically divided, only the inserted copies of selected objects define the given division.

The option of copying through division is available in the service menu / Copy / available after selecting the base point of the copied block ( <from point> ). After selecting the option / Divide / auxiliary menu / Copy / the program displays the message:

<Select object to divide> or
<Select object to measure>

At the same time, the set number of segments in the " Divide " mode or the set distance between points in the " Measure " mode is displayed in the upper line of parameters . The value can be changed after moving to the edit line using the {Tab} key. In the auxiliary menu, an additional option / Divide / is activated in which the following options (parameters) are available:

The / Divide / (default) option switches the function to the mode of dividing the object into a given number of equal segments.

The parameter / Number of segments / is active in the "Divide" mode and determines the number of segments of the object division.

The / Measure / option switches the function to the mode of placing the copied blocks along the axis of the object with the given parameter / Segment length / distance between the inserted points.

The / Maximum / parameter defines the maximum number of points placed in the "Measure" mode. This allows you to place a given number of points located along the axis of the object and distant by a given distance. The / Maximum / parameter also protects against an attempt to arrange points with erroneous function parameters, resulting in too many generated objects and the related waiting time for the completion of an incorrectly set function.

The / Multiline / Segment / option allows you to select the division mode (measuring) of a single segment of a complex object (e.g. a polygon or a polyline) or the entire complex object, where in the last case the length of the polyline is calculated along the axis of the complex object continuously, without distinguishing its individual segments.

The / Remove / option allows you to successively delete the sequence of copied blocks arranged along the objects in a given session of the procedure / Divide /. This allows a quick correction of a wrongly performed division or measuring operation.

The / Align block parameter / defines the orientation method of the next inserted block. If the parameter is set to "YES", then the local X axis of the inserted block will be parallel to the axis of the object which the division applies to or to the tangent to the object axis at the block insertion point (for an arc, circle or arc segment of a polyline).

The block is rotated around its own base point. If the block fit parameter is set to "NO", the rotation angle will be zero. If the object to which the function / Divide / relates is an arc, the block is always inserted in a left-hand direction, i.e. the upper point of the block is from the midpoint of the arc. However, if the arc is a polyline segment, the block's direction of rotation relative to the base point is determined by the slope angle of the first polyline segment.

5.4. Rotating objects

The editing function / Rotate / allows you to change the angular position of objects by rotating in relation to the indicated base point.
After selecting any objects and the base point (similarly to the functions / Move / and / Copy /), the rotation procedure is initiated.

The block rotation angle determines the angle between the straight line passing through the base point and the point of the current cursor position and the X axis. The value of the rotation angle can also be specified numerically by going to the edit line using the {Tab} key .

As in the case of the / Move / and / Copy / functions, you can easily change the position of the cursor pointing to the end of the straight line segment defining the angle in relation to the X axis, by moving with the {Tab} key in the editing line to the coordinate edit field by entering their value in the current units . Rotation is performed dynamically as the cursor moves. A positive angle value means counterclockwise rotation.

5.5. Change the scale of objects

Editing function / Scale / allows you to change the size (scale) of the drawn objects. Objects can be reduced and enlarged dynamically (related to the current cursor position in relation to the indicated base point) and the scale factor can be set numerically after switching to the edit line using the {Tab} key .

Indicating objects that are subject to scaling can be performed using all available methods, in a similar way as in the function / Move /, / Copy / or / Rotate /.

The scaling coefficients (factors) for the X and Y axes may be different (in the case of numerical values). In this case, if one of the objects subject to the scaling function is a circle, it will be converted into an ellipse with the correct lengths of both axes, the arc will be converted into the correct elliptical arc, and the disc - into an elliptical area filled with color, which is actually a block composed of triangular areas approximating the elliptical surface. .

If the value of the scaling factors for both axes is equal, it is sufficient to set one numerical value of the scale factor.

The value of the coefficient n> 1 causes enlargement of the block of objects n times. The value of the coefficient 0 <n <1 reduces the block of objects by n times. Scaling a block of objects should be understood as an isometric transformation with respect to the base point with a given scale factor. If the absolute values of the scaling factors are equal to one, a minus sign in a given direction transforms the block to "mirror" about the base point.

Change the scale of the entire drawing

The / Scale / function can be used to change the scale of the entire drawing. To do this, define a block window that covers all objects in the drawing, or select additional elements outside the window. Knowing the required scale factor, the easiest way to obtain the desired effect is to enter the value of the factor in a numerical form after switching to the edit line. It should be noted that only objects placed on the drawing sheet are subject to the change of scale function. The dimensions of the sheet format are not modified.

In order to change the drawing sheet dimensions, use the / Drawing format / function / Parameters / option. The global change of the drawing scale (including the scaling of all objects together with the drawing sheet dimensions) can be obtained by modifying the parameters of the drawing printout function on a printer or plotter.

5.6. Mirror reflection

The editing function / Mirror / allows you to create a mirror image of selected objects, but - depending on the selected editing mode - the original objects remain or are deleted automatically.

The specified mirror image axis can be located at any angle.

The function / Mirror / applies to all objects indicated in the generally accepted manner, similarly to the functions / Move /, / Copy /, / Rotate / and / Scale /.

After indicating the object (or objects), the axis of symmetry should be determined by selecting two points. In the auxiliary menu, the / Mirror / option is activated, which allows you to select the mode / Leave / Delete / . Depending on the selected mode ("Leave" by default) the selected objects will be copied in a mirror image (relative to the given axis) or transferred to a mirror image together with the removal of the original form.

Mirroring the texts

The program ensures legibility of texts created by mirroring the existing text. The text insertion point follows the general rules for the mirror image conversion. However, the direction of drawing the text is preserved (from left to right) so that the text is always legible. This rule applies to other attributes represented by a text value (for example, the numerical value of a dimension in a dimension block).

5.6.1 X-axis mirror reflection of the block

This function let you mirror the block on the global or local X axis, where the transformation start point is the block base point.

Each indication of a block initiates the transformation function, until the function is quit with the {RMB} or {Esc} key.

5.6.2 Y-axis mirror reflection of the block

This function let you mirror the block on the global or local Y axis, where the transformation start point is the block base point.

Each indication of a block initiates the transformation function, until the function is quit with the {RMB} or {Esc} key.

5.7. Stretching objects

The editing function / Stretch / is used to move selected endpoints of objects while maintaining the location of their other endpoints (not included in the sequence of endpoints selected for dragging). The effect of the procedure is to change the length of individual objects. This applies to all line types, arcs, polylines and curves.

If there is a circle, polygon or text among the indicated objects, they are only moved (similarly to the function / Move /).

If the dragged object is an arc or an arc polyline element, it keeps its sagitta unchanged (the distance from the center of the arc to the center of its base), but the radius of the circle segment is modified.

If both ends of a line segment or arc are included in the indicated stretching window, to be pulled, whole objects are simply moved without changing their length.

If all vertices of polyline or all control points of bezier curve are included in the indicated stretching window, to be pulled, whole objects are moved without changing their length or shape.

In the function / Stretch /, polygons, solids (triangular and quadrilateral areas) as well as trace segments are treated as sequences of segments that are edges of objects. Therefore, the vertices are the subject of pulling, in effect stretching each edge, which allows for any modification of those objects.

When / Stretch / procedure is initialized, before any object is selected, and curve objects exists on drawing, they are redrawn with visible control points and curve outline. To stretch the curve, one or more control points must be included in selected area. After stretch procedure is finished, curve is redrawn with invisible control points and outline.

5.8. Array multiple copy

The edit function / Array / enables making multiple copies of selected objects in such a way that the blocks of elements will be arranged in a regular rectangular or circular pattern. All created copies of a block of elements are independent objects (or groups of objects) that can be independently subjected to further editing.

After selecting the editing function / Array /, choose one of the options:

First of all, according to general rules, it is necessary to indicate objects that will be copied in the pattern. The method of indicating objects is the same as in the functions / Move /, / Copy /, / Scale /, / Mirror / etc.

5.8.1. Rectangular array

After selecting objects from which a rectangular pattern will be built and indicating a base point for copying, the program asks for the number of rows (horizontal rows) and the number of columns (vertical rows) from which the array is to be created. Then, by selecting two points, define the dimensions of a rectangular grid that defines the distances between rows and columns. These values can also be entered numerically in the edit line after indicating the first point of the window after moving to the edit line by pressing the {Tab} key. The characters at the values may be omitted if the initial move vector initiated by the mouse movement corresponds to the intended direction for the X and Y axes respectively.

A rectangular pattern is created in such a way that the pattern element (an object or block of objects selected for copying) is copied each time with a translation vector defined by the base point and the point of intersection of the respective row and column axes. Selected block of elements to be copied also belongs to the pattern being created, specifying <1> for a column or a row does not result in copying the indicated block for a given direction.

The row and column numbers must be integers. Declaring a negative value for the distance between the columns will expand the pattern in the opposite direction to the initialized offset vector. The same applies to the value of the distance between the lines.

5.8.2. Circular (polar) array

To create a circular pattern, select the / Circular / editing function / Array / option. After selecting the object (or objects), the user should indicate the base point and the center of rotation (center of the polar system). While selecting the base point and center point, the parameters of the circular pattern are displayed in the top line of the screen, i.e .:

The initialized (default) values in a given program session are the values - respectively - 1 and 360.

For example, if the values 4 and 180 are given, the objects will form an array of 4 repetitions filling the angle of 180 degrees. Parameter values (the number of repetitions and the angle of filling the pattern) can be changed in the edit line after pressing the {Tab} key.

If the angle between successive repetitions is known instead of the number of repetitions, the following expressions can be entered in the parameter line instead of the number of repetitions:

K = 16; 360 / K

where the variable K is the angle between repetitions. The program automatically converts the result of an algebraic operation (real number) to the expected integer by truncating the fractional part. Objects are not rotated in this function.

5.8.3. Circular (polar) array with rotation

In order to create a circular pattern "with rotation", select the option / Circular with rotation / editing function / Array / .

After indicating the object (or objects), the user should indicate the center of rotation (center of the polar system).

The function generates a circular pattern as in the / Circular / option, with the difference that the objects rotate in relation to the center point. The base point is not set (indicating it is unnecessary due to the rotation of objects).

The method of specifying the remaining parameters of a circular pattern is the same as in the case of a circular pattern without rotation.

5.9. Changing the properties of objects

The / Change / command allows you to change the properties of an indicated element or group of elements.

The number (name) of the layer on which a given element is located, color, line type and thickness may be changed, and additionally for texts - font type, text height, width factor and character tilt attribute, type and attribute "hidden", aligning method, bold und underlining attribute, and for multiline text – line spacing.

After selecting the block of elements, is necessary to use auxiliary menu with option / Change /, then select the function / Change property /. In dialog window you can enter new values of objects' properties after activating the parameter to change. Only those parameters that are features of an element of a given type are subject to change.

The change of selected object features can be blocked by switching off the given option with the switch. The text " Unchanged " is also displayed in the edit line . After enabling the changes of a given parameter, the "\ / -" acceptance sign is displayed in the switch box.

5.10. Text editing

This function is used to change the texts and multiline texts existing in the drawing in terms of content and parameters, i.e. color, height, width, character tilt attribute, underline, text type, "hidden" attribute, alignment and font type, as well as location in the drawing and the angle of the text line. In the case of multiline texts, an additional text parameter is the line spacing, in the range 1.0 to 4.0, where this value is the ratio of the text line height to the font height. This means that lines of multiline text with a line spacing equal to 1.0 in the case of capital letters touch each other, so the free space is zero, when for a spacing of 4.0 the space between the lower edge of the line and the upper edge of the next line is equal to 3 times the height of the text font .

This procedure is analogous to the function / Draw // Text / , but in this case the original text value is fixed. The single-line text indicated with the pointfinder can be changed (also when changing other parameters) after moving to the edit line with the {Tab} key .

For multiline text, to edit the text, press the {E} key , and the text editing window is initiated just like when entering new text, also offering buttons for changing text attributes such as alignment, italics, bold and underline.

The text position can be changed in the same way as when determining the position of a new text (after indicating the existing text, it remains in the dynamic moving mode until pressing {LMB} or {Enter} ). Pressing {RMB} or {Esc} returns the text to its original position.

After indicating the text to be edited, the text line angle, height, width factor, tilt attribute, underline and font type, and for multiline text, also the line spacing can be set in the / Text / auxiliary menu.

The angle of the text line can also be corrected in dynamic mode using the {PgDn} (-3 °) and {PgUp} (+ 3 °) keys that control the angle of the text line in relation to the global X axis, as well as the {Home} (+ 90 °) keys , and { End} (-90 °) which, however, always set the text orthogonally to the global axis X,

The color of the indicated text can be changed in the option / Color / auxiliary menu / Parameters / after selecting the appropriate color.

Moving the indicated text to another layer is possible in the / Layer / auxiliary menu by selecting any layer as the current one. In this case, apart from changing the layer, the color of the edited text will also change to the current color in the current layer.

As can be seen from the above description, changing text parameters follows the same rules as choosing new text parameters. Text editing can be performed many times without the need to call the function multiple times. The same applies to several texts that can be changed successively one after the other without the need to call the editing function each time. However, each time the text to be edited should be indicated with the pointfinder.

5.11. Breaking (cutting) objects

Editing function / Break / allows you to cut a fragment of a segment, circle, arc or polyline (but also polyline-like objects so polygons, rectangles, sketch lines, ellipses and charts) or elements of complex objects like 2-lines and 3-lines.

You should indicate the object and then two points defining the fragment to be cut.

The indicated point does not have to lie on the object. AlfaCAD will automatically find the closest point on the object.

One of the points can be an end point (such as a segment or arc) or lie outside the end point. In this case, part of the line or arc is truncated.

In order to divide an object into two objects without cutting its fragment, both points should be indicated in the same coordinates.

Cutting can apply to objects that are block elements. Objects that are components of a block modified in the cutting function remain its elements. New objects created, for example, by cutting a line, an arc or a circle into two segments or two arcs, are added to the block as its elements. An example of using this property is to cut a portion of a dimension line in a dimension block in order to move the annotative text of the dimension block (dimension value) to the dimension line level.

Cutting a polyline, ellipse and polygon

The polyline, ellipse (elliptical arc), sketch line and polygon are subject to the edit function / Break / in a special way. These objects are cut between points indicated on any (not necessarily adjacent) linear or arc segments (or in the case of a polygon - its edges). Segments on which the indicated points lie are cut to these points, while segments lying between the cut points are completely deleted.

An unclosed polyline is cut into two independent polylines. A closed polyline as well as an ellipse and a regular polygon remain a single polyline after cutting.

5.12. Trimming (clipping) objects

If there is a need to shorten an element in such a way that the end of the object is exactly on the edge of another element, the editing function / Trim / turns out to be very helpful . It allows you to trim an object (or multiple objects) to the points of intersection with other objects marked as trimming edges.

After initiating the function / Trim /, first indicate the objects which will be the cutting edges (the program displays the message <Select cutting edges> ). This operation can be performed in any generally accepted way of indicating objects. These objects can be line segments, arcs, circles, discs, ellipses and elliptical arcs, polylines, polygons, 2-lines, 3-lines, sketch lines, charts, solids, traces or bezier curves.

After selecting the cutting edges (with the {RMB} or {Esc} key ), the program waits for selecting the element which will be cut (the program displays the message <Select object to cut> ). The object is selected by indicating the part of the object that is to be cut off. These objects can be line segments, arcs, circles, ellipses and elliptical arcs, polylines, polygons, 2-lines, 3-lines, sketch lines, charts.

After trimming the indicated object to the cutting edges, the program waits for the next object for trimming to be indicated or for the function to be abandoned with the {RMB} or {Esc} key. To change the sequence of objects that constitute clipping edges, end the function and reinitialize it.

Each object can define a cutting edge at the same time and be clipped itself. If the point with which the selection was made lies between the end and the intersection with the cutting edge, the object is trimmed to that edge. If the cue point lies between the points of intersection with the cutting edges - this part of the object is removed and the object is divided into two independent elements, similar to the cutting function.

A circle can only be trimmed (or actually cut) if it has two points of intersection with the cutting edges. The portion of the circle between the intersection points with the cutting edges and closer to the cue point is removed, and the circle is converted to an arc.

Trimming polylines, ellipses, sketch lines and polygons

A polyline, an ellipse (elliptical arc), a sketch line and a polygon are subject to the edit function / Trim / in a special way. These objects are cut to the cut edge (or cut between two edges) regardless of whether the cut (cut) occurs within one segment of the polyline or several segments. The segment that intersects the trim edge is trimmed, while the segments on the trimmed side are completely deleted.

If a fragment of an unclosed polyline is cut between two edges, it is converted into two independent polylines. A closed polyline as well as an ellipse and a regular polygon remain a single polyline after cutting.

5.13. Extending objects

The / Extend / editing function is similar to the / Trim / function with the difference that the objects are not cut to the selected cutting edges, but extended in such a way that their ends lie exactly on these edges (at the points of intersection of the object extension with the selected cutting edges. extension edges). The method of indicating the extension edges and extended objects is the same as in the / Trim / function. Objects are extended from the side closer to the pointfinder center with which the extended object is indicated. The end of the indicated object is extended without changing the direction (the segment is lengthened along a straight line, the arc is lengthened in a circle) until it intersects with the closest edge of the extension.

Extend polylines

A polyline, a cut ellipse (elliptical arc), a sketch line and a cut regular polygon can be extended to any edge, but one of the extreme (rectilinear or arc) segments of the polyline, closer to the center of the target, is modified (extended). This segment is lengthened in the same way as in the case of a segment or an arc, hence the lengthening of e.g. an elliptical arc is performed by means of a coaxial segment with the last segment (rectilinear) approximating the elliptical arc (which is actually a polyline).

5.14. Filleting objects

Editing function / Fillet / enables connection of two segments or a segment and a circle by means of an arc with a given radius, tangent to both segments (or a segment and a circle), while the segments (or segment) are cut or extended to the point of contact with the arc.

5.14.1. Filleting of two sections

In order to connect two lines with an arc, after initiating the function / Fillet / two line sections should be selected one after the other. The program searches for the point of intersection of segments or their extension, thus determining the internal angle between the segments. Then, it inserts an arc with a given radius, the center of which (in fact the center of a circle whose segment is the arc) lies on the bisector of the designated angle, the length of the arc as well as the starting and ending angles being selected so that the arc is tangent to both segments.

Line segments are shortened (or lengthened) to the point of tangency with the arc.

Determining the radius of the filleting arc

The arc radius is displayed steadily on the top line of the screen. At any time (before selecting segments or while selecting them), it is possible to change the current filleting radius of the arc. After moving to the edit line with the {Tab} key, you can enter a new value of the arc radius. This value will remain valid until it is changed.

If the value of the profiling arc radius is equal to 0 , the segments are cut (or lengthened) to their intersection point, and the profiling arc is not inserted.

If the declared radius is too large for the arc to be inserted between the segments (the tangent point falls outside one of the segments), the procedure is abandoned and the program displays an error message.

If both indicated objects lie on one layer, the rounding arc will also be placed on the same layer. If, on the other hand, the joined objects lie on different layers, the rounding arc will be drawn on the current layer. This rule also applies to the color, thickness, and type of line on which the rounding arc is drawn.

Parallel sections are ignored, which is signaled by a message.

In the filleting function, the program provides an additional option in the auxiliary menu / Fillet / with the / Return / option, selection of which allows - after filleting - to restore the original form of objects together with deleting the inserted arc. This procedure allows you to repeat the filleting function with modified radius of the filleting arc.

5.14.2. Filleting polylines and polygons

If two rectilinear polyline segments or edges of a polygon are indicated, they must be adjacent to each other or be edge segments. Otherwise, filleting is not performed and the program displays an error message.

5.14.3. Filleting lines to a circle

Filleting a line segment to a circle consists in placing an arc with a given radius tangent to the indicated line and the indicated circle and cutting (or lengthening) the line to the point of contact with the added arc. The circle is not modified.

The filleting method (starting and ending angle of the arc) is selected from 4 possible ways, depending on the method of indicating the line and arc, i.e. the position of the target indicating the line and circle, in relation to the point of intersection of the circle with the line or its extension.

5.15. Chamfering

Editing function / Chamfer / allows you to shorten intersecting segments (or lengthen convergent segments) at a given distance from the intersection point or their extension and connect them with an additional segment. The vertex formed by the two intersecting sections is thus "chamfered".

The function works similarly to / Fillet / with the difference that instead of adjusting the arc with a given radius, the program will insert an additional line segment connecting the point P1 lying on one segment distant by the set value W1 from the intersection point and the point P2 lying on the print segment distant by the set value W2 from the intersection point of the segments.

5.15.1. Chamfering two line sections

After initiating the function, the program waits for the indication of two line segments. After lengthening (or shortening) the segments to their intersection point, the first segment is trimmed at the first set distance (W1) from the intersection point, and the second segment is trimmed at the second set distance (W2) from the intersection point.

An additional segment is inserted between the segment end points determined in this way. In case both indicated sections belong to the same layer, the chamfer section will also be placed on the same layer. If, on the other hand, the vertex segments lie on different layers, the chamfering segment will be drawn on the current layer.

This rule also applies to the color, type and thickness of the line on which the chamfer will be drawn.

If the intersection point of the indicated segments does not exist within the boundaries of the drawing, the command will be canceled and an appropriate message will be displayed in the upper line of the screen.

Set the vertex chamfer parameters

The current chamfering parameters (chamfer distances W1; W2 ) displayed in the edit line, similarly to the arc radius in the / Fillet / procedure , can be changed at any time by going to the edit line with the {Tab} key and entering new values.

If the values of the sections W1 and W2 are equal, one value of W can be given .

5.15.2. Chamfering the vertices of a polyline and a polygon

If two rectilinear polyline segments or edges of a polygon are indicated, they must be adjacent to each other or be edge segments. Otherwise, chamfering is not performed and the program displays an error message.

5.16. Parallel copy (offset)

Editing function / Offset / enables parallel copying of an indicated object in such a way that (depending on the selected option) the copy of the object (or its extension) passes through the indicated point, or the copy is distanced from the reference object by a given distance expressed in current units and scale.

In the auxiliary menu, the / Offset / option is activated, which allows you to select the correct mode: / Point / Distance / . The initialized mode is " Point " .

If the " Distance " mode is active , changes to the parallel copy distance value (initial value 0 ) are made after moving to the parameter edit line with the {TAB} key. In this mode, indicate with the cursor the page (in relation to the model object) on which the given object will be copied.

If the function operates on arcs or circles, arcs or circles concentric with the indicated object are generated, respectively, passing through a given point or with a radius enlarged or reduced by a given offset value.

5.17. Dividing object

The edit function / Divide / allows to "overlay" a simple (line, arc, circle) or complex (polygon, polyline) object with points (primitives of the "Point" type) in such a way that they lie on the axis of the indicated object and divide this the object into a given number of equal parts or they are arranged along the object's axis, maintaining a given distance between consecutive points. Distances are calculated along the rectilinear or arched axis of the object.

The division of the facility is of course fictional. The object is not physically divided, only the inserted points define the given division.

This procedure is used to define the division of an object in order to locate objects later in relation to appropriately spaced points.

After selecting the editing function / Divide /, depending on the current division mode, the program displays the following message:

<Select object to divide> or
<Select object to measure>

At the same time, the set number of segments in the "Divide" mode or the set distance between points in the "Measure" mode is displayed in the upper line of parameters. The value can be changed after moving to the edit line using the {Tab} key.

In the auxiliary menu, an additional option / Divide / is activated in which the following sub-options (parameters) are available:

/ Divide /
/ Number of segments ... /
/ Measure /
/ Segment length ... /
/ Maximum ... /
/ polyline / Segment ... /
/ Remove /
optional / Align block / (only in /Copy/ or /Block/ /Paste/ or /Import/ or import from catalog functions

The / Divide / option (by default) switches the function to the mode of dividing the object into a given number of segments.

The parameter / Number of segments / is active in the "Divide" mode and determines the number of segments of the object division.

The / Measure / option switches the function to the mode of placing points along the object axis, maintaining the parameter / Segment length / distance between inserted points.

The / Maximum / parameter defines the maximum number of points placed in the "Measure" mode. This allows you to place a given number of points located along the axis of the object and distant by a given distance. The / Maximum / parameter also protects against an attempt to arrange points with incorrect function parameters, resulting in too many generated objects and the resulting waiting time for the function termination or the exhaustion of the available memory.

The / polyline / Segment / option allows you to select the division mode (measuring) of a single segment of a complex object (e.g. a polygon or polyline) or the entire complex object, but in the last case the length of the polyline is calculated continuously along the axis of the complex object, without distinguishing its individual segments.

The / Remove / option allows for successive deletion of the sequence of points distributed along the objects in a given session of the procedure / Divide /. This allows for a quick correction of a wrongly performed division or measuring operation.

The / Align block / option is not used in the "Divide" edit function, but only in / Block / functions and the / Copy / edit function.


5.18. Repeat the last edit function

AlfaCAD remembers the last editing function performed. In order to repeat it, is enough to accept the default options of subsequent menus indicated by the program using the { Enter } or { LMB } key . The default options correspond exactly to the last selected ones, which leads to the re-initiation of the last editing function performed.

You can also use shortcut key {Bspc} to access last editing function.

5.19. Undo

The last item of the / Edit / menu is the / Undo / function . The program records the parameters of the last 4 editing functions, such as:

and the objects that were modified by these functions. The effect of these functions can be undone if in the menu / Edit / in the position / Undo / the name of the editing function is additionally given, e.g. / Undo - Move / .

Each edited object is assigned only to the last group of elements that have been changed. Therefore, if the object "A" and "B" was moved and then the object "A" was rotated, then in the first function / Undo - Rotate / the object "A" will be rotated (to its original position) and in the next function / Undo - Move / only object "B" will be moved to its original position. The "Undo" function implemented in this way does not allow to go back up to 4 steps back, but it does not require remembering the entire drawing to perform this function, which greatly speeds up the program.