← Inbox

C3D-0214 · 260714 Huckaby: porch, deck, step, fence done

Finishes the remaining real features. PORCH = 1.3-1.4 ft strip along the house east wall, closed against it. DECK = 8.3 ft off the west wall, closed back to the wall at 153. STEP open. FENCE (FC 404-405, 23.1 ft) on SS-X-FENCE WOOD. Remaining unused points are duplicate re-shots (600-622 SW, 174-180 DWY) and single-shot items (PP, WV, GAS, IPF, TML, OTP, ACX2, CLEAN OUT) which are not paths. Verifies on read-back, regen last.

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

C# payload

// 260714 - remaining features: porch, deck, step, fence.
// PORCH is a 1.3-1.4 ft strip along the house east wall, closed against the wall.
// DECK is 8.3 ft deep off the west wall, closed back to the wall at 153.
// Strips legitimately have a high perimeter^2/area - the building gate does not apply.
var lt = (LayerTable)Tx.GetObject(Db.LayerTableId, OpenMode.ForWrite);
var ms = (BlockTableRecord)Tx.GetObject(SymbolUtilityServices.GetBlockModelSpaceId(Db), OpenMode.ForWrite);
Action<string,short> ensure = (nm, col) => {
    if (lt.Has(nm)) return;
    var ltr = new LayerTableRecord(); ltr.Name = nm;
    ltr.Color = Autodesk.AutoCAD.Colors.Color.FromColorIndex(Autodesk.AutoCAD.Colors.ColorMethod.ByAci, col);
    lt.Add(ltr); Tx.AddNewlyCreatedDBObject(ltr, true);
    Log("layer created: " + nm);
};
ensure("SS-X-FENCE WOOD", 32);
int made = 0;

// ---- PORCH
{
    var pl = new Polyline();
    pl.AddVertexAt(0, new Point2d(2206275.7983, 1207119.7518), 0, 0, 0);
    pl.AddVertexAt(1, new Point2d(2206276.0399, 1207084.9315), 0, 0, 0);
    pl.AddVertexAt(2, new Point2d(2206266.3514, 1207084.9315), 0, 0, 0);
    pl.AddVertexAt(3, new Point2d(2206276.9943, 1207119.7518), 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);
    Log(string.Format("PORCH: {0} verts, len {1:F2}, closed={2}, layer {3} (verified)", back.NumberOfVertices, back.Length, back.Closed, back.Layer));
    made++;
}

// ---- DECK
{
    var pl = new Polyline();
    pl.AddVertexAt(0, new Point2d(2206226.6202, 1207090.6574), 0, 0, 0);
    pl.AddVertexAt(1, new Point2d(2206218.8787, 1207090.7583), 0, 0, 0);
    pl.AddVertexAt(2, new Point2d(2206218.6125, 1207119.2414), 0, 0, 0);
    pl.AddVertexAt(3, new Point2d(2206225.1397, 1207119.2414), 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);
    Log(string.Format("DECK: {0} verts, len {1:F2}, closed={2}, layer {3} (verified)", back.NumberOfVertices, back.Length, back.Closed, back.Layer));
    made++;
}

// ---- STEP
{
    var pl = new Polyline();
    pl.AddVertexAt(0, new Point2d(2206218.6125, 1207119.2414), 0, 0, 0);
    pl.AddVertexAt(1, new Point2d(2206218.3933, 1207124.4941), 0, 0, 0);
    pl.AddVertexAt(2, new Point2d(2206221.9402, 1207124.5219), 0, 0, 0);
    pl.Layer = "SS-V-BLDG-OTLN";
    ms.AppendEntity(pl); Tx.AddNewlyCreatedDBObject(pl, true);
    var back = (Polyline)Tx.GetObject(pl.ObjectId, OpenMode.ForRead);
    Log(string.Format("STEP: {0} verts, len {1:F2}, closed={2}, layer {3} (verified)", back.NumberOfVertices, back.Length, back.Closed, back.Layer));
    made++;
}

// ---- FENCE
{
    var pl = new Polyline();
    pl.AddVertexAt(0, new Point2d(2203469.8780, 1207294.4074), 0, 0, 0);
    pl.AddVertexAt(1, new Point2d(2203468.8465, 1207317.5135), 0, 0, 0);
    pl.Layer = "SS-X-FENCE WOOD";
    ms.AppendEntity(pl); Tx.AddNewlyCreatedDBObject(pl, true);
    var back = (Polyline)Tx.GetObject(pl.ObjectId, OpenMode.ForRead);
    Log(string.Format("FENCE: {0} verts, len {1:F2}, closed={2}, layer {3} (verified)", back.NumberOfVertices, back.Length, back.Closed, back.Layer));
    made++;
}

Log("DONE: " + made + " polylines");
Ed.Regen();

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-0214 (0 entities touched).
Entities
Duration
742 ms
Civil 3D
25.0.0.0

Log

PORCH: 4 verts, len 82.12, closed=True, layer SS-V-BLDG-OTLN (verified)
DECK: 4 verts, len 71.38, closed=True, layer SS-V-BLDG-OTLN (verified)
STEP: 3 verts, len 8.80, closed=False, layer SS-V-BLDG-OTLN (verified)
FENCE: 2 verts, len 23.13, closed=False, layer SS-X-FENCE WOOD (verified)
DONE: 4 polylines

Notes

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

No notes yet.