question

Ryusuke T avatar image
0 Likes"
Ryusuke T asked Ryusuke T commented

intersection problem

Hi,

Please check the attached file.

This is part of the data.

This model was created on 2023.0.8.

I have checked Create Transfer at Crossing in AGV Network Properties, but no intersection is created.

2023092701.png

I know that intersection points can be created by recreating the path on 2023.0.11, but there are many and it is difficult. (This is part of the data, there is actually more path information)


Is there a way to create an intersection other than recreating the path?

Thanks in advance.

intersection problem.fsm

FlexSim 23.0.11
agvpathintersections
5 |100000

Up to 12 attachments (including images) can be used with a maximum of 23.8 MiB each and 47.7 MiB total.

1 Answer

Nil Ns avatar image
0 Likes"
Nil Ns answered Ryusuke T commented

Thank you for your question.


I’m not exactly sure why, but if you select all the paths with issues and set the Z location to 0,retype 0 and hit enter, everything should work.


I hope this helps!

· 6
5 |100000

Up to 12 attachments (including images) can be used with a maximum of 23.8 MiB each and 47.7 MiB total.

Jason Lightfoot avatar image Jason Lightfoot ♦♦ commented ·

This because some of the paths have non-zero z values which you can see if you change the displayed decimal precision:

1695816936733.png

Also, we don't need to worry about the time to delete and recreate all paths. You can add two global tables "StraightPaths" and "CurvedPaths" and run this script:

Table.query("SELECT Name, Class, Container, StartLocation, EndLocation, PathClass, IsTwoWay, AccumulationType, AGVOrientation FROM Objects() WHERE Class='AGV::StraightPath'").cloneTo(Table("StraightPaths"));
Table.query("SELECT Name, Class, Container, Location, StartAngle,SweepAngle, Radius, PathClass, IsTwoWay, AccumulationType, AGVOrientation FROM Objects() WHERE Class='AGV::CurvedPath'").cloneTo(Table("CurvedPaths"));
Array paths=Table.query("SELECT ARRAY_AGG(Object) FROM Objects() WHERE Class='AGV::StraightPath' OR Class='AGV::CurvedPath'")[1][1];
while (paths.length)
    paths.pop().destroy();
Table.query("INSERT INTO Objects() (Name, Class, Container, StartLocation, EndLocation, PathClass, IsTwoWay, AccumulationType, AGVOrientation)  SELECT Name, Class, Container, StartLocation, EndLocation, PathClass, IsTwoWay, AccumulationType, AGVOrientation  FROM StraightPaths");
Table.query("INSERT INTO Objects() (Name, Class, Container, Location, StartAngle,SweepAngle, Radius, PathClass, IsTwoWay, AccumulationType, AGVOrientation) SELECT Name, Class, Container, Location, StartAngle,SweepAngle, Radius, PathClass, IsTwoWay, AccumulationType, AGVOrientation FROM CurvedPaths");
1 Like 1 ·
1695816936733.png (3.2 KiB)
Ryusuke T avatar image Ryusuke T Jason Lightfoot ♦♦ commented ·

Thank you for answering.

By the way, when I ran the script, the value was added to the global table, but the actual path value did not change, so the intersection was not displayed.


Am I doing something wrong?

0 Likes 0 ·
Jason Lightfoot avatar image Jason Lightfoot ♦♦ Ryusuke T commented ·
The paths are reproduced exactly - so what do you mean by path value not changing? If the originals has the wrong z value - so will the recreated/new paths.
0 Likes 0 ·
Show more comments