I have a snippet that I use 4 times in my script, I decided to create a function but when function is used I got an error:
Warning:
desplazarPunto expects argument type(s) (var, double, double, double),
but was called with (Autodesk.DesignScript.Geometry.Point, int, int, int).
Original code block:
// Obtener las coordenadas del punto p
coordenada_x = Point.X(p);
coordenada_y = Point.Y(p);
coordenada_z = Point.Z(p);
// Convertir desplazamientos de milímetros a metros
desplazamiento_m_x = desplazamiento_mm_x / 1000;
desplazamiento_m_y = desplazamiento_mm_y / 1000;
// Calcular el movimiento según la escala de la vista
movimiento_escalado_x = desplazamiento_m_x * escala_vista;
movimiento_escalado_y = desplazamiento_m_y * escala_vista;
// Calcular la nueva coordenada
nueva_coordenada_x = coordenada_x + movimiento_escalado_x;
nueva_coordenada_y = coordenada_y + movimiento_escalado_y;
// Crear el nuevo punto con las coordenadas ajustadas
punto_nuevo = Point.ByCoordinates(nueva_coordenada_x,
nueva_coordenada_y,
coordenada_z);
New function:
def desplazarPunto( p: Point,
desplazamiento_mm_x: var,
desplazamiento_mm_y: var,
escala_vista: var)
{
// Obtener las coordenadas del punto p
coordenada_x = Point.X(p);
coordenada_y = Point.Y(p);
coordenada_z = Point.Z(p);
// Convertir desplazamientos de milímetros a metros
desplazamiento_m_x = desplazamiento_mm_x / 1000;
desplazamiento_m_y = desplazamiento_mm_y / 1000;
// Calcular el movimiento según la escala de la vista
movimiento_escalado_x = desplazamiento_m_x * escala_vista;
movimiento_escalado_y = desplazamiento_m_y * escala_vista;
// Calcular la nueva coordenada
nueva_coordenada_x = coordenada_x + movimiento_escalado_x;
nueva_coordenada_y = coordenada_y + movimiento_escalado_y;
// Crear el nuevo punto con las coordenadas ajustadas
punto_nuevo = Point.ByCoordinates(nueva_coordenada_x,
nueva_coordenada_y,
coordenada_z);
return punto_nuevo;
};
What am I doing wrong?
Thank u for your time.
Cheers.
