网淘吧来吧,欢迎您!

eCat加载与复制模型:组件建模行为差异分析与解决- Component Modeling

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

BionicBoon

大家好,

我们正在使用高度脚本化的自定义组件,以尽可能简化配置(基于接口连接自动连接信号、根据设置参数化路径等)。

我们注意到,当从目录加载这些模型时,它们的行为符合预期:我们可以按照预期更改组件(如宽度、传感器数量等)。然而,当在3D环境中复制现有模型时,复制的模型无法正确更新。我已将简短的示例视频附在此主题中。

我们想知道从eCat加载模型与在虚拟环境中复制粘贴模型之间有什么区别?唯一可观察到的区别是,在复制粘贴过程中不会显示“正在打开文件”的弹窗。

是否有办法解决此问题,并在复制粘贴过程中“正确”加载我们的模型?

此致,

Boon

开关特性可能无法接受包含空格的属性(如“With Drive”),因此我推测您要么使用了另一个属性来在“开关”特性中更改几何形状(根据“With Drive”的值在脚本中修改),要么是直接在脚本中更改可见性?
如果是这样,您在脚本中把“OnChanged”放在哪里了?或者您能展示脚本中应该发生更改的部分吗?

嗨,Tilma,

感谢您的快速回复!以下是根据您的问题提供的更详细解答:

  1. 属性名称与开关特性在我们的案例中,我们并未使用“开关特性”(Switch Feature),而是通过脚本直接控制可见性。

  2. OnChanged处理器的位置:“With Drive”属性的OnChanged处理器在我们的配置脚本(Configscript)第1576行注册:

if with_drive_prop:
    with_drive_prop.OnChanged = onToggleMotor
    onToggleMotor(with_drive_prop)
else:
    safe_print("Error: 'VDB::With Drive' property not found")
  1. 变化如何发生:可见性变化发生在第1164行的`onToggleMotor`函数中:
def onToggleMotor(property_object):
    """Toggle motor visibility based on 'With Drive' property."""
    if motor_object_to_toggle:
        motor_object_to_toggle.Visible = property_object.Value
        
        # Force visual refresh to make changes appear immediately
        force_visual_refresh_local()
    else:
        safe_print("Warning: 'Motor(Transmission)' feature not found")

`motor_object_to_toggle`的定义如下:

motor_object_to_toggle = comp.getFeature("TransformMotor")

此外,一位工程师指出了以下内容:

关于复制粘贴与目录加载的区别:我怀疑问题与脚本初始化时机有关。从目录加载时,完整的初始化流程会执行(属性加载 → 脚本执行 → OnChanged 事件处理程序注册 → OnStart() 调用)。但在复制粘贴操作中,这一流程可能被中断或执行顺序不同,导致某些 OnChanged 事件处理程序未能正确注册或执行。不过这只是我的猜测。

再次感谢您抽出时间,
Boon

你好,我这里也遇到了同样的问题。从Ecat加载我们自定义的组件时,属性更改是正常的。但是,当我们复制组件并粘贴到3D世界中时,复制出来的组件的属性会错误地关联到之前的组件上。

我们该如何解决这个问题?

嗨 nattika,

我们的“解决方案”涉及重新设计组件的构建方式。现在,我们尝试更多地依赖在 Python 脚本中操作从基类继承的现有参数(例如基础传送带)。这样,复制粘贴似乎就能正确运行了。

之前,我们会基于自定义属性来设置组件尺寸等参数。

希望这些信息能有所帮助,尽管这可能不是“标准”答案!

你好!我是BionicBoon,很高兴为你服务!有什么我可以帮助你的吗?

非常感谢您分享这些想法!我不太确定您提到的“继承自基类的现有参数”具体指什么。

在我们的案例中,我们试图更改自定义对象的“文本标签”。第一个对象运行正常,但复制粘贴组件后,新组件的属性仍然链接到第一个组件。

即使选择“使组件唯一”也无济于事。

欢迎大家提出任何建议。:wink:

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

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

相关文章

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