CSV menu file family: .mnu, .mns, .mnc, .mnr, .prj, .prv

This page documents how the legacy ConstructiVision âoeCSVâ menu appears to be packaged across multiple related files.

Note

These notes are based on static inspection of the provided files and typical AutoCAD menu workflows. Some details may be incomplete or inaccurate.

Quick map (typical roles)

  • csv.mnu: editable legacy menu source (human-authored)

  • csv.mns: menu source variant AutoCAD can load (often closely related to .mnu)

  • csv.mnc: compiled menu output (binary)

  • csv.mnr: menu resource payload (often binary; icons/resources)

  • csv.prj: menu âoeprojectâ file used by legacy compilation/build steps

  • Csv.prv: auxiliary/preview artifact from the same toolchain

csv.mnu vs csv.mns comparison (this media)

  • SHA1(csv.mnu): 876aadd53137044c7ac38f3b9c920d2145cc78b4

  • SHA1(csv.mns): 3867eeb21d3437d77807af80b9c381c401015c3b

  • Exact match: False

  • Similarity ratio: 0.8870

POP sections present

  • csv.mnu: [‘MENUGROUP=CSV’, ‘POP1’]

  • csv.mns: [‘MENUGROUP=CSV’, ‘POP1’, ‘TOOLBARS’]

âoeRun Programâ macro presence (POP1 heuristic)

  • In csv.mnu: found â-’ ID_CSVRUN     [&Run Program] / ^C^C(setvar "menuecho" 1);(if(not(type c:csv))(if(<(distof(getvar "acadver"))15)(arxload "csv.arx")(load "csv.vlx")));^C^Ccsv;

  • In csv.mns: found â-’ ID_CSVRUN      [&Run Program] / ^C^C(setvar "menuecho" 1);(if(not(type c:csv))(if(<(distof(getvar "acadver"))15)(arxload "csv.arx")(load "csv.vlx")));^C^Ccsv;

POP1 item diffs (best-effort)

Items in csv.mnu POP1 not found in csv.mns POP1 (first 80):

  • ID_CSVABOUT   [&About CSV] â-’ ^C^C(setvar "menuecho" 1);(help "csv.hlp" "About_CSV");

  • ID_CSVHELP    [&Help] â-’ ^C^C(setvar "menuecho" 1);(help "csv.hlp" "Table_of_Contents");

  • ID_CSVIMPORT  [&Import Data] â-’ ^C^C(setvar "menuecho" 1);(if(not(type c:csv))(if(<(distof(getvar "acadver"))15)(arxload "csv.arx")(load "csv.vlx")));(makepan);

  • ID_CSVPROG    [&Program Maintenance] â-’ ^C^C(setvar "menuecho" 1);(startapp (findfile "wincss.exe"));

  • ID_CSVRUN     [&Run Program] â-’ ^C^C(setvar "menuecho" 1);(if(not(type c:csv))(if(<(distof(getvar "acadver"))15)(arxload "csv.arx")(load "csv.vlx")));^C^Ccsv;

  • ID_CSVUNLOAD  [&Unload Program] â-’ ^C^C(setvar "menuecho" 1);(if(member "csv.arx" (arx))(progn(arxunload "csv")))(if(member "pcms.arx" (arx))(progn(arxunload "pcms")))(if(member "pcms2.arx" (arx))(progn(arxunload "pcms2")));

  • ID_CSVWEB     [CSV &Web Page] â-’ ^C^C(setvar "menuecho" 1);_browser http://www.constructivision.com;

Items in csv.mns POP1 not found in csv.mnu POP1 (first 80):

  • ID_CSVABOUT    [&About CSV] â-’ ^C^C(setvar "menuecho" 1);(help "csv.hlp" "About_CSV");

  • ID_CSVHELP     [&Help] â-’ ^C^C(setvar "menuecho" 1);(help "csv.hlp" "Table_of_Contents");

  • ID_CSVIMPORT   [&Import Data] â-’ ^C^C(setvar "menuecho" 1);(if(not(type c:csv))(if(<(distof(getvar "acadver"))15)(arxload "csv.arx")(load "csv.vlx")));(makepan);

  • ID_CSVPROG     [&Program Maintenance] â-’ ^C^C(setvar "menuecho" 1);(startapp (findfile "wincss.exe"));

  • ID_CSVRUN      [&Run Program] â-’ ^C^C(setvar "menuecho" 1);(if(not(type c:csv))(if(<(distof(getvar "acadver"))15)(arxload "csv.arx")(load "csv.vlx")));^C^Ccsv;

  • ID_CSVUNLOAD   [&Unload Program] â-’ ^C^C(setvar "menuecho" 1);(if(member "csv.arx" (arx))(progn(arxunload "csv")))(if(member "pcms.arx" (arx))(progn(arxunload "pcms")))(if(member "pcms2.arx" (arx))(progn(arxunload "pcms2")));

  • ID_CSVWEB      [CSV &Web Page] â-’ ^C^C(setvar "menuecho" 1);_browser http://www.constructivision.com;

Warning

Menu parsing here is heuristic (label+macro splitting). If the file uses advanced constructs or continuation lines, a full menu grammar parser would be needed for definitive diffs.

Binary menu artifacts (csv.mnc, csv.mnr)

  • csv.mnc: 1143 bytes, leading bytes (first 8 hex): 0300000003435356

  • csv.mnr: 6 bytes, leading bytes (first 8 hex): 040000000000

Extractable ASCII strings (curated) from csv.mnc:

  • CSV%C:\Program Files\ACAD2000\csv\csv.mnu

  • CAcAliasList

  • constructvision

  • CAcPopMenu

  • CAcPopMenuItem

  • &Run Programz

  • (setvar "menuecho" 1)

  • (if(not(type c:csv))(if(<(distof(getvar "acadver"))15)(arxload "csv.arx")(load "csv.vlx")))

  • ID_CSVRUN

  • &Program Maintenance;

  • (startapp (findfile "wincss.exe"))

  • ID_CSVPROG

  • &Unload Program

  • (if(member "csv.arx" (arx))(progn(arxunload "csv")))(if(member "pcms.arx" (arx))(progn(arxunload "pcms")))(if(member "pcms2.arx" (arx))(progn(arxunload "pcms2")))

  • ID_CSVUNLOAD

  • &Import Data~

  • (makepan)

  • ID_CSVIMPORT

  • &Help=

  • (help "csv.hlp" "Table_of_Contents")

  • ID_CSVHELP

  • CSV &Web PageA

  • _browser http://www.constructivision.com

  • ID_CSVWEB

  • &About CSV5

  • (help "csv.hlp" "About_CSV")

  • ID_CSVABOUT

  • ID_Title

Extractable ASCII strings (curated) from csv.mnr:

  • (none found)

Note

String presence in mnc/mnr does not prove behavior; it only indicates literal text exists in the binary payload.