java - 我如何通过代码在 Anylogic 中创建路径空间标记元素

标签 java anylogic

我在anyloigic方面完全是菜鸟,现在我正在尝试通过代码创建简单的网络; (具有两个点节点的网络,以及链接这些节点的路径) 遇到一些问题。

当我运行模型时,控制台显示“使用初始化()方法”,但我已经知道 初始化方法在较低版本中已被弃用。 (我使用的是8.5.1版本)

如何通过代码创建路径

真的需要你的帮助

谢谢。

PointNode node1 = new PointNode();
node1.setPos(0, 0, 0);
node1.setDrawMode(SHAPE_DRAW_2D3D);
node1.setFillColor(black);
node1.setOwner(this);
node1.setRadius(10);
node1.setVisible(true);

presentation.add(node1);

PointNode node2 = new PointNode();
node2.setPos(100, 0, 0);
node2.setDrawMode(SHAPE_DRAW_2D3D);
node2.setFillColor(black);
node2.setOwner(this);
node2.setRadius(10);
node2.setVisible(true);

presentation.add(node2);

Path path1 = new Path();
path1.setBidirectional(true);
path1.setDrawingType(PATH_LINE);
path1.setDrawMode(SHAPE_DRAW_2D3D);
path1.setLineColor(black);
path1.setLineWidth(10);
path1.setOwner(this);
path1.setSource(node1);
path1.setTarget(node2);
path1.setVisible(true);
path1.toPath3D();
path1.initialize();

presentation.add(path1);

Network net1 = new Network(this,"aa");
net1.setDrawMode(SHAPE_DRAW_2D3D);
net1.setVisible(true);
net1.addAll(node1, node2, path1);

最佳答案

正如您已经注意到的,AnyLogic 8.5 有一种新的方法来做到这一点。主要区别是新的关卡系统,您也必须添加它。

以下是 AnyLogic 的官方示例,用于从 8.5 的代码创建节点路径网络:

// create rectangular node
rn = new RectangularNode();
rn.setPos(300.0, 350.0, 0.0);
rn.setSize(100.0, 90.0);
rn.addAttractor(new Attractor(25.0, 25.0, 4.7));

// create point node
pn = new PointNode();
pn.setRadius( 5 );
pn.setLineColor( dodgerBlue );
pn.setPos(50.0, 300.0);

// create path between nodes
Path path = new Path();
path.setBidirectional(true);
path.addSegment(new MarkupSegmentLine(50.0, 300.0, 0.0, 350.0, 300.0, 0.0));
path.addSegment(new MarkupSegmentLine(350.0, 300.0, 0.0, 350.0, 350.0, 0.0));
path.setTarget(rn);
path.setSource(pn);

// create network with path and nodes
n = new Network(this, "myNetwork");
n.addAll(rn, pn, path);

// create level with the network and initialize the level
Level level = new Level(this, "myLevel", SHAPE_DRAW_2D3D, 0);
level.add(n);
level.initialize(); // cannot be changed after initialization!

return level;

您也可以在示例模型中找到此内容,位于帮助/示例模型/通过代码创建传输网络

关于java - 我如何通过代码在 Anylogic 中创建路径空间标记元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60518429/

相关文章:

java - Anylogic新分支抛出 "cannot be resolved to a variable"错误

java - 尝试在分层模型中移动代理时出现 AnyLogic 错误

java - AnyLogic 中的自定义流程库模块

java - 使用 gson 在 Java 中序列化千兆字节的 python 对象

java - 如何按排序顺序向现有字符串添加新字符?

Java 6 应用程序无法从任何版本的 SDK 部署到 Google App Engine

anylogic - 工作轮类安排与特定代理的休息时间

java - Anylogic 中人流模拟中服务点的利用

java - 如何使这段代码不返回无限循环?

java - 如何将实现 java.lang.Comparable 的类转换为实现 Scala.Ordered?