AutoCAD Civil 3D Customization

Reply
Contributor
theEntity
Posts: 21
Registered: ‎08-05-2012
Message 1 of 4 (212 Views)
Accepted Solution

ProfileVIew objects in drawing

212 Views, 3 Replies
07-17-2013 03:43 PM

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.

 

*Expert Elite*
Jeff_M
Posts: 4,178
Registered: ‎07-22-2003
Message 2 of 4 (207 Views)

Re: ProfileVIew objects in drawing

07-17-2013 03:55 PM in reply to: theEntity

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()

 

 

Jeff_M, also a frequent Swamper
ADN Support Specialist
Partha.Sarkar
Posts: 543
Registered: ‎06-09-2009
Message 3 of 4 (186 Views)

Re: ProfileVIew objects in drawing

07-18-2013 06:13 AM in reply to: theEntity

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



Partha Sarkar
Developer Technical Services
Autodesk Developer Network

Contributor
theEntity
Posts: 21
Registered: ‎08-05-2012
Message 4 of 4 (179 Views)

Re: ProfileVIew objects in drawing

07-18-2013 08:08 AM in reply to: theEntity

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.

You are not logged in.

Log into access your profile, ask and answer questions, share ideas and more. Haven't signed up yet? Register

Announcements
Are you familiar with the Autodesk Expert Elites? The Expert Elite program is made up of customers that help other customers by sharing knowledge and exemplifying an engaging style of collaboration. To learn more, please visit our Expert Elite website.

Need installation help?

Start with some of our most frequented solutions to get help installing your software.

Ask the Community


Civil 3D Exchange Apps

Created by the community for the community, Autodesk Exchange Apps for AutoCAD Civil 3D helps you achieve greater speed, accuracy, and automation from concept to manufacturing.

Connect with Civil 3D

Twitter

Facebook

Blogs