Comunidad
Civil 3D - Español
Comparta su conocimiento, haga preguntas y explore los temas populares de Civil 3D.
cancelar
Mostrando los resultados de 
Mostrar  solo  | Buscar en lugar de 
Quiere decir: 

Como accedo a las áreas (sq.m) del objeto SECTIONS de un ALIGMENT determinado?

9 RESPUESTAS 9
RESUELTAS
Responder
Mensaje 1 de 10
inversiones_edgar_itriago
760 Vistas, 9 Respuestas

Como accedo a las áreas (sq.m) del objeto SECTIONS de un ALIGMENT determinado?

Estoy usando CIVIL 3D 2016, en mi proyecto, creé un alignment llamado Centerline (1), y asociado a éste un Sample Line Group llamado SLG-1 de 5 SampleLines, las dos superficies o sources son (F1-F2-F3-F4 Inicial) y (F3-F4 Est), computé el material y me generó los m2 ó sq.m. Ahora yo quiero accesar precisamente a estas áreas o cómputos. A continuación les dejo el sub en el que itero cada sección contenida en el objeto SECTIONS pero el área me arroja cero (0), aunq en el archivo drawing me muestre los sq.m de cada Sample Line. Espero su ayuda y gracias de antemano

 

 

 

private void ReadingSectios() 
{
Document AcDoc = Application.DocumentManager.MdiActiveDocument;

Database acCurDB = AcDoc.Database;
CivilDocument doc = CivilApplication.ActiveDocument;

// Use Centerline (1)
Alignment alignment = null;

//using (Transaction ts = acCurDB.TransactionManager.StartTransaction())

using (Transaction ts = Application.DocumentManager.MdiActiveDocument.Database.TransactionManager.StartTransaction())
{

foreach (ObjectId alignmentId in doc.GetAlignmentIds())
{
Alignment a = ts.GetObject(alignmentId, OpenMode.ForRead) as Alignment;
if (a.Name == "Centerline (1)") { alignment = a; break; }
}
// Get the first sample line group, SLG-1:
SampleLineGroup sampleLineGroup = ts.GetObject(alignment.GetSampleLineGroupIds()[0], OpenMode.ForRead) as SampleLineGroup;

foreach (ObjectId sampleLineId in sampleLineGroup.GetSampleLineIds())
{
SampleLine sampleLine = ts.GetObject(sampleLineId, OpenMode.ForRead) as SampleLine;

foreach (ObjectId sectionId in sampleLine.GetSectionIds())
{
Section section = ts.GetObject(sectionId, OpenMode.ForWrite) as Section;

Application.DocumentManager.MdiActiveDocument.Editor.WriteMessage("Section {0} Station {1} Area {2}\n", section.Name, section.Station.ToString("0.00"), section.Area);
}
}
}
}

 

y al ejecutar el dll en el civil 3d me arroja el siguiente reporte=

 

Section SLG-1 - 0+000.00 - F1-F2-F3-F4 Inicial(878) Station 0.00 Area 0
Section SLG-1 - 0+000.00 - F3-F4 EST(879) Station 0.00 Area 0
Section SLG-1 - 0+000.00 - Material List - (15) - Material - (22)(900) Station 0.00 Area 0
Section SLG-1 - 0+004.86 - F1-F2-F3-F4 Inicial(882) Station 4.86 Area 0
Section SLG-1 - 0+004.86 - F3-F4 EST(883) Station 4.86 Area 0
Section SLG-1 - 0+004.86 - Material List - (15) - Material - (22)(901) Station 4.86 Area 0
Section SLG-1 - 0+006.81 - F1-F2-F3-F4 Inicial(884) Station 6.81 Area 0
Section SLG-1 - 0+006.81 - F3-F4 EST(885) Station 6.81 Area 0
Section SLG-1 - 0+006.81 - Material List - (15) - Material - (22)(902) Station 6.81 Area 0
Section SLG-1 - 0+008.65 - F1-F2-F3-F4 Inicial(892) Station 8.65 Area 0
Section SLG-1 - 0+008.65 - F3-F4 EST(893) Station 8.65 Area 0
Section SLG-1 - 0+008.65 - Material List - (15) - Material - (22)(903) Station 8.65 Area 0
Section SLG-1 - 0+011.20 - F1-F2-F3-F4 Inicial(894) Station 11.20 Area 0
Section SLG-1 - 0+011.20 - F3-F4 EST(895) Station 11.20 Area 0
Section SLG-1 - 0+011.20 - Material List - (15) - Material - (22)(904) Station 11.20 Area 0

