Community
Civil 3D Customization
Welcome to Autodesk’s AutoCAD Civil 3D Forums. Share your knowledge, ask questions, and explore popular AutoCAD Civil 3D Customization topics.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Profile View Band Update

6 REPLIES 6
Reply
Message 1 of 7
Civil3DReminders_com
513 Views, 6 Replies

Profile View Band Update

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. 

 

Christopher

Civil Reminders
http://blog.civil3dreminders.com/
http://www.CivilReminders.com/
Alumni
6 REPLIES 6
Message 2 of 7

Hi Chris,

 

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 ?

 

Thanks,



Partha Sarkar
Developer Technical Services
Autodesk Developer Network

Message 3 of 7

Yes, I tried regen, but that didn't work. 

 

Christopher

Civil Reminders
http://blog.civil3dreminders.com/
http://www.CivilReminders.com/
Alumni
Message 4 of 7

Hi Chris,

 

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.

 

Thanks,

 



Partha Sarkar
Developer Technical Services
Autodesk Developer Network

Message 5 of 7

 

Partha,

 

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.MdiActiveDocument.Database;
Editor ed = acadApp.Application.DocumentManager.MdiActiveDocument.Editor;
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;

profSection.PVIs.AddPVI(editPtForm.PointStation, editPtForm.PointElevation);

 

 

ed.Regen();
ed.UpdateScreen();

tr.Commit();

}

}

 

public static ObjectId SelectProfile(this CivilDocument civDoc, string prompt, out ProfileView profView)
{
Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;
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).GetObject(OpenMode.ForRead) as ProfileView;

return profileRes.ObjectId;
}
return ObjectId.Null;
}

 

Thanks

 

Christopher

Civil Reminders
http://blog.civil3dreminders.com/
http://www.CivilReminders.com/
Alumni
Message 6 of 7

Hi Chris,

 

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.ForRead) as ProfileView;

 

Your input required here to resolve the above issues.

 

Thanks,



Partha Sarkar
Developer Technical Services
Autodesk Developer Network

Message 7 of 7

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. 

http://blog.civil3dreminders.com/2012/09/adding-profile-pvi-through-api.html

 

Christopher

Civil Reminders
http://blog.civil3dreminders.com/
http://www.CivilReminders.com/
Alumni

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Rail Community


 

Autodesk Design & Make Report