全球FlexSim系统仿真中文论坛

搜索
查看: 4963|回复: 6
打印 上一主题 下一主题

货架属性修改

[复制链接]
跳转到指定楼层
1#
feng_gdd 发表于 2019-10-30 15:49:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在代码生成Rack的过程中,会遇到需要修改Rack的bay和level的情况。目前有两个问题:' i4 j: }+ a2 M
1,在代码里面修改Rack的bay和level的值之后,如何在3D模型中显示出修改后的Rack外观;) W, w/ l" l( U" _' J0 H: p
2,会存在一个Rack中不同的bay或level的值不一样,如何通过代码修改每个bay或者
) Q! S7 k" X9 e1 i8 T$ N$ J" Glevel的值,使Rack属性中bay or level最终显示的值为修改后的值。
, ]9 s/ K2 g9 T4 n% N0 s5 s# R+ b$ z1 w
2#
1780043361 发表于 2019-10-30 17:18:18 | 只看该作者
本帖最后由 1780043361 于 2019-10-31 09:28 编辑
4 _! @  I8 z8 J+ M4 i) `
( M3 m; E6 K) E! U5 S& a9 b试试这样的代码 ,底层原理我也不懂,只是用脚本执行了默认窗口的点击“应用”功能,能实现代码更改货架尺寸及不同层高度
, p3 k6 y' G8 P

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
3#
1780043361 发表于 2019-10-31 09:36:18 | 只看该作者
1780043361 发表于 2019-10-30 17:18
: Y+ I% W  H+ r5 k! u4 x8 h2 z: o试试这样的代码 ,底层原理我也不懂,只是用脚本执行了默认窗口的点击“应用”功能,能实现代码更改货架尺 ...
) G! d+ d1 V5 D$ |) v- M8 s
有没有大佬可指点下(1)如我上图中的模型,在我关闭了货架的属性窗口后,VIEW:/active下面代表货架属性窗口的节点(图中红框所示)已经消失,但为何却没有影响我后续的对该对象的引用及执行  (2)如何能直接返回某个对象当前已经打开的GUI窗口的引用,如图中货架所对应的红框中的节点。
4#
 楼主| feng_gdd 发表于 2019-10-31 11:25:30 | 只看该作者
1780043361 发表于 2019-10-30 17:18
9 S/ K( O. l: j) `& J试试这样的代码 ,底层原理我也不懂,只是用脚本执行了默认窗口的点击“应用”功能,能实现代码更改货架尺 ...

1 m0 e0 J- ^" J谢谢您提供的一个思路,这个操作是在每个Rack的 活动窗口中进行的,对于Rack数量较少时,这个操作是完全没问题的,可是对于货架数量很多时,这样操作会不会很影响效率,所以,可以考虑在单个节点上进行操作,希望有思路了再互相分享,谢谢!
5#
1780043361 发表于 2019-10-31 14:51:32 | 只看该作者
feng_gdd 发表于 2019-10-31 11:25" }' h$ q! c. s' i
谢谢您提供的一个思路,这个操作是在每个Rack的 活动窗口中进行的,对于Rack数量较少时,这个操作是完全 ...
6 t6 o% w3 k# c# }4 a6 T. `; B6 N
改进了一下 绕过了GUI的环节, 这样更新多个货架的属性会方便些
  1. treenode rack = node("RACK", model());//根据名称“RACK”引用货架; d1 k/ {" ?% v6 o4 K7 I7 J* L
  2. function_s(node("/?Rack", library()),"BasicRefreshTable",rack,4,2,1,2);//设置层数 列数 高 宽
    9 V9 C9 R( M# w1 L
  3. treenode sizetable = getvarnode(rack, "sizetable");//获取货架的尺寸表格9 r7 G, {0 O7 I5 d% g. s" X0 ?
  4. settablenum(sizetable,1,1,2);//设置第一列第一层高度为2
    ) w6 V! O3 E6 _: P
  5. function_s(node("/?Rack", library()), "RefreshTable", rack);//可直接更新
    4 l! n& M6 W5 |4 z% n( n
  6. repaintview(current);
复制代码
) [& e# c1 Z4 E7 J5 t5 W& `2 @

% h# M6 z: Z3 `4 ~# w  x, T
6#
 楼主| feng_gdd 发表于 2019-10-31 19:28:20 | 只看该作者
1780043361 发表于 2019-10-31 14:51
/ ]. X$ p$ Z. c2 O/ N: x* A改进了一下 绕过了GUI的环节, 这样更新多个货架的属性会方便些
8 l5 J# |& {9 e9 X7 }; s* b3 O
请问您这样操作完成后,货架在3D模型中还是连续的吗,我刚才试了下,这样操作完成后的货架是断断续续的,不是完整的货架
7#
 楼主| feng_gdd 发表于 2019-10-31 20:18:55 | 只看该作者
1780043361 发表于 2019-10-31 14:51
6 T8 f/ O+ z# l) q5 g改进了一下 绕过了GUI的环节, 这样更新多个货架的属性会方便些
" l' Z9 b+ h9 @" }* M. ]; j
  1. function_s(node("/?Rack",library()),"BasicRefreshTable",rackm,content(addbaym),content(baym),setlevelnum,setbaynum);
复制代码
1 V! s5 m; \3 ^2 g
改成这样子1 o4 z/ T% A: l% c
  1. function_s(node("/?Rack",library()),"RefreshTable",rackm,content(addbaym),content(baym),setlevelnum,setbaynum);
复制代码

5 L* x! r# o& |6 n/ i3 ~4 K就可以了,我这边的实验结果很满意
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|全球FlexSim系统仿真中文论坛 ( 京ICP备14043114号-2 )

GMT+8, 2025-6-28 01:31 , Processed in 0.073631 second(s), 14 queries .

Powered by Discuz! X3.3© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表