← Inbox

C3D-0421 · READ-ONLY: the 800-5000 point group members, coords, description census [C3D-PG800] done

Reads the new 800-5000 point group: its query, member count, every point's number/coords/raw description, and a census of description codes - so linework can be grouped by feature type per the survey-linework recipe.

Script file
C3D-0421.cs
Target
281 MARANTHA 2607.dwg · model space
Author
claude
Approved
yes · auto-auth
Timeout
120s

C# payload

// Read the 800-5000 point group: members, each point's raw description + coords, and a census
// of description codes so linework can be grouped by feature type.
var civ = Autodesk.Civil.ApplicationServices.CivilApplication.ActiveDocument;
Log("drawing: " + Db.Filename);

// find the group named like 800-5000
ObjectId gid=ObjectId.Null; string gname="";
foreach (ObjectId id in civ.PointGroups){ var g=(Autodesk.Civil.DatabaseServices.PointGroup)Tx.GetObject(id,OpenMode.ForRead); if(g.Name.Contains("800")||g.Name.Contains("5000")){ gid=id; gname=g.Name; break; } }
if(gid.IsNull){ Log("no 800-5000 group found; listing all groups:"); foreach (ObjectId id in civ.PointGroups){ var g=(Autodesk.Civil.DatabaseServices.PointGroup)Tx.GetObject(id,OpenMode.ForRead); uint[] n=null; try{n=g.GetPointNumbers();}catch{} Log("  "+g.Name+"  ("+(n==null?-1:n.Length)+")"); } return; }
var grp=(Autodesk.Civil.DatabaseServices.PointGroup)Tx.GetObject(gid,OpenMode.ForRead);
var nums=new HashSet<uint>(grp.GetPointNumbers());
Log("GROUP \""+gname+"\"  members="+nums.Count+"  query="+grp.GetQuery().QueryString);

// census by first word of description
var census=new Dictionary<string,int>();
var rows=new List<KeyValuePair<uint,string>>();
foreach (ObjectId id in civ.CogoPoints){
    var p=(Autodesk.Civil.DatabaseServices.CogoPoint)Tx.GetObject(id,OpenMode.ForRead);
    if(!nums.Contains((uint)p.PointNumber)) continue;
    string d=(p.RawDescription??"").Trim();
    string key=d.Length==0?"(blank)":d.Split(' ')[0].ToUpper();
    if(!census.ContainsKey(key))census[key]=0; census[key]++;
    rows.Add(new KeyValuePair<uint,string>((uint)p.PointNumber, string.Format("{0,5} E={1:F2} N={2:F2} Z={3:F2}  \"{4}\"", p.PointNumber, p.Easting, p.Northing, p.Elevation, d)));
}
Log("");
Log("=== description code census ===");
var keys=new List<string>(census.Keys); keys.Sort();
foreach(var k in keys) Log(string.Format("  {0,-16} x{1}", k, census[k]));
Log("");
Log("=== all points (sorted) ===");
rows.Sort((a,b)=>a.Key.CompareTo(b.Key));
foreach(var r in rows) Log("  "+r.Value);

Result

Status
success
Drawing file
C:\Users\sanja\OneDrive\_SurveyDisco\260711 - 281 Maranatha Trail, Lawrenceville, GA 30045, USA\281 MARANTHA 2607.dwg
Message
Executed C3D-0421 (0 entities touched).
Entities
Duration
2201 ms
Civil 3D
25.0.0.0

Log

drawing: C:\Users\sanja\OneDrive\_SurveyDisco\260711 - 281 Maranatha Trail, Lawrenceville, GA 30045, USA\281 MARANTHA 2607.dwg
GROUP "800-5000"  members=176  query=(PointNumber=800-900 OR PointNumber=5000-6000)

=== description code census ===
  BLDG             x4
  DI               x4
  DWY              x31
  FACE             x2
  FC               x1
  GATE             x2
  JB               x1
  OVER             x3
  RIPRAP           x47
  ROCK             x20
  STEP             x20
  TBC              x16
  WALL             x25

