网淘吧来吧,欢迎您!

Statistics.States显示None的解决方案- General Questions

2026-04-21 新闻来源:网淘吧 围观:5
电脑广告
手机广告

Gene

大家好

我想通过动态文本显示机器状态,我选择了 Statistics.States,但显示为 None。下拉选项中我应该选择哪个选项?



谢谢

试试“Statistics States”组件,将“Mode”设置为“CurrentState”



谢谢,但我只需要显示处理节点。另外,我倾向于不改变颜色。所以,如果动态文本组件中有选项会更好。

Gene,你好:
我认为这是因为Statistics.States返回的类型与getProperty()方法无法处理。


您可以按以下方式在目标组件中添加脚本。它将创建一个字符串属性,并将其链接到组件统计行为的当前状态。

然后让动态文本引用该属性。



from vcScript import *

comp = getComponent()
app = getApplication()
sim = getSimulation()

def get_current_state_prop():
  STATE_PROPERTY_NAME = "current state"
  show_stat = comp.getProperty(STATE_PROPERTY_NAME)
  if not show_stat:
    show_stat = comp.createProperty(VC_STRING, STATE_PROPERTY_NAME)
  return show_stat
  
statistics = comp.findBehavioursByType(VC_STATISTICS)[0]
state = get_current_state_prop()

def OnSimulationUpdate(simtime):
  global state
  state.Value = statistics.State

嗨,Yujie

感谢回复,我有两个问题想请教:

  1. 在哪里添加 Python 脚本?
  2. 组件和动态文本都需要添加 Python 脚本吗?

只需将脚本添加到你想监控的目标组件中。
然后像往常一样使用动态文本,但引用“当前状态”,或者如果你愿意可以重命名它。

eCat 已更新,选项中新增了统计状态功能,参考了 yujie 的方法,移除了延迟处理方式,改用 OnSimulationUpdate 事件来更新文本。

1 点赞

各位,这个方法有效!谢谢。

1 点赞
免责申明
部分文章来自各大搜索引擎,如有侵权,请与我联系删除。
打赏

文章底部电脑广告
手机广告位-内容正文底部

相关文章

您是本站第781692名访客 今日有96篇新文章/评论