全球FlexSim系统仿真中文论坛

标题: 发一个小案例:用draw命令画货架的外形及货架上货物摆放的一种方法 [打印本页]

作者: domcylai    时间: 2012-12-17 08:55
标题: 发一个小案例:用draw命令画货架的外形及货架上货物摆放的一种方法
发一个小案例:用draw命令画货架的外形及货架上货物摆放的一种方法

直接上图:
货架的外观可以用draw语句话(和openGL类似吧,我也不懂),值得注意的是,一般在CustomDrawCode中写代码,会被反复执行(当你的3D窗口开着的时候)。也就是说,代码优化很重要,如果你的脚本里循环很多,而且特殊结构语句互相嵌套,而函数调用多的话就容易使得电脑卡机。
[attach]1072[/attach]

有几个小技巧:
1.多用申明:比如说,在某循环体内,若果需要反复调用某个属性(假设货架某货格的位置),如果你反复只用xloc()等函数,那么在函数体内调用函数会是内存的消耗更高,  而如果你将这个值返回到一个变量上  比如:double rack_cell_xloc = xloc( the rack );  那么下面的脚本如果你使用这个 rack_cell_xloc变量,会让你的模型“更轻松”。
2.善用跳出语句break;   虽然这个模型没有用到,但是大家以后编程过程中,如果在某循环中已经得到需要的结果了,可以使用break来终止循环,  同理还有return。但后者通常是跳出整个脚本:

比如在某处理器发送至端口中:
  int type = getitemtype(item);
   if( type ==1)
      return 1;
   else return 2;

[attach]1073[/attach]


另外,设置货物的位置,需要了解货架的结构,大家(如果能打开树结构)一定要去看看货架在模型中的结构,以及货物所处的位置信息,  不多说了,上图,上模型:

[attach]1074[/attach]


——————————————————

[attach]1075[/attach]
作者: domcylai    时间: 2012-12-17 09:02
[attach]1076[/attach]
忘了一张图:

发给大家看看
作者: guozhongyun    时间: 2014-7-21 10:30
顶一个!代码的使用才是FlexSim的精髓所在!!
作者: 一骑绝尘    时间: 2014-9-17 21:47
如果place in bay 和 place in bay 中采用random ,运行楼主的案例,货物并都是并排放的。
http://www.flexsim.asia/viewthre ... hlight=%BB%F5%BC%DC  采用了label,若再结合Global Tables,加上楼主的“draw命令画货架”,应该可以解决大部分问题。
作者: xinglei    时间: 2014-12-8 19:39

作者: xinglei    时间: 2014-12-8 19:43

作者: 乙桓123    时间: 2015-4-27 20:24
学习学习
作者: 1010265352    时间: 2015-8-13 13:59
学习学习
作者: 657776724    时间: 2015-8-22 10:32
膜拜高手,下载学习!
作者: yuzhu    时间: 2015-12-25 14:30

作者: 涧边小草    时间: 2016-2-28 00:20
可是我想要设置货架的纵列为6,横列为4,层数为6,需要如何写关于横列设置的代码呢?谢谢
作者: 慧娴亚伦    时间: 2016-2-28 09:23
从您的描述上看,您可能需要是多个货架的组合,至于横列和层数的设置,直接在货架的尺寸设置中可以修改。




欢迎光临 全球FlexSim系统仿真中文论坛 (http://www.flexsimasia.com/) Powered by Discuz! X3.3