En este ejemplo, mostraremos como se puede rebloquear usando MineLink y el impacto que tiene esto en el resultado del pit final.
Caso
Para poder desarrollar este ejercicio se consideró un modelo original con bloques de tamaño regular de 20mx20mx20m. El cuerpo mineralizado tiene forma de manto, con un ancho de 200 metros, un largo de 1000 metros y una profundidad indefinida. Posee un manteo de 45° con respecto al eje vertical y está ubicado a 50 metros bajo la superficie. La ley de la zona mineralizada tiene un valor de 0.7% de Cu distribuida de manera uniforme en los bloques. Para efectos del ejercicio, se asumirá que todos los bloques poseen una densidad de 2.64 t/m³. A continuación se muestra una vista en planta y en perfil del modelo de bloques con la ley de Cu.
![]() |
| Fig. 1. Vista en planta del modelo de bloques de 20mx20mx20m |
![]() |
| Fig. 2. Vista de perfil del modelo de bloques de 20mx20mx20m |
Al rebloquear el modelo original a bloques de 40mx40mx40m se tienen las siguientes vistas de planta y de perfil en el modelo rebloqueado.
![]() |
| Fig. 3. Vista en planta en el modelo rebloqueado |
![]() |
| Fig. 4. Vista de perfil en el modelo rebloqueado |
Tal como es posible apreciar de las figuras 3 y 4, al rebloquear el modelo original a bloques de 40mx40mx40m se produce una dilución de la ley en los bordes del cuerpo mineralizado. A continuación se muestra una figura esquemática del proceso de rebloqueo para un nivel visto de perfil.
![]() |
| Fig 5. Esquema del proceso de rebloqueo a bloques de 40mx40mx40m |
Es importante destacar que la figura 5 corresponde a una visualización en 2 dimensiones del proceso de rebloqueo, ya que cada bloque de 40mx40mx40m contiene 8 bloques de 20mx20mx20m.
Para el proceso de optimización se asumirá un ángulo global de talud de 45° y se considerará un solo proceso metalúrgico.
La siguiente tabla muestra los parámetros económicos y de recuperación metalúrgica.
| Tabla 1. Parámetros de costos y recuperación metalúrgica |
![]() |
Resultados
A continuación se muestran algunos resultados del experimento de rebloqueo y cálculo de pit final realizado sobre el modelo de bloques mostrado en los párrafos anteriores. Con el propósito de comparar y validar el output de MineLink, se agregan los resultados obtenidos mediante el software Whittle.
| Tabla 2. Resumen de Resultados del pit final calculado mediante Whittle y Minelink |
![]() |
Por otro lado, fijando una cierta cota es posible verificar la forma que se obtiene mediante ambas metodologías, como se observa en la figura siguiente.
![]() |
| Fig 6. Vista en planta de los resultados de pit final para el modelo original (20x20x20 metros) y rebloqueado (40x40x40 metros) |
![]() |
| Fig 7. Vista longitudinal de los resultados de pit final para el modelo original (20x20x20 metros) y rebloqueado (40x40x40 metros) |
Script de Rebloqueo y Pit Final MineLink
En esta sección se muestra el scipt utilizado para el rebloqueo y cálculo de pit final.
from MineLink import *
#Import Original Block Model
bm = BlockModel(file_name = r'C:\Users\MyUser\Reblock\original_blockmodel.txt')
#________________REBLOCKING__________________________
#Reblock Dimensions
dx_reb = 40
dy_reb = 40
dz_reb = 40
#Creating a Reblocker
reg_reb = RegularReblocker(bm,dx_reb,dy_reb,dz_reb,"id")
#Add Attribute Columns to Reblocker
reg_reb.AddSummationColumn("tonnage","tonnage")
reg_reb.AddAvgColumn("density","density")
reg_reb.AddAvgColumn("grade","density","grade")
reg_reb.AddAvgColumn("recovery","density","recovery")
reg_reb.AddMaxColumn("region","region")
reg_reb.AddMaxColumn("rocktype","rocktype")
#Save the Reblocked Model
nbm = reg_reb.ReblockToRegularBlockModel()
#Export Reblocked Block Model to Text File
nbm.SaveToTextFile(r"C:\Users\MyUser\Reblock\reblocked_blockmodel.txt",["tonnage"]+["density"]+["grade"]+["recovery"]+["region"]+["rocktype"])
#______________FINAL PIT CALCULATION______________________
#Import Reblocked Block Model
bm_reb = BlockModel(file_name = r"C:\Users\MyUser\Reblock\reblocked_blockmodel.txt")
#Create Column to value attribute
bm_reb.AddColumn("value",0.0)
#ValueFunction Valorizes the Block Model Given the Attributes, Costs and Copper Price
ValueFunction(bm_reb,value,grade,rec,ton,mine_cost,proc_cost,sell_cost,price)
#Create Slope Precedences Using Rosetta
bm_reb.AddColumn("slope",45)
rosetta = RosettaSlope([360],[45])
prec = RosettaPrecedence(bm_reb,"slope")
prec.AddRosetta(45,rosetta)
prec.CreateArcs(8,dx_reb,dy_reb,dz_reb)
#Create Final Pit Instance and Calculation
names = []
fpi = FinalPitInstance("value",prec)
solver = PseudoFlowFinalPitSolver(fpi)
solver.Run()
bms = solver.FinalPit()
names.append("pit")
bms.StoreAsAttribute("pit")
#Export Reblocked Block Model Including the Pit Results
bm_reb.SaveToTextFile(r"C:\Users\MyUser\Reblock\reblocked_blockmodel_final_pit.txt",["tonnage"]+["density"]+["grade"]+["recovery"]+["region"]+["rocktype"]+["pit"])