como ven, el reporteque me arroja el programa me da un valor de cero (0) en el área (resaltado aqui en color rojo), y debería de darme allí el cómputo o  sq.m. Agradezco su aporte en este tema, muchas gracias

Etiquetas (4)
9 RESPUESTAS 9
Mensaje 2 de 10

Hola, sube tu archivo para revisar.

DOS LOGOS MI LOGROS.png

Usa aceptar como solución o kudos si la respuesta dada resolvio su problema esto con el fin que otro usuarios puedan encontrar respuestas rápidamente.

Yoffre_Vargas/Educator_Expert/ECUADOR

Si mi respuesta solucionó tu problema, por favor, márcala como Solución Aceptada y haz clic en Me gusta.
Mensaje 3 de 10

Q tal Yoffre, en el anexo los archivos, agradezco la ayuda, Saludos!!!

Mensaje 4 de 10

NO HAY ARCHIVO ADJUNTO

 

DOS LOGOS MI LOGROS.png

Usa aceptar como solución o kudos si la respuesta dada resolvio su problema esto con el fin que otro usuarios puedan encontrar respuestas rápidamente.

Yoffre_Vargas/Educator_Expert/ECUADOR

Si mi respuesta solucionó tu problema, por favor, márcala como Solución Aceptada y haz clic en Me gusta.
Mensaje 5 de 10

Ha disculpa, Anexo archivos, estoy pendiente con tu respuesta Yoffre, gracias

Mensaje 6 de 10

 
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
Mensaje 7 de 10

Buenas.
De dónde sacas que el objeto Section tiene la propiedad Area..?
Mirando la Section class en la ayuda de la API, no aparece:

http://docs.autodesk.com/CIV3D/2016/ENU/API_Reference_Guide/index.html

Lo que sí te puedo decir, es que el objeto Section sólo es para secciones de superficie y es evidente que no se obtienen areas si no comparas varias secciones de superficie en un material.
creo que para llegar a las áreas, tendrias que acceder al material desde la API (en este apartado no he progrmado pero podemos mirarlo)

Otra forma, es con la clase Corridor section y analizar cada shape de esa seccion, pero por lo visto, la clase Shape tampoco he visto nada de propiedad area...


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
Mensaje 8 de 10

En la clase AppliedAssembly, hay la subclase CalculatedShape la cual tiene la propiedad area.
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
Mensaje 9 de 10

Hola agregame al skype para darte una ayudada rapida y explicarte

yoffre.vargas1

Yoffre_Vargas/Educator_Expert/ECUADOR

Si mi respuesta solucionó tu problema, por favor, márcala como Solución Aceptada y haz clic en Me gusta.
Mensaje 10 de 10

Revisa esta correccion y me comentas 

Saludos

AYUDA123.dwg

DOS LOGOS MI LOGROS.png

Usa aceptar como solución o kudos si la respuesta dada resolvio su problema esto con el fin que otro usuarios puedan encontrar respuestas rápidamente.

Yoffre_Vargas/Educator_Expert/ECUADOR

Si mi respuesta solucionó tu problema, por favor, márcala como Solución Aceptada y haz clic en Me gusta.

¿No encontraste lo que buscabas? Pregúntale a la comunidad o comparte tus conocimientos.

Publicar en los foros  

Autodesk Design & Make Report

New events in the Spanish Community