.. index:: single: Tutorials Tutorials ========= Step-by-step guides for common civil engineering workflows in IQcad. Each tutorial starts from scratch and walks through the complete process. .. contents:: :local: :depth: 2 .. index:: single: Tutorial 1: Working with Survey Points Tutorial 1: Working with Survey Points --------------------------------------- This tutorial covers importing survey data, organising points into groups, applying styles, and performing coordinate transformations. .. index:: single: Step 1 — Open a New Drawing Step 1 — Open a New Drawing ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. list-table:: :widths: 5 95 * - 1. - Choose **File > New** or press **Ctrl+N** to create a blank drawing. * - 2. - The drawing opens with a default empty canvas. The coordinate system defaults to metres (metric). .. index:: single: Step 2 — Import Points from CSV Step 2 — Import Points from CSV ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Survey points are typically collected in the field and exported as CSV files. IQcad can import these directly. .. list-table:: :widths: 5 95 * - 1. - Open the **Point Manager** (**Civil › Points › Point Manager…**) and click the **Import** button on its toolbar. * - 2. - In the Import dialog, click **[...]** to browse to your CSV file. * - 3. - Select the **Format** from the dropdown. The most common format is **P, N, E, Z, Desc** (Point Number, Northing, Easting, Elevation, Description). If unsure, choose **Auto-detect (by column count)**. * - 4. - Check **Skip first line** if your file has a header row. * - 5. - Optionally enter a **Point group** name (e.g., ``Topo``) to assign all imported points to a group automatically. * - 6. - Review the preview at the bottom of the dialog to verify the data looks correct. * - 7. - Click **Import**. The status bar shows how many points were imported. **CSV file format example:** .. code-block:: text 1,538345.123,4872341.456,412.500,BM-001 2,538350.200,4872345.100,413.200,EP 3,538360.500,4872350.800,414.100,CL 4,538370.000,4872355.300,413.800,EP Each line contains: PointNumber, Northing, Easting, Elevation, Description. Lines starting with ``#`` or ``;`` are treated as comments. Accepted file types: ``.csv``, ``.txt``, ``.pts``. .. index:: single: Step 3 — View Points in the Point Manager Step 3 — View Points in the Point Manager ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. list-table:: :widths: 5 95 * - 1. - Open the **Point Manager** from **Civil > Points > Manager** or the ribbon button. * - 2. - The grid displays all imported points with columns: #, Easting, Northing, Elevation, Raw Desc, Full Desc, and Lock. * - 3. - Click any cell to edit its value directly. Changes apply immediately to the database and the canvas. * - 4. - Use **Zoom Extents** (``Z`` then ``E`` in the command line, or double-click the mouse wheel) to see all points on the canvas. .. index:: single: Step 4 — Create Point Groups Step 4 — Create Point Groups ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Groups let you organise points by category (e.g., boundary, topo, control). .. list-table:: :widths: 5 95 * - 1. - In the Point Manager, **right-click a sheet tab** at the bottom and choose **New Group...**. * - 2. - Enter a group name (e.g., ``Boundary``) and click OK. A new tab appears. * - 3. - Switch to the **All Points** tab. Select the rows you want to add to the group (click the first row, hold **Shift** and click the last row for a range, or hold **Ctrl** and click individual rows). * - 4. - Click the **To Group** button on the toolbar. Select the target group from the dialog and click OK. * - 5. - Switch to the group tab to verify the points appear there. .. index:: single: Step 5 — Change Point Styles Step 5 — Change Point Styles ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Point styles control the marker shape and label appearance for survey points on the canvas. .. list-table:: :widths: 5 95 * - 1. - Open the style editor via **Civil > Styles** (Civil Style Manager) and select the **Point Styles** category, or use **Format > Point Style...** (**Ctrl+Shift+D**). * - 2. - Select a point in the drawing, then in the Object Inspector change the **PointStyleName** property to one of the built-in styles: Standard, Benchmark, Control Point, GPS Rover, or Iron Rod. * - 3. - The marker on the canvas updates immediately to reflect the new style. .. index:: single: Step 6 — Export Points to Excel Step 6 — Export Points to Excel ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. list-table:: :widths: 5 95 * - 1. - In the Point Manager, switch to the tab you want to export (a specific group tab, or **All Points**). * - 2. - Click the **Export** button on the toolbar. * - 3. - Choose the format: **CSV**, **XLSX** (Excel), or **ODS** (LibreOffice). * - 4. - Choose a save location and click **Save**. .. index:: single: Step 7 — Lock Points Step 7 — Lock Points ~~~~~~~~~~~~~~~~~~~~~~ Locking prevents accidental modification of control points or benchmarks. .. list-table:: :widths: 5 95 * - 1. - In the Point Manager, select the rows you want to lock. * - 2. - Click the **Lock** button on the toolbar. The Lock column changes to ``Yes`` for the selected points. * - 3. - Locked points cannot be moved on the canvas. To unlock, select them again and click **Lock** to toggle. .. index:: single: Step 8 — Transform Points Step 8 — Transform Points ~~~~~~~~~~~~~~~~~~~~~~~~~~~ IQcad provides several coordinate transformation tools accessible from the Point Manager toolbar. .. list-table:: :widths: 5 95 * - 1. - Select the points you want to transform in the Point Manager grid. * - 2. - Click one of the transform buttons on the toolbar: - **Translate** — shift by dE, dN, dZ offsets. - **Rotate** — rotate around a base point by a specified angle. - **Scale** — scale from a base point by a factor. - **Swap E/N** — swap Easting and Northing values. - **Helmert** — 2D conformal transformation (translate + rotate + scale) using control point pairs. * - 3. - Enter the required parameters in the dialog and click **OK**. The points are transformed and the canvas updates. For more advanced transformations (Affine, Polynomial, Rubber-sheet), use the ``CSTRANSFORM`` or ``RUBBERSHEET`` commands from the command line. .. index:: single: Tutorial 2: Working with TIN Surfaces Tutorial 2: Working with TIN Surfaces --------------------------------------- This tutorial covers creating a terrain surface from survey points, customising its display, adding boundaries, and performing analysis. .. index:: single: Step 1 — Import Survey Points Step 1 — Import Survey Points ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ If you do not already have survey points in the drawing, import them following the steps in Tutorial 1 (Steps 1-2). You need at least 3 non-collinear points to create a TIN surface. .. index:: single: Step 2 — Create a Surface Step 2 — Create a Surface ~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. list-table:: :widths: 5 95 * - 1. - Choose **Civil > Surfaces > Create Surface** from the menu, click the **Create Srf** ribbon button on the Civil tab, or type ``CREATESURFACE`` (alias ``CS``) in the command line. * - 2. - A surface is created with an auto-generated name (``Surface_1``). If survey points exist in the drawing, they are triangulated automatically using the Bowyer-Watson Delaunay algorithm. * - 3. - The surface appears on the canvas showing triangulation edges and contour lines (depending on the active style). * - 4. - Use **Zoom Extents** to see the full surface. .. index:: single: Step 3 — View Contour Lines single: Triangulation Step 3 — View Contour Lines and Triangulation ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. list-table:: :widths: 5 95 * - 1. - Select the surface on the canvas by clicking on it. * - 2. - In the Object Inspector, look at the surface properties. The **ShowContours** and **ShowTriangles** flags control what is visible. * - 3. - Toggle **ShowContours** to ``True`` to display contour lines. * - 4. - Adjust the **MajorContourInterval** and **MinorContourInterval** values to control contour spacing (e.g., 5.0 m major, 1.0 m minor). .. index:: single: Step 4 — Change the Surface Style Step 4 — Change the Surface Style ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. list-table:: :widths: 5 95 * - 1. - With the surface selected, change the **StyleName** property in the Object Inspector. * - 2. - Three built-in presets are available: - **Standard** — triangles, contours, boundaries, and labels. - **Triangles & Contours** — triangles and contours visible. - **Contours Only** — only contour lines and labels. * - 3. - To create or edit styles, open the **Surface Style Editor** via **Format > Surface Styles...** or right-click the surface in the Civil Toolspace and choose **Surface Style...**. .. index:: single: Step 5 — Add a Boundary to Clip the Surface Step 5 — Add a Boundary to Clip the Surface ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. list-table:: :widths: 5 95 * - 1. - Draw a closed polyline around the area you want to keep (use the ``PLINE`` command, alias ``PL``). Close it by typing ``C`` at the last vertex prompt. * - 2. - Type ``ADDSURFACEBOUNDARY`` (alias ``ASB``) in the command line. * - 3. - Enter the surface name (or press Enter if only one surface exists). * - 4. - Click the boundary polyline. * - 5. - Choose **Outer** to clip everything outside the boundary, or **Hole** to clip everything inside. * - 6. - The TIN is rebuilt with triangles outside (or inside) the boundary removed. .. index:: single: Step 6 — Add Spot Elevations Step 6 — Add Spot Elevations ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. list-table:: :widths: 5 95 * - 1. - Type ``SPOTELEV`` (alias ``SE``) in the command line, or choose **Civil > Surfaces > Spot Elevation**. * - 2. - Click points on the surface. At each click, the tool queries the TIN to interpolate the elevation and places a label annotation. * - 3. - Right-click or press **Escape** to exit the command. .. index:: single: Step 7 — Decimate a Large Surface Step 7 — Decimate a Large Surface ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ If your surface has a very large number of points (e.g., from LiDAR or photogrammetry), decimation reduces the triangle count while preserving the surface shape. .. list-table:: :widths: 5 95 * - 1. - Type ``DECIMATESURFACE`` (alias ``DS``) in the command line. * - 2. - Enter the surface name (auto-selected if only one exists). * - 3. - Enter the **max elevation tolerance** in drawing units (e.g., ``0.05`` for 5 cm accuracy). * - 4. - The system automatically selects the best algorithm: grid-based for surfaces > 100K points, greedy insertion for smaller surfaces. * - 5. - Contours and boundaries are regenerated automatically after decimation. .. index:: single: Step 8 — Edit Surface Points Step 8 — Edit Surface Points ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. list-table:: :widths: 5 95 * - 1. - Use the surface editing commands to modify the TIN interactively: - ``SURFADDPOINT`` (``SAP``) — add a point to the TIN. - ``SURFDELETEPOINT`` (``SDP``) — remove a point. - ``SURFMOVEPOINT`` (``SMP``) — move a point. - ``SURFMODIFYELEV`` (``SME``) — change a point's elevation. - ``SURFSWAPEDGE`` (``SSE``) — swap a TIN edge between triangles. * - 2. - Use ``SURFUNDO`` to undo the last edit, or ``SURFLISTEDITS`` (``SLE``) to review the edit history. .. index:: single: Step 9 — Export to LandXML Step 9 — Export to LandXML ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. list-table:: :widths: 5 95 * - 1. - Choose **File > Export LandXML...** or use the **Output** ribbon tab. * - 2. - In the export dialog, check the surfaces you want to include. * - 3. - Choose a file location and click **Export**. * - 4. - The surface is written as a ```` element with ```` and ```` sub-elements in LandXML format. .. index:: single: Tutorial 3: Working with Alignments Tutorial 3: Working with Alignments ------------------------------------- This tutorial covers creating a horizontal alignment, adding curves and spirals, and generating profile views and cross-sections. .. index:: single: Step 1 — Create an Alignment from PIs Step 1 — Create an Alignment from PIs ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. list-table:: :widths: 5 95 * - 1. - Type ``ALIGNMENT`` (alias ``ALG``) in the command line, or choose **Civil > Alignments > Create Alignment**. * - 2. - Click points on the canvas to place each PI (Point of Intersection). A rubber-band preview line follows the cursor as you click. * - 3. - Right-click or press **Enter** to finish. The alignment is created with straight tangent segments only (no curves yet). Alternatively, convert an existing polyline: type ``ALIGNFROMPOLYLINE`` (alias ``AFP``) and click on a polyline. Its vertices become the alignment PIs. .. index:: single: Step 2 — Add Curves at PIs Step 2 — Add Curves at PIs ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. list-table:: :widths: 5 95 * - 1. - Open the **PI Table Editor** from the **Civil ribbon > Edit PIs** button, or double-click an alignment in the Civil Toolspace. * - 2. - In the PI data grid, find the interior PI where you want a curve. * - 3. - Enter a **Radius** value (e.g., ``200`` for a 200 m curve). The radius of ``0`` means no curve (tangent intersection). * - 4. - Click **Apply** to rebuild the alignment geometry. The canvas updates to show the curved alignment. .. index:: single: Step 3 — Add Spiral Transitions Step 3 — Add Spiral Transitions ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. list-table:: :widths: 5 95 * - 1. - In the PI Table Editor grid, locate the PI with a curve. * - 2. - Enter a value in the **Spiral In** column (e.g., ``50`` for a 50 m entry spiral length). * - 3. - Select the **Type (In)** from the dropdown: Clothoid L, Clothoid A, Cubic L, or Cubic A. * - 4. - Similarly, enter a **Spiral Out** value and select its type. * - 5. - Click **Apply** to rebuild. The alignment now shows smooth spiral transitions between the tangent and the circular curve. .. index:: single: Step 4 — View Station Labels single: PI Details Step 4 — View Station Labels and PI Details ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. list-table:: :widths: 5 95 * - 1. - Select the alignment on the canvas. * - 2. - In the Object Inspector, change the **Style Name** to **Design Phase** to see full labels and PI detail tables. * - 3. - Station labels appear at major and minor tick positions along the centreline. PI detail tables display computed curve parameters (radius, arc length, spiral parameter, tangent distance). * - 4. - Tables are placed on alternating sides of the alignment with leader lines and auto-hide when zoomed out. .. index:: single: Step 5 — Create a Profile View Step 5 — Create a Profile View ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. list-table:: :widths: 5 95 * - 1. - Type ``CREATEPROFILEVIEW`` (alias ``CPV``) in the command line, or choose **Civil > Profile > Create Profile View**. * - 2. - If multiple alignments exist, enter the alignment name. If only one exists, it is selected automatically. * - 3. - Enter the surface name to sample (or press **Enter** to skip). * - 4. - Click a point on the canvas to place the profile view. * - 5. - The profile view appears as a graph with station on the horizontal axis and elevation on the vertical axis. If a surface was selected, the existing ground profile is drawn as a line in the view. .. index:: single: Step 6 — Add a Design Profile Step 6 — Add a Design Profile ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. list-table:: :widths: 5 95 * - 1. - Type ``DESIGNPROFILE`` (alias ``DP``) in the command line. * - 2. - Click on a profile view in the drawing to select it. * - 3. - Click points inside the profile view to place PVI (Point of Vertical Intersection) points. Each click defines a station and elevation. * - 4. - Right-click or press **Enter** to finish placing PVIs. * - 5. - For each interior PVI, you are prompted for a **vertical curve length**. Enter ``0`` for a sharp grade break, or a positive value (e.g., ``100``) for a smooth parabolic vertical curve. * - 6. - The design profile is drawn in the profile view as a line overlaying the ground profile. .. index:: single: Step 7 — Create Cross-Sections Step 7 — Create Cross-Sections ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. list-table:: :widths: 5 95 * - 1. - Type ``CREATESECTIONSHEET`` (alias ``CSS``) in the command line, or choose **Civil > Cross-Sections > Create Section Sheet**. * - 2. - Select the alignment to use. * - 3. - Enter surface names to sample (comma-separated for multiple surfaces, e.g., ``Surface_1,Design_Surface``). * - 4. - Set the **station interval** (default 20 m) — how often cross- sections are cut along the alignment. * - 5. - Set the **left and right widths** (default 20 m each) — how far each section extends from the centreline. * - 6. - Set the number of **columns and rows** per sheet for the grid layout. * - 7. - Optionally select two surfaces for **cut/fill comparison** (e.g., existing ground vs. design surface). * - 8. - Click an insertion point on the canvas. The section sheet is generated with all cross-sections arranged in a grid layout. .. index:: single: Step 8 — View Earthwork Volumes Step 8 — View Earthwork Volumes ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. list-table:: :widths: 5 95 * - 1. - Type ``EARTHWORKVOLUMES`` (alias ``EWV``) in the command line. * - 2. - Select the section sheet to analyse. * - 3. - The command computes volumes using the **average end area method** and displays a table showing, for each station: cut area, fill area, cut volume, fill volume, cumulative cut, cumulative fill, and net volume. * - 4. - Totals are printed at the bottom of the table. .. index:: single: Step 9 — Import an Alignment from LandXML Step 9 — Import an Alignment from LandXML ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. list-table:: :widths: 5 95 * - 1. - Choose **File > Import LandXML...** or use the LandXML import button on the Civil ribbon tab. * - 2. - Browse to the ``.xml`` file and click **Open**. * - 3. - The import dialog shows the contents of the file. Check the alignments you want to import. * - 4. - Click **Import**. The alignment(s) appear on the canvas with their horizontal geometry (tangents, curves, spirals) and vertical profile (if present in the LandXML data). .. index:: single: Tutorial 4: Working with Parcels Tutorial 4: Working with Parcels ---------------------------------- This tutorial covers creating parcel boundaries, attaching metadata, and customising parcel display. .. index:: single: Step 1 — Draw a Closed Polyline Step 1 — Draw a Closed Polyline ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. list-table:: :widths: 5 95 * - 1. - Type ``PLINE`` (alias ``PL``) in the command line to start a polyline. * - 2. - Click points on the canvas to define the parcel boundary corners. * - 3. - After placing the last corner, type ``C`` and press **Enter** to close the polyline (connect the last point back to the first). .. index:: single: Step 2 — Create a Parcel Step 2 — Create a Parcel ~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. list-table:: :widths: 5 95 * - 1. - Type ``CREATEPARCEL`` (alias ``PARCEL``) in the command line, or choose **Civil > Parcels > Create Parcel**. * - 2. - When prompted, enter a **parcel name** (e.g., ``Lot-1``). * - 3. - Click on the closed polyline you drew in Step 1. * - 4. - The parcel entity is created and appears on the canvas with the default **Standard** style. The source polyline remains in the drawing. .. index:: single: Step 3 — Set Parcel Name and Number single: Step 3 — Set Parcel Name single: Number Step 3 — Set Parcel Name and Number ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. list-table:: :widths: 5 95 * - 1. - Select the parcel on the canvas by clicking on it. * - 2. - In the Object Inspector, set the **ParcelName** property (e.g., ``Lot-1`` or ``Parcel A``). * - 3. - Set the **ParcelNumber** property to a numeric identifier (e.g., ``1``). .. index:: single: Step 4 — View Area and Perimeter single: Step 4 — View Area single: Perimeter Step 4 — View Area and Perimeter ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. list-table:: :widths: 5 95 * - 1. - With the parcel selected, look at the Object Inspector. * - 2. - The **Area** property shows the computed area of the boundary polygon in square drawing units (e.g., square metres). * - 3. - The **Perimeter** property shows the total boundary length. * - 4. - These values are read-only and update automatically if the boundary geometry is edited. .. index:: single: Step 5 — Add User Data Step 5 — Add User Data ~~~~~~~~~~~~~~~~~~~~~~~~~ .. list-table:: :widths: 5 95 * - 1. - With the parcel selected, expand the **UserData** category in the Object Inspector. * - 2. - Add key-value pairs for the parcel metadata. Common fields include: - **Owner** — name of the property owner. - **Description** — free-text description of the parcel. - **Zoning** — zoning classification (e.g., Residential, Commercial). - **LandUse** — current land use description. - **TaxID** — tax parcel identifier. * - 3. - User data is saved with the drawing and included in LandXML exports. .. index:: single: Step 6 — Change the Parcel Style Step 6 — Change the Parcel Style ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. list-table:: :widths: 5 95 * - 1. - With the parcel selected, change the **StyleName** property in the Object Inspector. * - 2. - Four built-in styles are available: - **Standard** — boundary line only, no fill. - **Property** — boundary with semi-transparent fill and bearing/distance labels on each segment. - **Easement** — dashed boundary with light fill for restricted zones. - **ROW** — heavy boundary with cross-hatch fill for rights-of-way. * - 3. - To create or edit parcel styles, open the **Civil Style Manager** via **Civil > Styles** and select the **Parcel Styles** category, or use **Format > Parcel Styles...**. .. index:: single: Step 7 — Import Parcels from LandXML Step 7 — Import Parcels from LandXML ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. list-table:: :widths: 5 95 * - 1. - Choose **File > Import LandXML...** from the menu. * - 2. - Browse to the ``.xml`` file containing parcel data and click **Open**. * - 3. - In the import dialog, check the parcels you want to import. * - 4. - Click **Import**. The parcels appear on the canvas with their boundary geometry, names, and any associated metadata from the LandXML file.