C3D-0211 · 260714 Huckaby: house footprint from the 7 HC corners done
Closed house outline on SS-V-BLDG-OTLN via cookbook 11 (wall frame 0.56deg, rotate, walk perimeter, square corners). 9 verts, 239.8 ft perimeter, 3521 sf, ratio 16.3, 0 skew edges, 0 self-intersections. One SE corner was never shot - adjacent walls extended to their intersection. All 7 HC points retained as vertices. Verifies on read-back, regen last.
C# payload
// 260714 - 285 Huckaby Rd : HOUSE FOOTPRINT from the 7 HC points.
// Cookbook 11 method: wall frame 0.56deg -> rotate -> walk perimeter -> square corners.
// One corner was never shot (SE); the two adjacent walls were extended to their
// intersection and a sharp vertex placed there. Gates: ratio 16.3 (16-25 OK),
// 0 skew edges, 0 self-intersections, closed.
var lt = (LayerTable)Tx.GetObject(Db.LayerTableId, OpenMode.ForRead);
var ms = (BlockTableRecord)Tx.GetObject(SymbolUtilityServices.GetBlockModelSpaceId(Db), OpenMode.ForWrite);
var pl = new Polyline();
pl.AddVertexAt(0, new Point2d(2206226.9024, 1207076.3905), 0, 0, 0);
pl.AddVertexAt(1, new Point2d(2206226.6202, 1207090.6574), 0, 0, 0);
pl.AddVertexAt(2, new Point2d(2206224.6582, 1207090.6382), 0, 0, 0);
pl.AddVertexAt(3, new Point2d(2206224.1414, 1207143.5102), 0, 0, 0);
pl.AddVertexAt(4, new Point2d(2206276.6042, 1207144.0242), 0, 0, 0);
pl.AddVertexAt(5, new Point2d(2206276.7152, 1207132.6670), 0, 0, 0);
pl.AddVertexAt(6, new Point2d(2206277.0661, 1207119.9868), 0, 0, 0);
pl.AddVertexAt(7, new Point2d(2206277.4922, 1207076.3932), 0, 0, 0);
pl.AddVertexAt(8, new Point2d(2206263.7005, 1207076.2584), 0, 0, 0);
pl.Closed = true;
pl.Layer = "SS-V-BLDG-OTLN";
ms.AppendEntity(pl); Tx.AddNewlyCreatedDBObject(pl, true);
var back = (Polyline)Tx.GetObject(pl.ObjectId, OpenMode.ForRead);
double ar = 0; int nv = back.NumberOfVertices;
for (int i = 0; i < nv; i++) {
var p1 = back.GetPoint2dAt(i); var p2 = back.GetPoint2dAt((i + 1) % nv);
ar += p1.X * p2.Y - p2.X * p1.Y;
}
ar = Math.Abs(ar) / 2.0;
Log(string.Format("HOUSE: {0} verts, perimeter {1:F2}, area {2:F0} sf, ratio {3:F1}, closed={4}, layer {5} (verified)",
nv, back.Length, ar, back.Length * back.Length / ar, back.Closed, back.Layer));
Ed.Regen();Result
Log
HOUSE: 9 verts, perimeter 239.80, area 3521 sf, ratio 16.3, closed=True, layer SS-V-BLDG-OTLN (verified)
Notes
What worked, what didn't, job-specific gotchas — flagged notes feed the recipes.
No notes yet.