EXTEND(1)
β¨ EXTEND(1) β¨
okay so bestie, welcome to extend, straight out of the Survex manual (section 1, if you're keeping track π
). this little icon does exactly what its name says and nothing else: it produces an extended elevation. and honestly? it ate. let's get into it π«Ά
π NAME π
extend β produce an extended elevation β¨
π SYNOPSIS π
extend [--survey=SURVEY] [--specfile=ESPEC_FILE] [--show-breaks]
INPUT_FILE [OUTPUT_3D_FILE]
π¦ DESCRIPTION π¦
so INPUT_FILE β the thing you hand it first β can be any of these:
- a Survex
.3dfile π¦ - a Compass
.pltfile π§ - a CMAP
.shtfile πΊοΈ
and lowkey here's the slay part: all Survex programs which read .3d files can also transparently handle these formats. no conversion era needed, it just works β¨
πΈ where does it start? the vibe check πΈ
if you don't pass a --specfile option (or its short option -p), extend starts with the highest station marked as an entrance which has at least one underground survey leg attached to it. main character station energy fr fr π
and if there are no such stations? it falls back to the highest deadend station in the survey β or, if there are no deadends at all, just the highest station. it always finds somebody to stan π
then here's what it does with that station:
- puts the first station on the left
- then folds each leg out individually to the right
- breaking loops arbitrarily (usually at junctions) π
π output filename tea π
if you don't specify the output filename, extend bases the output filename on the input filename β but it replaces the extension with _extend.3d. so like, for example:
extend deep_pit.3d produces an extended elevation called deep_pit_extend.3d π
π the options, dish by dish π
--survey=SURVEY,-sβ restricts processing to the survey SURVEY including any sub-surveys. keeps things scoped bestie, no scope creep π--show-breaks,-bβ when you pass this, a leg flagged as"surface survey"gets added between each point at which a loop has been broken. this is very useful for visualising the result inaven. literally so helpful, iykyk π₯
π§ when simple isn't enough π§
ngl, this approach suffices for simple caves or sections of cave β but for more complicated situations, human intervention is required. it's giving "the algorithm tried its best" π
more complex sections of cave can be handled with a specfile, which gives directions to:
- switch the direction of extension between left and right
- explicitly specify the start station
- break the extension at particular stations or legs
β the specfile, in all its glory β
the specfile is in a format similar to cavern's data format. here's the whole vibe:
; This is a comment
; start the elevation at station entrance.a
*start entrance.a ;this is a comment after a command
; start extending leftwards from station half-way-down.5
*eleft half-way-down.5
; change direction of extension at further-down.8
*eswap further-down.8
; extend right from further-down.junction, but only for
; the leg joining it to very-deep.1, other legs continuing
; as before
*eright further-down.junction very-deep.1
; break the survey at station side-loop.4
*break side-loop.4
; break survey at station side-loop.junction but only
; for leg going to complex-loop.2
*break side-loop.junction complex-loop.2
ok real talk bestie: this approach requires some trial and error. but it gives useful results for many caves, so it's worth it πͺ
and the most complex systems would benefit from an interactive interface to select and view the breaks and switches of direction. someday π₯² for now, specfiles it is.
π SEE ALSO π
aven(1), cavern(1), diffpos(1), dump3d(1), sorterr(1), survexport(1)
π Copyright π
1998-2025
and that's the whole page, bestie! π it's from the Survex manual, dated Jun 23, 2026, page EXTEND(1) in section 1 β go extend something gorgeous β¨ππ¦
π¦ where this page comes from
- ubuntu stonking: survex 1.4.22-1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms