Run AS4INFO at any time for a command-line reference of every command below: it lists them all with a letter, then prints a short usage/effect description for whichever letter you type.
AS4IMPORT
Reads an ArchSurv delimited text file and builds the classified drawing.
Delimiter auto-detection: tries tab, then semicolon, then pipe (|), then comma; repeated delimiter runs (used by some devices purely for column alignment) are collapsed so they don't shift columns; every field is trimmed, including a single matching pair of surrounding double-quotes if the source file quotes its fields (e.g. "0001A03001" is read as 0001A03001)
File picker: .csv, .txt and .asc are the allowed file formats, selectable in the file picker.
Columns: point_ID, x, y, z, code. A 4-column line (no code) is accepted and treated as if code were "-".
point_ID classification:
A valid 10-character ArchSurv code is parsed and classified per the shape type table above.
If a point_ID is not a valid ArchSurv code, but consists only of digits plus at least one of ".", "-", "_", it is treated as a station point (e.g. a total-station coordinate) and gets its own symbol automatically.
Anything else (wrong length, unrecognized shape type code, too few columns) is skipped and reported, both immediately on the command line and in a summary at the end.
Posthole geometry (61/06): generates a 32-vertex circular polygon centered on the measured point; diameter from the container letter (A = 1 cm ... Z = 26 cm).
Duplicate shpcontainers: if the same feature+container+shape-type combination occurs twice in the file (e.g. two people measuring into the same container on a long day, 0001A03... appearing, ending, then starting over from sequence 001 again), AS4CAD detects the sequence-number reset and splits the points into separate, independent lines/polygons rather than merging them into one geometry that jumps between the two unrelated point sets. Both measurements are always kept in full.
Ends with ZOOM Extents and a full command-line summary.
AS4SETTINGS
The entry point for configuring AS4CAD - a menu with six steps. Type the first letter shown to jump to that step, as many times as needed, in any order, until X/eXit: AS4CAD settings [Layerstructure/Vector/Symbol/Text/Export/Default/eXit] <eXit>:
Layerstructure
Controls where geometry ends up, layer-wise. Asks:
Which field names the per-feature layer - IDnum (plain ID, e.g. 4), IDstr (padded, e.g. 0004), IDnumCode/IDstrCode (ID+code), CodeIDnum/CodeIDstr (code+ID).
For each of six point categories (heights, samples, finds, 3D markers, section nails, fixed points), one of a set of placement modes:
Mode Effect Example (heights, feature 193, IDnumselected)
A own layer, category-prefixed as4_heights_193
B own layer, category-suffixed 193_heights
C shares the feature's own layer 193
D one collective category layer as4_heights
E one layer per indiv. measurement as4_find-37_193 (running number 37)
Defaults: heights = C, samples/finds/3D-markers/section-nails = B, fixed points = D.
Trench boundaries (92/93) always go to a fixed as4_trench_<code> layer regardless of this setting, since they are excavation-wide rather than per-feature.
Symbol
Vertex marker radius, point symbol scale, and - for the five customizable symbol types (fixed point, station, sample, find, 3D marker) - shape, center marker and colors:
Shape: A = Circle, B = Triangle, C = Square, D = Hexagon
Center marker: A = Crosshair, B = X, C = Dot, D = Circle
Colors: ACI number (1-255) for the outer shape and, separately, for the center marker
Height points and section nails are not covered here - their designs (apex-at-coordinate inverted triangle; crossing-point-at-coordinate X with a vertical shaft) are purpose-built and don't fit the generic "shape + centered marker" model.
Factory defaults:
Type Shape Marker Shape color Marker color
Fixed point Circle Crosshair red dark grey
Station Circle Crosshair yellow dark grey
Sample Circle X brown white
Find Circle X light blue white
3D marker Circle X magenta white
Text
Label text height and ACI color for all seven labelled symbol types (fixed point, station, sample, find, height, 3D marker, section nail). Height defaults to a smaller size (0.04) to match its deliberately small symbol; all others default to 0.08. Text colors default to matching each symbol's own shape color.
Vector
Color (ACI, 0 = ByLayer/no override) and lineweight (mm, 0 = ByLayer/no override) for the five line/polygon groups:
Group Shape types Default color Default lineweight
Standard 02 03 61 06 ByLayer 0.25 mm
Sample 52 53 brown ByLayer
Find 72 73 light blue ByLayer
Trench 92 93 dark grey 0.20 mm
Section nail 00 ByLayer ByLayer
Entering 0 clears an override back to ByLayer - new geometry on that layer then simply takes on the layer's own assigned color/lineweight. Turns on lineweight display (LWDISPLAY) automatically, since AutoCAD/BricsCAD hide lineweights in Model Space by default and the change would otherwise be invisible.
Export
Default output format for AS4XPORT's Csv step (Raw/Schema) and default EPSG code for its GeoJson step, so neither has to be typed on every export - still overridable per run.
Default
Resets every Layerstructure/Symbol/Text/Vector/Export setting to its factory default, described above.
AS4STATUS
Prints the AS4CAD version and every current setting to the command line.
AS4XPORT
The entry point for exporting - a menu with two steps: AS4CAD export [Csv/GeoJson/eXit] <eXit>:
Csv
Writes point symbols back out as a CSV file:
Format: Raw (point_ID,x,y,z,code, no header, directly re-importable by AS4IMPORT) or Schema (the full 22-column AS4QGIS pointdata set, with header). Default comes from AS4SETTINGS' Export step.
Selection: pick objects first to export only those; press Enter with nothing selected to export every point symbol in the drawing instead.
Reads actual block attribute values, not a fresh recomputation from point_ID - so any manual correction made in the Properties palette after import is reflected in the export.
Line/polygon vertex markers (as4_vertices) and the survey-grid blocks (AS4_GridCross) are always excluded - only true point-data symbols (fixed/station/sample/find/height/3D-marker/section-nail) are written out.
maxH/minH are aggregated across whatever was exported in that run - if you export a partial selection, the range reflects the selection, not necessarily the whole feature.
GeoJson
Exports point symbols and lines/polygons together in a single GeoJSON file - geometry and the full AS4QGIS attribute set in one, ready to open directly in QGIS.
Auto-tags untagged lines first (the same logic as AS4TAGFROMLAYER, run automatically) so lines/polygons drawn or traced without going through AS4IMPORT are included rather than silently dropped.
Points carry an 18-field pointdata schema - the same 22 columns as the Csv Schema export, minus x/y/z (already in the feature's geometry) and of_epsg (stated once for the whole file, see EPSG below). Lines/polygons carry the leaner 11-field schema AS4QGIS itself produces for those geometry types (no shptype_n, geom_ID, or point-only fields).
Polygons are closed rings (first point duplicated at the end, as GeoJSON requires).
Mirror polygons to polylines: asked before the EPSG prompt, defaulting to No. When set to Yes, every polygon feature (shape types 03/53/61/06/73/93) is written twice: once as its normal Polygon geometry, and once more as an additional, still-closed LineString feature with the same attributes. Shape type 33 is not affected - it is already exported as a LineString in this system, not a Polygon.
EPSG: asks each run, defaulting to whatever AS4SETTINGS' Export step has stored; embedded as a crsmember (urn:ogc:def:crs:EPSG::<code>).
QGIS loads a mixed-geometry GeoJSON as separate Point/LineString/Polygon layers automatically - if you have AS4QGIS's own .qml style files, they can be applied directly to the matching layer (their rule filters key on shptype, which matches this export's field names exactly).
qgis2threejs tip: 3D rendering of non-planar polygons (varying Z per vertex, e.g. a real wall outline) can fail to show elevation correctly when the source is GeoJSON, even though the same geometry renders fine from a Shapefile. This appears to be a GeoJSON-driver/triangulation interaction, not a data problem - if you hit it, use QGIS's "Export → Save Features As" to convert the polygon layer to a Shapefile first.
AS4TAGFROMLAYER
Bulk-tags untagged POLYLINE entities (lines drawn manually, or traced over a photogrammetry mesh/orthophoto) with AS4QGIS attributes, parsed from their layer name instead of a point_ID - e.g. a layer named 193_VF or VF_193 is parsed as ID 193, code VF, matching whichever AS4SETTINGS Layerstructure field convention is in use.
Closed polylines become shape type 03 (polygon); open ones become 02 (polyline).
Container letters auto-increment per ID within the batch to avoid geom_ID collisions.
originfile is set to "manual", marking these objects as not originating from an imported file.
Shows a dry-run summary (including any layer names it couldn't parse) before asking for confirmation.
Layers already prefixed as4_ are excluded from candidates, since those are AS4CAD's own managed layers.
AS4ZOOM / AS4SELECTLAYER / AS4SELECTXDATA
Locate objects two different ways: by attribute/xdata, or by layer name.
By attribute/xdata (AS4ZOOM, AS4SELECTXDATA) - matched directly against every object's own block attribute/Xdata, instead of hunting through layers, so it works regardless of the current AS4SETTINGS Layerstructure configuration and finds point symbols and lines/polygons alike.
Enter a plain integer (e.g. 40) to match by ID, or any other text (e.g. VF) to match by code (case-insensitive) - or a comma-separated mix of several (e.g. 4,12,VF,FUND), matching anything satisfying any of them.
The confirmation line reports a breakdown, e.g. (3 point symbol(s), 1 line/polygon(s)).
The search itself is filtered to INSERT/POLYLINE entities before any attribute is read, and AS4CAD's own non-data blocks (AS4_Vertex, AS4_GridCross) are skipped before their attribute chain is ever walked - so a large AS4NET reference grid doesn't slow these commands down.
By layer name (AS4ZOOM, AS4SELECTLAYER) - matched against the layer a wildcard pattern, the same syntax as the Layer Panel's own "Search for Layer" box: * for any run of characters, ? for exactly one (e.g. *193*, AS4_*). Finds every entity on a matching layer regardless of type - not just AS4CAD point/line data, also text labels, grid crosses, anything else that happens to be on that layer.
AS4ZOOM accepts either kind in the same prompt - a term containing * or ? is matched as a layer pattern, anything else as ID/code criteria - and only zooms.
AS4NET
The entry point for the reference survey grid - a menu with two steps: AS4CAD survey grid [Grid/Label/eXit] <eXit>:
Grid
pick two corners of the area to cover, then a spacing in metres (e.g. 10 for a 10×10 m grid) and a Z elevation. Places a small cross at every grid intersection that falls on a round coordinate (a multiple of the spacing) within that window, on a dedicated as4_survey-grid layer.
Label
select any points (grid crosses, or anything else with a usable insertion point - symbols, circles, plain AutoCAD points) and writes their coordinates next to them as two separate texts on as4_txt_survey-grid - X=... horizontal, Y=... rotated 90° - matching the conventional layout of printed survey grid coordinate labels.