C3D-0220 · 260714 Huckaby: hatch diagnostic - find the failing call done
Wraps each hatch step in its own try/catch so the eNotApplicable names itself, with an ANSI31 fallback probe if AR-CONC is the problem.
C# payload
// Diagnostic: wrap every hatch step so the failing call names itself.
var ms = (BlockTableRecord)Tx.GetObject(SymbolUtilityServices.GetBlockModelSpaceId(Db), OpenMode.ForWrite);
ObjectId bid;
Db.TryGetObjectId(new Handle(Convert.ToInt64("20CC8", 16)), out bid);
Hatch h = null;
try { h = new Hatch(); Log("ok: new Hatch()"); }
catch (System.Exception e) { Log("FAIL new Hatch: " + e.Message); return; }
try { h.Layer = "X-DRIV-CONC"; Log("ok: set Layer"); }
catch (System.Exception e) { Log("FAIL set Layer: " + e.Message); }
try { ms.AppendEntity(h); Tx.AddNewlyCreatedDBObject(h, true); Log("ok: appended to db, handle " + h.Handle); }
catch (System.Exception e) { Log("FAIL append: " + e.Message); return; }
try { h.SetHatchPattern(HatchPatternType.PreDefined, "AR-CONC"); Log("ok: SetHatchPattern AR-CONC"); }
catch (System.Exception e) { Log("FAIL SetHatchPattern AR-CONC: " + e.Message);
try { h.SetHatchPattern(HatchPatternType.PreDefined, "ANSI31"); Log("ok: fallback ANSI31"); }
catch (System.Exception e2) { Log("FAIL ANSI31 too: " + e2.Message); }
}
try { h.PatternScale = 0.61; Log("ok: PatternScale"); }
catch (System.Exception e) { Log("FAIL PatternScale: " + e.Message); }
try { h.Associative = true; Log("ok: Associative"); }
catch (System.Exception e) { Log("FAIL Associative: " + e.Message); }
try {
var ids = new ObjectIdCollection(); ids.Add(bid);
h.AppendLoop(HatchLoopTypes.Outermost, ids);
Log("ok: AppendLoop, loops=" + h.NumberOfLoops);
} catch (System.Exception e) { Log("FAIL AppendLoop: " + e.Message); }
try { h.EvaluateHatch(true); Log("ok: EvaluateHatch, area " + h.Area.ToString("F0")); }
catch (System.Exception e) { Log("FAIL EvaluateHatch: " + e.Message); }
Ed.Regen();
Result
Log
ok: new Hatch() ok: set Layer ok: appended to db, handle 20D5D ok: SetHatchPattern AR-CONC ok: PatternScale ok: Associative ok: AppendLoop, loops=1 FAIL EvaluateHatch: eNotApplicable
Notes
What worked, what didn't, job-specific gotchas — flagged notes feed the recipes.
No notes yet.