SOLIDOS API - SolidosGetPointAt(deviceHandle, paramType, param)
SolidsGetPointAt(deviceHandle, paramType, param) - Devuelve un punto en un parámetro específico de un dispositivo lineal o longitudinal
- Parámetros de entrada
- deviceHandle (Dynamo: String, Visual List: Entity Name) - El identificador del dispositivo lineal o longitudinal
- paramType (String) - El tipo de parámetro a considerar:
- "Parameter" - La parte entera del número es el índice del vértice inicial del segmento y la parte fraccionaria identifica la relación de aspecto del segmento
- "Point" - Un punto. En este caso, el punto se proyectará sobre el eje utilizando un plano ortogonal al eje Z y, a continuación, se calculará la elevación Z de este punto sobre el eje del dispositivo.
- "Distance": la distancia con respecto al inicio del dispositivo, considerando que los segmentos son tridimensionales.
- "Distance2D": Proyecta el eje del dispositivo sobre el plano XY y, a continuación, calcula las coordenadas XY de la distancia dada sobre este eje y, a continuación, calcula la elevación sobre el eje 3D del dispositivo, proyectando el punto sobre el vector Z.
- Salida (Punto): un punto 3D sobre el eje del dispositivo.
- Errores que pueden ocurrir
- "InvalidDeviceHandle": el identificador del dispositivo no es válido o no pertenece a un dispositivo lineal o longitudinal.
- "NoAxis3D": el dispositivo no tiene eje. 3D
Puede tener errores de construcción o incluso no estar construido.
Ejemplo de uso en Visual Lisp:
(setq device (car lstDevices)
dist2d 5.0
final (SolidosGetNodeParam device "Length2D"))
(while (< dist2d final)
(setq
pt (SolidosGetPointAt device "Distance2D" dist2d)
param (SolidosGetParameterAtPoint device pt)
dist2d (+ dist2d 10))
(SolidosCreateNode device "Label" (list "Parameter" param))
)
Ejemplo de uso en Dynamo:
device = "7651";
dist2d = 10.0;
pt = SolidosAPI.SolidosGetPointAt(device, "Distance2D", dist2d);
param = SolidosAPI.SolidosGetParameterAtPoint(device, pt);
dic = Dictionary.ByKeysValues(["Parameter"], [param]);
label = SolidosAPI.SolidosCreateNode(device, "Label", dic);