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: 

How I can create my List with the DesignSpeed Collection?

1 REPLY 1
Reply
Message 1 of 2
joantopo
180 Views, 1 Reply

How I can create my List with the DesignSpeed Collection?

the property "item" about DesignSpeed Collection doesn´t  appear but it exists:

http://docs.autodesk.com/CIV3D/2013/ENU/API_Reference_Guide/html/b3b4438f-528c-5cb3-4b21-8802a18843a...

 

Then, How I can obtain a List<T>  with this collection?

 

I want only list with all DesignSpeeds from all alignments in only list.  

 

 public static List<toolsC3D.VelocidadesProyecto> GetDesignSpeedsAlineaciones(List<Alignments> lista)
        {
            Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;  // por si queremos preguntar o responder en la línea de comandos
            Database db = Application.DocumentManager.MdiActiveDocument.Database;
            Autodesk.Civil.ApplicationServices.CivilDocument civDoc = default(Autodesk.Civil.ApplicationServices.CivilDocument);
            civDoc = Autodesk.Civil.ApplicationServices.CivilApplication.ActiveDocument; //obtener el documento de Civil
               ObjectIdCollection alignColl = civDoc.GetAlignmentIds();  //obtener la colección de alineaciones
               List<toolsC3D.VelocidadesProyecto> listaVp = new List<toolsC3D.VelocidadesProyecto>();   // instancia de la nueva lista  
            
            if (alignColl.Count == 0)  //alignColl=align collection
            
            {
                return null;
            }
          
            VelocidadesProyecto tramo = default(VelocidadesProyecto);
            using (Transaction trans = HostApplicationServices.WorkingDatabase.TransactionManager.StartTransaction())
            {


                
                foreach (ObjectId id in alignColl)  // para cada alineación abierta para leer
                {
                  
                        Alignment alineacion = trans.GetObject(id, OpenMode.ForRead) as Alignment;

                       
                    
                    
                                  for(int i=0; i<= alineacion.DesignSpeeds.Count-1;i++)
                                {
                                    Alignment align = trans.GetObject(id, OpenMode.ForRead) as Alignment;

                                  
                                    
                                    tramo = new toolsC3D.VelocidadesProyecto();
                                    tramo.Id = alineacion.Id; 
                                    tramo.NumeroTramo = i+1;
                                   
                                            
                                         //   doesn´t work:  alineacion.DesignSpeeds.Item(i)

                                   

                                       listaVp.Add(tramo);
                                }
                    
                }
            }




            return listaVp;
        }

 Thank you

Autocad C3D 2019 SP3, 2020 & 2021
Intel I9 9900K with frontal watercooler alphacool eisbaer 360 (original fans mounted in pull)- 3 fans Corsair 120 ML PRO in push.
MOBO Gygabyte Z390 Aorus Master- Corsair RGB Vengeance 64GB RAM (4x16) CL16
Nvidia Quadro RTX 4000
Samsung 970 EVO PLUS 1TB (unit C). Samsung 970 PRO 512GB (for data)
Power Supply: Corsair TX850M PLUS


Descubre mi programa VisorNET para Civil 3D:
https://apps.autodesk.com/CIV3D/es/Detail/Index?id=appstore.exchange.autodesk.com%3avisornet_windows32and64%3aes
1 REPLY 1
Message 2 of 2
joantopo
in reply to: joantopo

This is OK.

 

   public static List<toolsC3D.VelocidadesProyecto> GetDesignSpeedsAlineaciones()
        {
            Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;  
            Database db = Application.DocumentManager.MdiActiveDocument.Database;
            Autodesk.Civil.ApplicationServices.CivilDocument civDoc = default(Autodesk.Civil.ApplicationServices.CivilDocument);
            civDoc = Autodesk.Civil.ApplicationServices.CivilApplication.ActiveDocument; 
           ObjectIdCollection alignColl = civDoc.GetAlignmentIds();  
          List<toolsC3D.VelocidadesProyecto> listaVp = new List<toolsC3D.VelocidadesProyecto>(); 

   
            if (alignColl.Count == 0)  //alignColl=align collection
            
            {
                return null;
            }
          
            VelocidadesProyecto tramo = default(VelocidadesProyecto);
            using (Transaction trans = HostApplicationServices.WorkingDatabase.TransactionManager.StartTransaction())
            {        
                foreach (ObjectId id in alignColl)  // para cada alineación abierta para leer
                {
                  
                        Alignment alineacion = trans.GetObject(id, OpenMode.ForRead) as Alignment;

                        DesignSpeedCollection designcoll = alineacion.DesignSpeeds;  
                    
                                    foreach (DesignSpeed design in designcoll)
                                    {
         
                                    tramo = new toolsC3D.VelocidadesProyecto();
                                    tramo.Id = alineacion.Id; 
                                    tramo.NumeroTramo = design.SpeedNumber;  //numero de tramo
                                    tramo.Vp = design.Value;  //velocidad proyecto
                                    tramo.StartStation = design.Station; // p.k inicial
                                    tramo.Description = design.Comment;  //descripción
                                        
                                     listaVp.Add(tramo);
                                }  
                }
            }

            return listaVp;
        }

 

Autocad C3D 2019 SP3, 2020 & 2021
Intel I9 9900K with frontal watercooler alphacool eisbaer 360 (original fans mounted in pull)- 3 fans Corsair 120 ML PRO in push.
MOBO Gygabyte Z390 Aorus Master- Corsair RGB Vengeance 64GB RAM (4x16) CL16
Nvidia Quadro RTX 4000
Samsung 970 EVO PLUS 1TB (unit C). Samsung 970 PRO 512GB (for data)
Power Supply: Corsair TX850M PLUS


Descubre mi programa VisorNET para Civil 3D:
https://apps.autodesk.com/CIV3D/es/Detail/Index?id=appstore.exchange.autodesk.com%3avisornet_windows32and64%3aes

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

Post to forums  

Rail Community


 

Autodesk Design & Make Report