Blog técnico
De rutinas LISP a un complemento para Civil 3D en dos meses
Cómo pasamos de un comando por indicador a una suite de 55 comandos y a un complemento con cinta propia para Civil 3D 2027, y qué validamos en el camino.
En julio, nuestra primera rutina hacía una sola cosa: trazar transversales al eje de una vía, medir hasta cada borde y escribir un CSV. A fines de setiembre, lo que instalamos es un complemento para Civil 3D 2027 con pestaña propia en la cinta, 55 comandos, licencia por equipo e instalador. No lo planeamos así. Creció porque cada semana de uso sobre vías reales mostraba un caso que la versión anterior no resolvía.
Este artículo cuenta ese camino. Lo que ganamos en tiempo, medido proceso por proceso, está en KPI de vías mineras: ancho, pendiente y berma en 79 % menos tiempo.
Por qué escribimos nuestras propias herramientas
Porque el que sabe dónde se va el tiempo es el que está en el gabinete. Nuestra oficina técnica calcula anchos, pendientes y bermas de vías mineras en Civil 3D cada semana y conoce de memoria cada paso repetido. Civil 3D resuelve muy bien alineamientos, perfiles y secciones. Lo que no trae es el criterio de una operación minera: cuándo un tramo es crítico, cómo se presenta y qué va en la tabla que llega al cliente. Esa parte la escribimos nosotros.
Primero, un prototipo por indicador
Entre el 22 de julio y el 25 de agosto cada indicador tuvo su propio módulo: uno para ancho, otro para pendiente, otro para altura de berma. Cada uno pasó por varias versiones y creció entre 4.8 y 7.4 veces desde la primera. Casi todo ese crecimiento fue manejo de casos difíciles, no funciones nuevas:
- Curvas de retorno, donde una transversal perpendicular al eje cruza el borde equivocado o se cruza con la vecina.
- Bordes que terminan antes que el eje y dejan un abanico de transversales sin sentido al final de la vía.
- Estaciones donde el borde no existe, que tienen que quedar marcadas como estimación y no como medición.
- Crestas de berma con quiebres cerrados, que hay que suavizar antes de medir.
- Tramos del terreno sin cota, donde la rutina no puede inventar un valor.
Un ancho en una recta lo calcula cualquiera. El trabajo está en que la rutina no se equivoque en silencio en la curva número cuarenta.
Después, una sola suite
Del 26 de agosto al 5 de setiembre los módulos se integraron en un solo menú: 55 comandos en 11 módulos. Además de los tres KPI entraron las herramientas que el gabinete usaba alrededor de ellos: achurado de tramos, exportación a DWG y DXF limpios, renombrado de capas al estándar de la operación, offset 3D con cota real, polígonos de contorno, transformación de coordenadas entre PSAD56 y WGS84, y ajuste de poligonales.
Un módulo compilado, con su instructivo
El 5 de setiembre la suite pasó a distribuirse compilada. Quien la instala recibe los comandos, una licencia de uso y 13 instructivos de una página, uno por opción del menú: para qué sirve, qué necesita antes de empezar, el paso a paso, qué entrega y qué hacer si algo falla. El código fuente se queda con nosotros.
En la sección de “si algo falla”, cada aviso de la rutina aparece con su causa probable y con lo que hay que revisar en el dibujo. Al operador no le sirve un mensaje de error; le sirve saber qué borde volver a trazar.
Un complemento con cinta propia
La suite funcionaba, pero se cargaba a mano y se usaba escribiendo comandos. Entre el 17 y el 25 de setiembre la convertimos en un complemento .NET para Civil 3D 2027: una pestaña propia en la cinta con 7 paneles y 22 botones, un instalador por usuario, una licencia por equipo que se activa sin conexión a internet y una guía de inicio. Fueron ocho versiones en nueve días.
La decisión que más nos importó fue lo que no tocamos. La interfaz, la geodesia y cuatro métodos de ajuste lineal de poligonales (brújula, tránsito, Crandall y mínimos cuadrados con azimutes fijos) se escribieron de nuevo en C#, y los cálculos viven en un núcleo que se prueba sin abrir un dibujo. El motor de los KPI, que ya estaba probado sobre vías reales, se conserva intacto, y el complemento comprueba que sea exactamente la versión validada antes de usarlo. Reescribir de golpe un cálculo que ya funciona en campo es la forma más rápida de volver a encontrar errores que ya estaban corregidos. El ajuste riguroso de red también sigue en el motor original.
El eje entre dos bordes
Antes de medir el ancho hace falta un eje, y crearlo a mano era de los pasos más lentos del flujo. Desde la versión 2.1 el complemento lo propone: el operador selecciona los dos bordes de la vía, define estilo, etiquetas, intervalo de progresivas, tolerancia y radio mínimo, y recibe un alineamiento horizontal hecho de rectas y arcos tangentes, centrado entre los bordes.
La propuesta aparece en pantalla antes de crearse, y el operador la acepta, la ajusta o la descarta. Los bordes originales no se modifican, y la herramienta informa cuánto recortó de cada borde en los extremos. En la versión 2.3 agregamos el modo guiado para retornos: el operador marca el inicio, puntos antes y después de cada retorno y el final, en orden de avance. Esos puntos orientan el recorrido y definen el sentido y los extremos del eje; no son puntos por donde el eje esté obligado a pasar.
Lo que entrega es el alineamiento horizontal, no un perfil. Normas de diseño, velocidades, espirales y peraltes se revisan después en Civil 3D, como en cualquier eje.
Qué validamos
Antes de entregarlo comprobamos:
- La compilación en modo Release, sin errores ni advertencias.
- 21 grupos de pruebas numéricas sobre el núcleo de cálculo: transformación de coordenadas y ajustes de poligonal.
- El catálogo de comandos: 55 nombres, ninguno repetido.
- La instalación, la reinstalación y la desinstalación en una carpeta aislada, verificando cada archivo instalado y que ningún archivo ajeno se toque.
- Una huella SHA-256 que viaja con cada instalador, para comprobar que llegó íntegro.
Este complemento no se vende por separado: es parte de cómo entregamos el control de vías a las operaciones mineras donde trabajamos. Si su operación necesita medir el ancho, la pendiente y las bermas de sus vías de acarreo, cuéntenos cuántos kilómetros son y cada cuánto necesita el reporte. Escríbanos y lo conversamos.
Temas
- Automatización
- Civil 3D
- Minería
