← Inbox

C3D-0282 · 260714 Huckaby: what is forcing the 3020 ft point spread done

READ-ONLY. Sorts the CogoPoints by easting, reports every gap over 150 ft, lists the westernmost and easternmost points with descriptions, and measures the main cluster with the scale it would need.

Script file
C3D-0282.cs
Target
260714 - 285 Huckaby Rd.dwg · model space
Author
claude
Approved
yes · auto-auth
Timeout
60s

C# payload

// The points span 3020 ft E-W but only 598 N-S. What is out at the far end?
var cdoc = CivilApplication.ActiveDocument;
var pts = new List<Tuple<double,double,uint,string>>();
foreach (ObjectId id in cdoc.CogoPoints) {
    var p = Tx.GetObject(id, OpenMode.ForRead) as CogoPoint;
    if (p == null) continue;
    pts.Add(Tuple.Create(p.Easting, p.Northing, p.PointNumber, p.RawDescription ?? ""));
}
// bucket by easting to find the clusters
pts.Sort((a,b) => a.Item1.CompareTo(b.Item1));
Log("points sorted by easting - looking for the gap:");
double prev = pts[0].Item1;
for (int i = 1; i < pts.Count; i++) {
    double gap = pts[i].Item1 - prev;
    if (gap > 150)
        Log(string.Format("   GAP {0:F0} ft between E={1:F1} and E={2:F1}  (pt {3} \"{4}\")",
            gap, prev, pts[i].Item1, pts[i].Item3, pts[i].Item4));
    prev = pts[i].Item1;
}
Log("");
Log("--- the 12 westernmost ---");
for (int i = 0; i < Math.Min(12, pts.Count); i++)
    Log(string.Format("   E={0:F1} N={1:F1}  pt {2,4} \"{3}\"", pts[i].Item1, pts[i].Item2, pts[i].Item3, pts[i].Item4));
Log("--- the 12 easternmost ---");
for (int i = Math.Max(0, pts.Count-12); i < pts.Count; i++)
    Log(string.Format("   E={0:F1} N={1:F1}  pt {2,4} \"{3}\"", pts[i].Item1, pts[i].Item2, pts[i].Item3, pts[i].Item4));

// how big is the MAIN cluster if the outliers are dropped?
Log("");
double med = pts[pts.Count/2].Item1;
var core = pts.FindAll(t => Math.Abs(t.Item1 - med) < 500);
double cx0=1e30,cy0=1e30,cx1=-1e30,cy1=-1e30;
foreach (var t in core) {
    if (t.Item1<cx0)cx0=t.Item1; if (t.Item2<cy0)cy0=t.Item2;
    if (t.Item1>cx1)cx1=t.Item1; if (t.Item2>cy1)cy1=t.Item2;
}
Log(string.Format("MAIN CLUSTER ({0} of {1} points): {2:F1} x {3:F1} ft", core.Count, pts.Count, cx1-cx0, cy1-cy0));
double need = Math.Max((cx1-cx0)/16.34, (cy1-cy0)/10.34);
Log(string.Format("   fits the border at 1\"={0:F1}'", need));

Result

Status
success
Drawing file
C:\Users\sanja\OneDrive\_SurveyDisco\260714 - 285 Huckaby Rd, Brooks, GA 30205, USA\260714 - 285 Huckaby Rd.dwg
Message
Executed C3D-0282 (0 entities touched).
Entities
Duration
342 ms
Civil 3D
25.0.0.0

Log

points sorted by easting - looking for the gap:
   GAP 323 ft between E=2203483.9 and E=2203807.1  (pt 512 "TML")
   GAP 1048 ft between E=2203820.0 and E=2204867.8  (pt 402 "TML")
   GAP 1331 ft between E=2204887.6 and E=2206218.4  (pt 154 "STEP")

--- the 12 westernmost ---
   E=2203404.0 N=1207371.1  pt  501 "TML"
   E=2203437.0 N=1206804.9  pt  509 "4INPOST OFF"
   E=2203438.7 N=1206809.8  pt  510 "IPF 4" POST"
   E=2203439.8 N=1206998.2  pt  506 "GAS"
   E=2203440.5 N=1207033.1  pt  505 "FL"
   E=2203441.9 N=1207062.5  pt  504 "FL"
   E=2203443.2 N=1207293.4  pt  500 "IPF"
   E=2203443.2 N=1207293.5  pt  406 "OTP"
   E=2203443.9 N=1207051.6  pt  507 "TML"
   E=2203444.1 N=1207088.1  pt  503 "FL"
   E=2203468.8 N=1207317.5  pt  405 "FC"
   E=2203469.9 N=1207294.4  pt  404 "FC"
--- the 12 easternmost ---
   E=2206409.9 N=1206994.5  pt  350 "CL"
   E=2206410.2 N=1207386.5  pt  362 "EP"
   E=2206411.5 N=1207040.8  pt  351 "CL"
   E=2206413.2 N=1207086.5  pt  102 "CL"
   E=2206413.5 N=1207092.6  pt  352 "CL"
   E=2206415.1 N=1207135.8  pt  353 "CL"
   E=2206417.2 N=1207207.4  pt  354 "CL"
   E=2206418.9 N=1207267.7  pt  355 "CL"
   E=2206419.8 N=1207305.2  pt  356 "CL"
   E=2206420.9 N=1207345.8  pt  357 "CL"
   E=2206422.4 N=1207403.4  pt  358 "TML"
   E=2206424.2 N=1207086.0  pt  103 "EP"

MAIN CLUSTER (133 of 151 points): 205.8 x 515.0 ft
   fits the border at 1"=49.8'

Notes

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

No notes yet.