AutoCAD Civil 3D Customization

AutoCAD Civil 3D Customization

Reply
Distinguished Mentor
Civil3DReminders
Posts: 910
Registered: ‎03-24-2009
Message 1 of 3 (286 Views)

Profile Data Band Label Group

286 Views, 2 Replies
04-07-2012 12:13 PM

So I've got a collection of the LabelGroupSubEntity in the ProfileDataBandLabelGroup. I need to replace some values inside them based on what Vertical Geometry Point they are labeling. Is there an easy way to determine what station value it is labeling?

 

Christopher 

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

Re: Profile Data Band Label Group

04-08-2012 05:15 PM in reply to: Civil3DReminders

Will this give you what you need?

 

            CivilDocument civdoc = CivilApplication.ActiveDocument;
            using (Transaction tr = HostApplicationServices.WorkingDatabase.TransactionManager.StartTransaction())
            {
                Alignment oAlign = (Alignment)civdoc.GetAlignmentIds()[0].GetObject(OpenMode.ForRead);
                ProfileView pv = (ProfileView)oAlign.GetProfileViewIds()[0].GetObject(OpenMode.ForWrite);
                RXClass profDataBandLabelGroupRXClass = SystemObjects.ClassDictionary["AeccDbProfileDataBandLabeling"] as RXClass;
                ObjectIdCollection profBandLabelsObjIdColl = ProfileBandLabelGroup.GetAvailableLabelGroups(profDataBandLabelGroupRXClass, pv.ObjectId, false);
                if (profBandLabelsObjIdColl.Count > 0)
                {
                    ProfileBandLabelGroup grp = (ProfileBandLabelGroup)profBandLabelsObjIdColl[0].GetObject(OpenMode.ForRead);
                    if (grp.GetType() == typeof(ProfileDataBandLabelGroup))
                    {
                        foreach (LabelGroupSubEntity subent in grp.SubEntities)
                        {
                            double station = Double.NaN;
                            double elevation = Double.NaN;
                            pv.FindStationAndElevationAtXY(subent.AnchorInfo.Location.X, subent.AnchorInfo.Location.Y, ref station, ref elevation);
                        }
                    }
                }
                tr.Commit();
            }

 

Jeff_M, also a frequent Swamper
Distinguished Mentor
Civil3DReminders
Posts: 910
Registered: ‎03-24-2009
Message 3 of 3 (268 Views)

Re: Profile Data Band Label Group

04-08-2012 06:28 PM in reply to: Jeff_M

Yes and no. It works if my labels are not staggered. Unfortunatley my labels are staggered so they won't be a the point being labeled.

 

Christopher

Post to the Community

Have questions about Autodesk products? Ask the community.

New Post
Need installation help?

Start with some of our most frequented solutions or visit the Installation and Licensing Forum to get help installing your software.