=== all points (sorted) ===
    800 E=2359546.99 N=1425575.37 Z=995.90  "TBC"
    801 E=2359536.56 N=1425593.17 Z=995.77  "TBC"
    802 E=2359533.56 N=1425598.80 Z=995.75  "TBC"
    803 E=2359533.56 N=1425598.86 Z=995.70  "TBC"
    804 E=2359533.87 N=1425605.90 Z=995.33  "TBC"
    805 E=2359538.04 N=1425613.84 Z=994.53  "TBC"
    806 E=2359552.57 N=1425623.36 Z=992.90  "TBC"
    807 E=2359575.73 N=1425632.57 Z=991.14  "TBC"
    808 E=2359604.92 N=1425641.00 Z=989.75  "TBC"
    809 E=2359643.53 N=1425648.73 Z=989.11  "TBC"
    810 E=2359663.29 N=1425650.35 Z=989.18  "TBC"
    811 E=2359672.56 N=1425648.16 Z=989.27  "TBC"
    812 E=2359686.79 N=1425634.24 Z=989.91  "TBC"
    813 E=2359694.81 N=1425622.87 Z=990.64  "TBC"
    814 E=2359699.66 N=1425612.93 Z=991.16  "TBC"
    815 E=2359702.37 N=1425604.31 Z=991.68  "TBC WALL"
    816 E=2359701.96 N=1425609.50 Z=991.04  "DWY"
    817 E=2359713.90 N=1425609.58 Z=991.18  "DWY"
    818 E=2359708.30 N=1425641.20 Z=989.29  "DWY"
    819 E=2359725.53 N=1425639.93 Z=988.88  "DWY 1FT WALL"
    820 E=2359722.75 N=1425619.79 Z=990.32  "DI"
    821 E=2359723.08 N=1425609.62 Z=991.04  "DWY 1FT WALL"
    822 E=2359717.72 N=1425541.01 Z=995.70  "DWY 1FT WALL"
    823 E=2359714.76 N=1425515.08 Z=996.66  "DI"
    824 E=2359711.83 N=1425464.77 Z=998.37  "DWY"
    825 E=2359710.27 N=1425451.91 Z=998.75  "DWY GATE"
    826 E=2359709.91 N=1425446.43 Z=998.79  "DWY GATE"
    827 E=2359706.60 N=1425394.97 Z=999.66  "DWY 1FT WALL"
    828 E=2359700.95 N=1425395.68 Z=999.74  "OVER HANG COR"
    829 E=2359671.79 N=1425359.65 Z=999.90  "OVER HANG COR"
    830 E=2359701.80 N=1425328.15 Z=1000.22  "DWY 1FT WALL"
    831 E=2359599.96 N=1425417.81 Z=999.77  "OVER HANG COR"
    832 E=2359591.14 N=1425416.74 Z=1007.24  "BLDG COR"
    833 E=2359607.46 N=1425436.93 Z=1005.15  "BLDG COR"
    834 E=2359564.11 N=1425472.90 Z=1005.00  "BLDG COR"
    835 E=2359547.57 N=1425454.30 Z=1005.26  "BLDG COR"
    836 E=2359545.19 N=1425455.11 Z=1005.34  "WALL"
    837 E=2359543.43 N=1425456.65 Z=1005.41  "WALL SETP"
    838 E=2359542.02 N=1425458.38 Z=1004.66  "WALL SETP"
    839 E=2359541.16 N=1425463.94 Z=1003.98  "DI"
    840 E=2359536.51 N=1425465.68 Z=1003.94  "WALL"
    841 E=2359529.73 N=1425480.14 Z=1003.93  "WALL"
    842 E=2359529.02 N=1425483.17 Z=1003.81  "WALL STEP"
    843 E=2359532.58 N=1425485.22 Z=1003.72  "STEP"
    844 E=2359536.45 N=1425490.11 Z=1003.58  "STEP WALL"
    845 E=2359535.43 N=1425490.53 Z=1004.31  "STEP WALL"
    846 E=2359534.60 N=1425490.91 Z=1004.83  "STEP WALL"
    847 E=2359533.80 N=1425491.52 Z=1005.48  "STEP WALL"
    848 E=2359532.78 N=1425492.25 Z=1006.05  "STEP WALL"
    849 E=2359532.02 N=1425492.97 Z=1006.62  "STEP WALL"
    850 E=2359531.26 N=1425493.67 Z=1007.23  "STEP WALL"
    851 E=2359529.77 N=1425490.65 Z=1007.23  "STEP"
    852 E=2359530.59 N=1425489.87 Z=1006.66  "STEP"
    853 E=2359531.05 N=1425489.17 Z=1006.06  "STEP"
    854 E=2359531.89 N=1425488.53 Z=1005.45  "STEP"
    855 E=2359532.63 N=1425487.91 Z=1004.86  "STEP"
    856 E=2359533.34 N=1425487.08 Z=1004.31  "STEP"
    857 E=2359528.35 N=1425484.53 Z=1004.80  "STEP"
    858 E=2359528.07 N=1425485.23 Z=1004.84  "STEP"
    859 E=2359527.73 N=1425486.25 Z=1005.38  "STEP WALL"
    860 E=2359527.32 N=1425487.25 Z=1006.00  "STEP WALL"
    861 E=2359526.85 N=1425488.13 Z=1006.60  "STEP WALL"
    862 E=2359526.35 N=1425488.95 Z=1007.27  "STEP WALL"
    863 E=2359525.37 N=1425489.99 Z=1007.61  "WALL"
    864 E=2359522.05 N=1425493.06 Z=1008.22  "WALL"
    865 E=2359528.89 N=1425496.14 Z=1007.79  "WALL"
    866 E=2359539.18 N=1425491.35 Z=1003.48  "WALL"
    867 E=2359540.36 N=1425494.06 Z=1003.40  "WALL"
    868 E=2359528.96 N=1425512.76 Z=1003.14  "WALL"
    869 E=2359513.72 N=1425537.05 Z=1002.91  "WALL FC"
    870 E=2359505.61 N=1425550.14 Z=1002.66  "WALL FC"
    871 E=2359502.75 N=1425554.74 Z=1002.79  "WALL"
    872 E=2359505.81 N=1425559.84 Z=1002.67  "WALL"
    873 E=2359509.75 N=1425570.81 Z=1001.98  "WALL END"
    874 E=2359461.61 N=1425519.24 Z=1010.65  "FC FL"
    875 E=2359478.12 N=1425601.73 Z=1001.75  "ROCK WALL"
    876 E=2359465.28 N=1425600.26 Z=1002.39  "ROCK WALL"
    877 E=2359456.11 N=1425605.59 Z=1002.60  "ROCK WALL"
    878 E=2359445.73 N=1425615.07 Z=1002.66  "ROCK WALL"
    879 E=2359451.87 N=1425635.17 Z=1002.26  "ROCK WALL"
    880 E=2359701.85 N=1425609.45 Z=991.04  "DWY"
    881 E=2359723.05 N=1425609.61 Z=991.15  "DWY FACE WALL"
    882 E=2359722.91 N=1425619.60 Z=990.55  "DI"
    883 E=2359725.43 N=1425640.05 Z=988.70  "DWY FACE WALL"
   5384 E=2359704.51 N=1425641.47 Z=989.26  "DWY"
   5385 E=2359708.86 N=1425686.14 Z=985.17  "DWY FACE WALL"
   5386 E=2359729.31 N=1425687.41 Z=984.68  "DWY FACE WALL"
   5387 E=2359710.37 N=1425703.75 Z=982.34  "DWY"
   5388 E=2359707.98 N=1425704.14 Z=981.92  "FACE OF WALL"
   5389 E=2359727.66 N=1425707.13 Z=981.20  "DWY"
   5390 E=2359724.72 N=1425727.40 Z=977.61  "DWY"
   5391 E=2359726.38 N=1425727.74 Z=977.96  "GATE"
   5392 E=2359727.03 N=1425726.91 Z=977.70  "WALL COR"
   5393 E=2359730.09 N=1425727.03 Z=977.79  "WALL COR"
   5394 E=2359729.81 N=1425729.88 Z=977.60  "WALL COR"
   5395 E=2359727.07 N=1425729.94 Z=977.69  "WALL COR"
   5396 E=2359709.29 N=1425726.30 Z=978.05  "ROCK WALL DWY"
   5397 E=2359707.53 N=1425725.07 Z=978.32  "GATE"
   5398 E=2359706.76 N=1425726.67 Z=978.18  "WALL COR"
   5399 E=2359704.26 N=1425726.37 Z=978.72  "WALL COR"
   5400 E=2359704.53 N=1425723.57 Z=979.10  "WALL COR"
   5401 E=2359707.33 N=1425724.10 Z=978.42  "WALL COR"
   5402 E=2359706.78 N=1425723.93 Z=978.56  "FACE OF WALL"
   5403 E=2359706.42 N=1425737.61 Z=975.59  "DWY ROCK WALL"
   5404 E=2359720.55 N=1425741.61 Z=974.97  "DWY"
   5405 E=2359702.07 N=1425749.01 Z=973.16  "ROCK WALL"
   5406 E=2359702.06 N=1425749.00 Z=973.20  "DWY ROCK WALL"
   5407 E=2359698.17 N=1425757.17 Z=971.54  "DWY ROCK WALL"
   5408 E=2359693.27 N=1425766.33 Z=970.21  "DWY ROCK WALL"
   5409 E=2359688.96 N=1425773.45 Z=969.79  "DWY ROCK WALL"
   5410 E=2359709.81 N=1425771.92 Z=969.89  "DWY"
   5411 E=2359713.70 N=1425776.14 Z=969.20  "DWY EP"
   5412 E=2359699.91 N=1425784.76 Z=969.16  "DWY EP"
   5413 E=2359684.78 N=1425791.44 Z=968.96  "DWY EP"
   5414 E=2359676.68 N=1425793.56 Z=968.97  "DWY EP"
   5415 E=2359685.02 N=1425775.62 Z=969.52  "ROCK WALL"
   5416 E=2359677.79 N=1425775.63 Z=969.92  "ROCK WALL"
   5417 E=2359673.06 N=1425771.98 Z=970.78  "ROCK WALL"
   5418 E=2359670.99 N=1425766.32 Z=972.13  "ROCK WALL END"
   5419 E=2359647.51 N=1425788.74 Z=968.28  "JB"
   5420 E=2359679.43 N=1425759.47 Z=973.96  "ROCK WALL END"
   5421 E=2359682.94 N=1425761.63 Z=973.59  "ROCK WALL"
   5422 E=2359688.94 N=1425762.39 Z=972.67  "ROCK WALL"
   5423 E=2359695.63 N=1425761.11 Z=972.20  "ROCK WALL"
   5424 E=2359702.56 N=1425744.37 Z=975.29  "ROCK WALL"
   5425 E=2359697.36 N=1425745.89 Z=975.54  "ROCK WALL"
   5426 E=2359691.90 N=1425745.24 Z=976.02  "ROCK WALL"
   5427 E=2359686.57 N=1425742.76 Z=976.53  "ROCK WALL"
   5428 E=2359683.61 N=1425739.51 Z=977.70  "ROCK WALL"
   5429 E=2359681.51 N=1425739.89 Z=977.28  "RIPRAP"
   5430 E=2359677.92 N=1425737.32 Z=976.98  "RIPRAP"
   5431 E=2359667.72 N=1425756.82 Z=974.09  "RIPRAP"
   5432 E=2359664.36 N=1425754.98 Z=974.42  "RIPRAP"
   5433 E=2359651.56 N=1425784.29 Z=967.99  "RIPRAP"
   5434 E=2359647.18 N=1425783.64 Z=968.29  "RIPRAP"
   5435 E=2359657.85 N=1425786.87 Z=968.23  "RIPRAP"
   5436 E=2359657.73 N=1425792.09 Z=968.10  "RIPRAP"
   5437 E=2359647.34 N=1425794.52 Z=968.02  "RIPRAP"
   5438 E=2359643.84 N=1425792.71 Z=968.06  "RIPRAP"
   5439 E=2359642.33 N=1425786.84 Z=968.04  "RIPRAP"
   5440 E=2359631.79 N=1425790.99 Z=969.20  "RIPRAP"
   5441 E=2359633.46 N=1425796.18 Z=969.09  "RIPRAP"
   5442 E=2359619.72 N=1425800.24 Z=969.86  "RIPRAP"
   5443 E=2359618.51 N=1425794.51 Z=969.83  "RIPRAP"
   5444 E=2359689.40 N=1425731.34 Z=979.32  "RIPRAP"
   5445 E=2359684.93 N=1425728.27 Z=979.11  "RIPRAP"
   5446 E=2359686.28 N=1425725.47 Z=980.01  "RIPRAP"
   5447 E=2359692.39 N=1425725.58 Z=980.26  "RIPRAP"
   5448 E=2359684.90 N=1425715.81 Z=984.55  "RIPRAP"
   5449 E=2359691.95 N=1425713.13 Z=984.54  "RIPRAP"
   5450 E=2359685.99 N=1425702.08 Z=986.17  "RIPRAP"
   5451 E=2359680.61 N=1425705.21 Z=985.59  "RIPRAP"
   5452 E=2359665.54 N=1425693.98 Z=986.38  "RIPRAP"
   5453 E=2359669.36 N=1425688.09 Z=987.12  "RIPRAP"
   5454 E=2359668.30 N=1425680.19 Z=986.99  "RIPRAP"
   5455 E=2359651.13 N=1425688.87 Z=987.06  "RIPRAP"
   5456 E=2359596.65 N=1425800.52 Z=971.84  "RIPRAP"
   5457 E=2359597.73 N=1425804.82 Z=972.01  "RIPRAP"
   5458 E=2359571.89 N=1425812.32 Z=974.44  "RIPRAP 1"
   5459 E=2359571.17 N=1425807.07 Z=974.48  "RIPRAP 1"
   5460 E=2359546.83 N=1425816.58 Z=977.10  "RIPRAP 1"
   5461 E=2359545.72 N=1425812.02 Z=977.21  "RIPRAP 1"
   5462 E=2359514.89 N=1425819.46 Z=981.35  "RIPRAP 1"
   5463 E=2359514.02 N=1425814.25 Z=981.46  "RIPRAP 1"
   5464 E=2359486.87 N=1425815.59 Z=984.37  "RIPRAP 2"
   5465 E=2359486.19 N=1425811.43 Z=984.45  "RIPRAP 2"
   5466 E=2359471.91 N=1425813.72 Z=985.84  "RIPRAP 2"
   5467 E=2359472.42 N=1425809.51 Z=985.88  "RIPRAP 2"
   5468 E=2359448.97 N=1425807.00 Z=987.88  "RIPRAP 3"
   5469 E=2359449.85 N=1425803.32 Z=987.73  "RIPRAP 3"
   5470 E=2359426.48 N=1425798.02 Z=989.69  "RIPRAP 3"
   5471 E=2359428.84 N=1425793.31 Z=990.02  "RIPRAP 3"
   5472 E=2359428.81 N=1425793.29 Z=989.87  "RIPRAP 3"
   5473 E=2359423.64 N=1425789.43 Z=991.42  "RIPRAP 3"
   5474 E=2359421.62 N=1425792.13 Z=991.28  "RIPRAP 3"
   5475 E=2359421.02 N=1425795.66 Z=991.24  "RIPRAP 3"

Notes

What worked, what didn't, job-specific gotchas — flagged notes feed the recipes.

No notes yet.