## We have moved to https://dokuwiki.librecad.org/

Lots of content was already moved to the new wiki, but there is still work to do. If you want to contribute, please register a new account at https://dokuwiki.librecad.org/

This wiki will be kept for a while to keep search engine results valid. Moved sites may be deleted here in future.

# Tools

## Contents

## General

### Define location of points

Assign the location of a point by "Absolute" or "Relative" reference (Cartesian coordinates):

**Absolute**(*x,y*) is the horizontal (*x*position), vertical (*y*position) from origin (0,0).

**Relative**(*@x,y*) is the horizontal (*x*distance), vertical (*y*distance) from current or selected point.

**Length and Angle**: (*@l<d*) is the distance or length (*l*) and the angle in degrees from zero (*d*) from the current or selected point (polar coordinates).

Note that:

Degrees | Direction | ||
---|---|---|---|

0 (or 360) | is Right / East / 3 o'clock | ||

90 | is Up / North / 12 o'clock | ||

180 | is Left / West / 9 o'clock | ||

270 | is Down / South / 6 o'clock |

Refer to **Related** links below.

## Line

**2 points** [DrawLine]: Draw a line between two assigned points (x,y) (x,y).

**Angle** [DrawLineAngle]: Draw a line from an assigned point (x,y) defining the start, middle or end of the line and with an assigned length and angle.

**Horizontal** [DrawLineHorizontal): Draw a horizontal line from an assigned point (x,y) defining the start, middle or end of the line and with an assigned length.

**Vertical** [DrawLineVertical]: Draw a vertical line from an assigned point (x,y) defining the start, middle or end of the line and with an assigned length.

**Freehand Line** [DrawLineFree]: Draw a non-geometric line.

**Parallel through point** [DrawLineParallelThrough]: Draw a given number of lines parallel to a selected existing line through an assigned point (x,y).

**Parallel** [DrawLineParallel]: Draw a given number of lines parallel to a selected existing line with a given distance (l) between lines.

**Rectangle** [DrawLineRectangle]: Draw a rectagle by assigning the points (x,y) (x,y) of two diagonally opposite corners.

**Bisector** [DrawLineBisector]: Draw a given number of lines bisecting two existing non-parallel lines (e.g. at an angle to each other with or without a common point).

**Tangent (P,C)** [DrawLineTangent1]: Draw a line from an assigned point (x,y) tangent to an existing circle.

**Tangent (C,C)** [DrawLineTangent2]: Draw a line tangent to two existing circles.

**Tangent Orthogonal** [DrawLineOrthTan]: Draw a line tangent to an existing circle and perpendicular to an existing line.

**Orthogonal** [DrawLineOrthogonal]: Draw a line of a given length perpendicular to an existing line placing the centre at an assigned point (x,y).

**Relative Angle** [DrawLineRelAngle]: Draw a line with a given length and at a given angle relative to an existing line placing the centre of the line at an assigned point (x,y).

**Polygon (Cen,Cor)** [DrawPolyline]: Draw a polygon with a given number of sides assigning the centre point (x,y) and point of one vertex (x,y).

**Polygon (Cen,Tan)** [DrawLinePolygonCenTan]: Draw a polygon with a given number of sides assigning the centre point (x,y) and point of the centre of one side (x,y).

**Polygon (Cor,Cor)** [DrawLinePolygonCorCor]: Draw a polygon with a given number of sides assigning the two points of one side (x,y) (x,y).

## Circle

**Centre, Point** [DrawCircle]: Draw a circle with a given radius by assigning a centre point (x,y) and a point (x,y) on the circumference.

**Centre, Radius** [DrawCircleCR]: Draw a circle with a given radius (l) centred at an assigned point (x,y) on the circumference.

**2 Points** [DrawCircle2P]: Draw a circle with a given diameter by assigning two opposite points (x,y) (x,y) on the circumference.

**2 Points, Radius** [DrawCircle2PR]: Draw a circle with two points (x,y) (x,y) on the circumference and with an assigned radius (l).

**3 Points** [DrawCircle3P]: Draw a circle assigning three points (x,y) (x,y) (x,y) on the circumference.

**Concentric** [DrawCircleParallel]: Draw a circle concentric, with the same centre point, to an existing circle.

**Circle Inscribed** [DrawCircleInscribe]: Draw a circle inside an existing polygon of four sides or more.

**Tangential 2 Circles, Radius** [DrawCircleTan2]: Draw a circle tangential to two circles with a given radius.

