C3D-0435 · Layer filter: everything but C-* done
Add a layer property filter named "NOT C-*" matching all layers except those beginning C-.
C# payload
var lt = (LayerTable)Tx.GetObject(Db.LayerTableId, OpenMode.ForRead);
var fc = Db.LayerFilters;
var root = fc.Root;
// remove existing filter with same name
Autodesk.AutoCAD.LayerManager.LayerFilter existing = null;
foreach (Autodesk.AutoCAD.LayerManager.LayerFilter f in root.NestedFilters)
if (string.Equals(f.Name, "NOT C-*", StringComparison.OrdinalIgnoreCase)) existing = f;
if (existing != null) root.NestedFilters.Remove(existing);
var lf = new Autodesk.AutoCAD.LayerManager.LayerFilter();
lf.Name = "NOT C-*";
lf.FilterExpression = "NAME==\"*\" AND NAME!=\"C-*\"";
root.NestedFilters.Add(lf);
Db.LayerFilters = fc;
Log("filter 'NOT C-*' added; expr=" + lf.FilterExpression);
Ed.Regen();
Result
Log
filter 'NOT C-*' added; expr=NAME=="*" AND NAME!="C-*"
Notes
What worked, what didn't, job-specific gotchas — flagged notes feed the recipes.
No notes yet.