本文主要是介绍【仿真建模-anylogic】桥式起重机参数化桥架数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Author:赵志乾
Date:2024-06-04
Declaration:All Right Reserved!!!
问题:anylogic物料库中的桥式起重机只能静态指定桥架数,不符合模型参数化需求;
解决方案:在容器智能体中通过代码生成方式,进行桥式起重机的定制化;步骤如下:
// step1: 模型引入物料库依赖包// step2: 在additional class code部分添加如下声明
OverheadCraneDescriptor<物料智能体类型> overheadCraneDescriptor;
OverheadCrane overheadCrane;// step3: 在on startup部分添加初始化代码
overheadCraneDescriptor = new OverheadCraneDescriptor<物料智能体类型>( getEngine(), this, null );
overheadCraneDescriptor.movementMode = overheadCraneDescriptor._movementMode_DefaultValue_xjal();
overheadCraneDescriptor.accelerationEnabled = overheadCraneDescriptor._accelerationEnabled_DefaultValue_xjal();
OverheadCraneBridge[] bridges = new OverheadCraneBridge[bridgeNum];
for(int index = 0; index<bridgeNum; index++){bridges[index] = new OverheadCraneBridge((index+1)*3,5.0,goldenRod );
}
overheadCrane = new OverheadCrane<物料智能体类型>( this, SHAPE_DRAW_2D3D, true, //isPublictrue, //isObstacleoverheadCraneDescriptor, 70.0, 290.0, 0.0, 0.0, // x,y,z,rotation20.0, 10.0,10.0,1.0, 0.5, // 运行长度、天车宽、高、桥宽goldenRod, gray, // 天车、桥的颜色OVERHEAD_CRANE_GANTRY, // 天车绘制类型OVERHEAD_CRANE_GIRDER_DOUBLE_TIE, // 主梁绘制类型bridges // 桥
);Level customLevel = new Level(this, "customLevel ", SHAPE_DRAW_2D3D, 0.0, true, true);
customLevel.add(overheadCrane);
customLevel.initialize();
presentation.add(customLevel );
overheadCraneDescriptor.createAsEmbedded();
overheadCraneDescriptor.startAsEmbedded();
这篇关于【仿真建模-anylogic】桥式起重机参数化桥架数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!