**Tangential, 2 Circles, 1 Point** [DrawCircleTan2_1P]: Draw a circle tangential to two existing circles and assigning a centre point (x,y) to establish the radius.

**Tangential, 2 Points** [DrawCircleTan2]: Draw a circle tangential to an existing circle and define the diameter and placement by assigning two points (x,y) (x,y) on the circumference.

**Tangential, 2 Circles, Radius** [DrawCircleTan2]: Draw a circle tangential to two existing circles with a given radius (l).

**Tangential, 3 Circles** [DrawCircleTan3]: Draw a circle tangential to three existing circles.

## Curve

**Center, Point, Angles** [DrawArc]: Draw a curve (arc) with a given radius defined by a center point (x,y) and a point (x,y) on the circumference, the direction of rotation (clockwise or counter-clockwise), a point (x,y) defining the start position of the arc and a point (x,y) defining the end position of the arc.

**3 Points** [DrawArc3P]: Draw a curve (arc) by assigning three points (x,y) (x,y) (x,y) on the circumference of the arc defining the start position, a point on the circumference and end position of the arc.

**Concentric** [DrawArcParallel]: Draw a curve (arc) concentric, with the same centre point, to an existing curve (arc) with a defined offset.(*)

**Arc Tangential** [DrawArcTangential]: Draw a curve (arc) tangential to the end of an exsiting line segment with a defined radius (l) or angle (deg).

## Ellipse

**Ellipse (Axis)** [DrawEllipseAxis]: Draw an ellipse by assigning a centre point (x,y), a point (x,y) on the circumference of major access and a point (x,y) on the circumference the minor access.

**Ellipse Arc (Axis)** [DrawEllipseArcAxis]: N/A

**Ellipse Foci Point** [DrawEllipseFociPoint]: Draw an ellipse by assigning two foci points (x,y) (x,y) and a point (x,y) on the circumference.

**Ellipse 4 Point** [DrawEllipse4Points]: Draw an ellipse assigning four points (x,y) (x,y) (x,y) (x,y) on the circumference.

**Ellipse Center and 3 Points** [DrawEllipseCenter3Points]: Draw an ellipse by assigning a centre point (x,y) three points (x,y) (x,y) (x,y) on the circumference.

**Ellipse Inscribed** [DrawEllipseInscribe]: Draw a Ellipse constrained by four existing non-parallel line segments.

## Spline

**Spline** [DrawSpline]: Draw an open or closed spline (curve) by assigning control points (x,y) and a given degree of freedom (1 - 3).

**Spline through points** [DrawSplinePoints]: Draw an open or closed spline (curve) by defining points (x,y) on the spline.

## Polyline

**Polyline** [DrawPolyline]: Draw an open or closed continuous line consisting of one or more straight line or arc segments defined by endpoints (x,y) and / or radius or angle for arcs.

**Add node** [PolylineAdd]: Add node (x,y) to existing polyline. (Use "Snap on Entity" to place new node on segment.)

**Append node** [PolylineAppend]: Add one or more segments to an existing polyline by selecting polyine and adding new node endpoint (x,y).

**Delete node** [PolylineDel]: Delete selected node of an existing polyline.

**Delete between two nodes** [PolylineDelBetween]: Delete one or more nodes between selected nodes of an existing polyline.

**Trim segments** [PolylineTrim]: Extend two seperate non-parallel segments of an existing polyline to intersect at a new node.

**Create Equidistant Polylines** [PolylineEquidistant]: Draw a given number of polylines parallel to a selected existing polyline with a given distance (l) between lines.

**Create Polyline from Existing Segments** [PolylineSegment]: Create polyline from two or more existing seperate line or arc segments forming a continuous line.

## Select

**Select Entity** [SelectSingle]:

**Select Window** [SelectWindow]:

**Deselect Window** [DeselectWindow]:

**(De-)Select Contour** [SelectContour]:

**Select Intersected Entities** [SelectIntersected]:

**Deselect Intersected Entities** [DeselectIntersected]:

**(De-)Select Layer** [SelectLayer]:

**Select All** [SelectAll]:

**Deselect all** [DeselectAll]:

**Invert Selection** [SelectInvert]:

## Dimension

**Aligned** [DimAligned]: Apply dimension lines and text aligned to an existing entity by selecting start and end points on a line segment and placement point for the text.

**Linear** [DimLinear]: Apply dimension lines and text at an defined angle to an entity by selecting start and end points on a line segment and placement point for the text.

**Horizontal** [DimLinearHor]: Apply dimension lines and text aligned to an entity by selecting start and end points on a line segment and placement point for the text.

