C3D-PTAPI · Point import API recon (read-only) done
Reflect CogoPointCollection Add/Import + point count
C# payload
// Read-only: reflect CogoPointCollection Add/Import/SetPointNumber + existing point count.
var cd = CivilDoc; var cps = cd.CogoPoints;
Log($"existing cogo points: {cps.Count}");
var T = typeof(Autodesk.Civil.DatabaseServices.CogoPointCollection);
foreach (var m in T.GetMethods(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.DeclaredOnly))
if (m.Name == "Add" || m.Name.Contains("Import") || m.Name.Contains("SetPointNumber"))
Log($" {m.Name}({string.Join(",", m.GetParameters().Select(p => p.ParameterType.Name))}) -> {m.ReturnType.Name}");
foreach (var p in typeof(Autodesk.Civil.DatabaseServices.CogoPoint).GetProperties())
if (p.Name == "PointNumber" || p.Name == "RawDescription") Log($" CogoPoint.{p.Name} canWrite={p.CanWrite}");
Log("Point API recon complete (read-only).");
Result
Log
existing cogo points: 0 Add(Point3dCollection,String,Boolean,Boolean,Boolean) -> ObjectIdCollection Add(Point3dCollection,String,Boolean) -> ObjectIdCollection Add(Point3dCollection,Boolean) -> ObjectIdCollection Add(Point3d,String,Boolean,Boolean,Boolean) -> ObjectId Add(Point3d,String,Boolean) -> ObjectId Add(Point3d,Boolean) -> ObjectId SetPointNumber(IEnumerable`1,Int32) -> ObjectIdCollection SetPointNumber(ObjectId,UInt32) -> ObjectId CogoPoint.RawDescription canWrite=True CogoPoint.PointNumber canWrite=True Point API recon complete (read-only).
Notes
What worked, what didn't, job-specific gotchas — flagged notes feed the recipes.
No notes yet.