SOLIDOS API - SolidosGetPointAt(deviceHandle, paramType, param)
SolidosGetPointAt(deviceHandle, paramType, param) - Retorna um ponto em um parâmetro específico de um dispositivo linear ou longitudinal
- Parâmetros de entrada
- deviceHandle (Dynamo: String, Visual List: Entity Name) - o identificador do dispositivo linear ou longitudinal
- paramType (String) - o tipo de parâmetro a considerar:
- "Parameter" - a parte inteira do número é o índice do vértice inicial do segmento e a parte fracionária identifica a proporção do segmento
- "Point" - um ponto. Neste caso, o ponto será projetado no eixo usando um plano ortogonal ao eixo Z e então será calculado a elevação Z deste ponto sobre o eixo do dispositivo
- "Distance" - a distância em relação ao início do dispositivo, considerando que os segmentos são tridimensionais
- "Distance2D" - Projeta o eixo do dispositivo no plano XY e então calcula as coordenadas XY da distância dada sobre este eixo e então calcula a elevação no eixo 3D do dispositivo, projetando o ponto no vetor Z
- Saída (Point) - um ponto 3D sobre o eixo do dispositivo
- Erros que podem ocorrer
- "InvalidDeviceHandle" - o identificador do dispositivo é inválido ou não é de um dispositivo linear ou longitudinal
- "NoAxis3D" - o dispositivo não possui um eixo 3D
Possivelmente ele tem erros de construção, ou não está construído
Exemplo de uso no 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))
Exemplo de uso no 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);