**Vertical** [DimLinearVer]: Apply dimension lines and text aligned to an entity by selecting start and end points on a line segment and placement point for the text.

**Radial** [DimRadial]: Apply dimension lines and text a circle's or arc's radius by selecting entity and placement point for the text.

**Diametric** [DimDiametric]: Apply dimension lines and text a circle's or arc's diameter by selecting entity and placement point for the text.

**Angular** [DimAngular]: Apply angular dimension by selecting two existing non-parallel line segments and placement point for the text.

**Leader** [DimLeader]: Draw a text leader by by selecting start (arrow location), intermediate and end points (X,y).

## Modify [Offline Work-in-progress; 2-Jun-17, Gary S

**Attributes** [ModifyAttributes]: Allows for modifying the common attributes of * one or more* selected entities, including:

- Layer
- Pen color
- Pen width
- Pen Line type

**Delete** [ModifyDelete]:

**Delete selected** [ModifyDeleteQuick]:

**Delete Freehand** [ModifyDeleteFree]:

**Move / Copy** [ModifyMove]:

**Revert direction** [ModifyRevertDirection]:

**Rotate** [ModifyRotate]:

**Scale** [ModifyScale]:

**Mirror** [ModifyMirror]:

**Move and Rotate** [ModifyMoveRotate]:

**Rotate Two** [ModifyRotate2]:

**Properties** [ModifyEntity]: Allows for the modification of a * single* entity's properties, including:

- Layer
- Pen color
- Pen width
- Pen Line type
- Geometry (depending on type of entity)
- Line
- Start point (x)
- Start point (y)
- End point (x)
- End point (y)

- Circle:
- Center (x)
- Center (y)
- Radius (l)

- Etc...

- Line

**Trim** [ModifyTrim]:

**Trim Two** [ModifyTrim2]:

**Lengthen** [ModifyTrimAmount]:

**Offset** [ModifyOffset]:

**Divide** [ModifyCut]:

**Stretch** [ModifyStretch]:

**Bevel** [ModifyBevel]:

**Fillet** [ModifyRound]:

**Explode Text into Letters** [ModifyExplodeText]:

**Explode** [BlocksExplode]:

## Info

**Point inside contour** [InfoInside]:

**Distance Point to Point** [InfoDist]:

**Distance Entity to Point** [InfoDist2]:

**Angle between two lines** [InfoAngle]:

**Total length of selected entities** [InfoTotalLength]:

**Polygonal Area** [InfoArea]:

## Misc

### MText

**MText** [DrawMText]:

### Text

**Text** [DrawText]:

### Hatch

**Hatch** [DrawHatch]:

### Insert Image

**Insert Image** [DrawImage]:

### Points

**Points** [DrawPoint]: Draw a point at the assigned coordinates (x,y).

## Other

### Order

**move to bottom** [OrderBottom]:

**lower after entity** [OrderLower]:

**raise over entity** [OrderRaise]:

**move to top** [OrderTop]:

### Layers

**Show all** [LayersDefreezeAll]:

**Hide all** [LayersFreezeAll]:

**Add Layer** [LayersAdd]:

**Remove Layer** [LayersRemove]:

**Edit Layer** [LayersEdit]:

**Toggle Layer Lock** [LayersToggleLock]:

**Toggle Layer Visibility** [LayersToggleView]:

**Toggle Layer Print** [LayersTogglePrint]:

**Toggle Construction Layer** [LayersToggleConstruction]:

### Block

**Show all** [BlocksDefreezeAll]:

**Add Block** [BlocksAdd]:

**Remove Block** [BlocksRemove]:

**Rename Block** [BlocksAttributes]:

**Edit Block** [BlocksEdit]:

**Insert Block** [BlocksInsert]:

**Toggle Block Visibility** [BlocksToggleView]:

**Create Block** [BlocksCreate]:

### Zoom

**Zoom In** [ZoomIn]:

**Zoom Out** [ZoomOut]:

**Auto Zoom** [ZoomAuto]:

**Previous View** [ZoomPrevious]:

**Redraw** [ZoomRedraw]:

**Window Zoom** [ZoomWindow]:

## Related

Points: http://wiki.librecad.org/index.php/Points

Snapping: http://wiki.librecad.org/index.php/Snapping

http://wiki.librecad.org/index.php/Category:Tools

http://wiki.librecad.org/index.php/Commands

http://wiki.librecad.org/index.php/A_short_manual_for_use_from_the_command_line