Hello,
Can anyone please tell me if it is possible to get all the Profile View objectIDs that is currently in the drawings?
-WITHOUT prompting a user for selection. I want a objectIDcollection for all the profileviews.
I think this lacking in the api but any help would be appreciated.
Solved! Go to Solution.
Solved by Partha.Sarkar. Go to Solution.
A couple of way s I can think of off the top of my head.
1. Use a filtered selection set and Autodesk.AutoCAD.EditorInput.Editor.SelectAll(Autodesk.AutoCAD.EditorInput.SelectionFilter)
2. Run through all of the alignments in the drawing and get the ProfileViewIds from them with Autodesk.Civil.DatabaseServices.Alignment.GetProfileViewIds()
And here is a C# code snippet using GetProfileViewIds() -
// Get the Aligments
ObjectIdCollection
alignments = civilDoc.GetAlignmentIds();
foreach
(ObjectId alignmentId in alignments)
{
Alignment alignment = alignmentId.GetObject(OpenMode.ForRead) asAlignment;
ObjectIdCollection profileViewIdColl = alignment.GetProfileViewIds();
// do what you want here
}
Hope this hekps !
Cheers,
Partha
that is perfect.
I was thinking I have to iterate through ALL the objects to check if
typeof (obj) is Autodesk.Civil.DatabaseServices.ProfileView and it would take too long.
Thanks so much for the help.