加菲猫不爱吃猫粮 2024-03-11 09:01 采纳率: 20%
浏览 56
已结题

CST-Python联合仿真导出数据

以下是python控制CST导出文件的操作VBA,但是在仿真完成后它并没有执行,请问这是为什么

sCommand = [
    'SelectTreeItem ("1D Results\Modal Significance\Modal Significance Mode[1]")',
    'With ASCIIExport',
    '.Reset',
    '.FileName ("path\\mode.txt")',
    '.Execute',
    'End With']
sCommand = line_break.join(sCommand)
modeler.add_to_history('Get Modal Significance', sCommand)

  • 写回答

4条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-03-11 09:02
    关注

    引自免费微信小程序:皆我百晓生

    在您提供的Python控制CST导出文件的VBA代码片段中,似乎您试图通过构建一个字符串列表sCommand来模拟执行CST Studio Suite中的宏命令序列。然而,直接在Python中构造这样的字符串并不能自动地在CST环境中执行这些VBA命令。

    要实现CST-Python联合仿真并导出数据,通常需要使用CST Studio Suite API或者其COM接口(对于Windows系统)。下面是一个基本示例,展示如何通过Python的comtypes库与CST进行交互以执行类似的任务:

    import comtypes.client
    
    # 初始化CST Modeler对象
    modeler = comtypes.client.CreateObject("CSTDESIGNER.CstModeler")
    
    # 定义VBA命令
    vba_command = """
        SelectTreeItem ("1D Results\Modal Significance\Modal Significance Mode[1]")
        With ASCIIExport
            .Reset
            .FileName = "path\\mode.txt"
            .Execute
        End With
    """
    
    # 将VBA命令转换为CST可执行脚本
    script_command = f"ExecuteScript (\"{vba_command.replace('\"', '\\"')}\")"
    
    # 执行脚本并将操作添加到历史记录
    modeler.ExecuteScript(script_command)
    modeler.add_to_history('Get Modal Significance', script_command)
    

    请注意,上述代码依赖于您的环境已正确安装并配置了CST Studio Suite和comtypes库,并且路径"path\mode.txt"应当替换为实际存在的完整路径。此外,在某些版本的CST中,API调用可能有所不同,请确保查阅相关文档以获取准确的方法名称和参数。

    最后,确保该脚本在CST仿真完成并且模型加载后运行,否则可能会因为模型未准备好而导致命令无法执行。如果仿真过程是异步的,您可能需要监听仿真完成事件,然后触发数据导出。

    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 3月11日
  • 创建了问题 3月11日

悬赏问题

  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动
  • ¥20 对于工程问题的非线性数学模型进行线性化
  • ¥15 Mirare PLUS 进行密钥认证?(详解)
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
  • ¥20 想用ollama做一个自己的AI数据库
  • ¥15 关于qualoth编辑及缝合服装领子的问题解决方案探寻
  • ¥15 请问怎么才能复现这样的图呀