Community Tip - Learn all about the Community Ranking System, a fun gamification element of the PTC Community. X
Dear Community please advise a solution for waypoints.
I use one 3D sequence file with 10 figures-animations + I use 10 views (with 1 Wayfinder+30 waypoints on each view). When I reload the updated sequence file in my Vuforia Studio project I need to correct or reconnect all my Waypoints for all 10 Views.- and I don't want to do it.
How I can keep waypoints linked to the 3D model after reloading the updated 3D file to Vuforia Studio View?
Solved! Go to Solution.
Hi @IB_10645210 ,
for me the statement "reconnect all my Waypoints for all 10 Views." need possibly a clarification. I do not think that the point where connected to the geometry. That is only an impression what we have when we see that the arrow is pointing to some component . But the point will point only to the coordinates what you do set. The points have specific coordinates an they are displayed on the model geometry (when they are set correctly) . When they appeared on the correct place that will possibly it will look like as they are connected to some components etc. . But actually they follow only the coordinate of the potion x,y,z of the points. When the geometry change and you know how it changes then you need to change also the positions of the coordinates.
Here is one example from a old project where I changed this points and should demonstrates how to change the points
$scope.Test=function(){
var wdgs=$scope.app.view.Home.wdg;
for(wdg in wdgs)
{
if(hasWdgProp(wdgs[wdg],'selectedWaypointIndex')) //only wayfinder widget has this property
// if(wdgs[wdg]['widgetName'].indexOf("wayfinder"))
{ let count=0;
let arr_size= wdgs[wdg].waypointsData.length
var a1= arr_size%4
var a2 = (arr_size-a1)/4
console.log("---> a1="+a1+" a2="+a2+" arr_size="+arr_size)
for (i=0; i<arr_size; i++) {
//4 grids
a1=i % 4
a2= (i -a1) /4
wdgs[wdg].waypointsData[i].position.x=-0.5+0.25*a1
wdgs[wdg].waypointsData[i].position.y=0.1+0.25*a2
wdgs[wdg].waypointsData[i].position.z=0
$scope.$applyAsync();}
}
$scope.$applyAsync();
}
$scope.$applyAsync();
};
So to change the points you need at least a list of coordinates which should be set after model change e.g. component movement etc.
Hi @IB_10645210 ,
for me the statement "reconnect all my Waypoints for all 10 Views." need possibly a clarification. I do not think that the point where connected to the geometry. That is only an impression what we have when we see that the arrow is pointing to some component . But the point will point only to the coordinates what you do set. The points have specific coordinates an they are displayed on the model geometry (when they are set correctly) . When they appeared on the correct place that will possibly it will look like as they are connected to some components etc. . But actually they follow only the coordinate of the potion x,y,z of the points. When the geometry change and you know how it changes then you need to change also the positions of the coordinates.
Here is one example from a old project where I changed this points and should demonstrates how to change the points
$scope.Test=function(){
var wdgs=$scope.app.view.Home.wdg;
for(wdg in wdgs)
{
if(hasWdgProp(wdgs[wdg],'selectedWaypointIndex')) //only wayfinder widget has this property
// if(wdgs[wdg]['widgetName'].indexOf("wayfinder"))
{ let count=0;
let arr_size= wdgs[wdg].waypointsData.length
var a1= arr_size%4
var a2 = (arr_size-a1)/4
console.log("---> a1="+a1+" a2="+a2+" arr_size="+arr_size)
for (i=0; i<arr_size; i++) {
//4 grids
a1=i % 4
a2= (i -a1) /4
wdgs[wdg].waypointsData[i].position.x=-0.5+0.25*a1
wdgs[wdg].waypointsData[i].position.y=0.1+0.25*a2
wdgs[wdg].waypointsData[i].position.z=0
$scope.$applyAsync();}
}
$scope.$applyAsync();
}
$scope.$applyAsync();
};
So to change the points you need at least a list of coordinates which should be set after model change e.g. component movement etc.
@RolandRaytchev Thank you for your response,
I guess I need more practice with Wayfinder and observations on its behavior.