When I edit a profile by adding a PVI, the profile view bands update poorly. The band down station is removed and the new PVI band label isn't added. Is there a way to force Civil 3D to refresh the bands programattically? Going into the profile view properties refreshes the band to show correctly, but I don't think that's an acceptable solution.
I don’t see ProfileView has any API to Refresh or ForcreRefresh.
Did you try to use send command “regen” via API ? Does that help ?
Could you send me the code snippet and related DWG file to investigate this issue ? You can drop me an email with these files, I will look into it.
Below is an extraction of the code that I am using. There are also some transient graphics that get drawn, but the code is below. The Regen and UpdateScreen was primarily used to get rid of any lingering temporary objects. Replace the station and elevation to a value that works with the profile you test this on.
private void RunCommand()
Database db = acadApp.Application.DocumentManager.MdiActiveDocum
Editor ed = acadApp.Application.DocumentManager.MdiActiveDocum
using (Transaction tr = db.TransactionManager.StartTransaction())
ObjectId profileObjId = civDoc.SelectProfile("Select profile section to edit: ", out profView);
Profile profSection = profileObjId.GetObject(OpenMode.ForRead) as Profile;
public static ObjectId SelectProfile(this CivilDocument civDoc, string prompt, out ProfileView profView)
Editor ed = Application.DocumentManager.MdiActiveDocument.Edit
PromptEntityOptions pops = new PromptEntityOptions("\n" + prompt);
profView = null;
PromptEntityResult profileRes = ed.GetEntity("AeccDbVAlignment", pops, "\nYou must select a Profile:");
if (profileRes.Status == PromptStatus.OK)
// Get the profile view of the profile.
Profile prof = profileRes.ObjectId.GetObject(OpenMode.ForRead) as Profile;
Alignment align = prof.AlignmentId.GetObject(OpenMode.ForRead) as Alignment;
profView = align.GetProfileViewByPoint(profileRes.PickedPoint
I am not able to compile your code using Civil 3D 2013 assemblies. Which release of Civil 3D are you using ?
civDoc.SelectProfile("Select profile section to edit: ", out profView);
what is this civDoc ? COM ? or .NET ?
Some other unresolved variables - editPtForm
rofView = align.GetProfileViewByPoint(profileRes.PickedPoint).GetObject(OpenMode.ForRea
Your input required here to resolve the above issues.
Here's the a complete code example that should work without modification. The previous code utilized some extensions on the CivilDocument to make cleaner code.
Log into access your profile, ask and answer questions, share ideas and more. Haven't signed up yet? Register