CST Studio Suite Python自动化学习笔记

news/2026/1/18 12:00:15/文章来源:https://www.cnblogs.com/gongye/p/19498141

前言

这CST Studio Suite 2026版给加了个Python自动化的教程,算是能学了。然而CST的底层全部基于VBA,Python的文档里的方法都写不全,还得去看VBA的文档,鉴定为不如PyAEDT。

基础调用

按照教程安装完成后,可以直接在VS Code里面调用cst库。

使用cst.interface.get_current_project()方法,可以直接获取到当前打开项目对应的Project类,不知道为什么教程把这个写在CST内部的Python解释器的一节中。

创建立方体

只能通过向History List中添加VBA命令来创建物体。文档中给了以下代码。

# define a String holding the VBA code for creating a Brick
vba_code = """
With Brick.Reset.Name "solid1".Component "component1".Material "PEC".Xrange "0", "3".Yrange "0", "4".Zrange "0", "5".Create
End With
"""# add the VBA code to the History List
prj.model3d.add_to_history("create brick", vba_code)

修改其中的值,就能添加不同位置的立方体/矩形面片。

add_to_history方法的第一个参数是显示在History List中的名称,可以用中文。

删除物体

参考文档中的代码。

def get_components_including(name: str, prj: cst.interface.Project) -> Iterator[str]:"""Create iterator to iterate over all 3D Components, whose name includes `name`."""for item in prj.model3d.get_tree_items():# split the pathsplit_item = item.split("\\")# make sure we are only deleting shapes or componentsif "Components" == split_item[0]:# search for our components (item-names are in last item of split_item)if name in split_item[-1]:# get componentscomponents = split_item[1:]# join components to the component path and appendcomponent_path = "/".join(components)# check if found item is a Componentif prj.model3d.Component.DoesExist(component_path):yield component_pathto_be_removed = "undefined_"for shape_path in get_shapes_including(to_be_removed, prj):# define the VBA code_examples & add to the history listdelete_vba = f'Solid.Delete "{shape_path}"'prj.model3d.add_to_history(f"delete shape: {shape_path}", delete_vba)

会在History List中添加一项删除。
看起来要彻底删除的话还是得研究一下VBA文档,只能先手动了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1178059.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

详细介绍:【040-安全开发篇】JavaEE应用SpringBoot框架JWT身份鉴权打包部署JARWAR

详细介绍:【040-安全开发篇】JavaEE应用&SpringBoot框架&JWT身份鉴权&打包部署JAR&WARpre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: b…

机械行业如何利用百度UE的JS截屏功能优化设计文档导入?

企业级文档处理解决方案 作为贵州教育行业集团的项目负责人,针对贵司在后台管理系统中增加Word粘贴和文档导入的需求,我提供以下专业解决方案,完全满足信创国产化要求。 技术架构设计 系统架构图 [客户端] ←HTTPS(SM4/AES)→ [网关层] ←…

CSS盒子模型:网页布局的基石与艺术

一、什么是盒子模型?每个HTML元素在浏览器中都被渲染为一个矩形盒子。CSS盒子模型描述了这些盒子如何构成:从内容区域开始,依次添加内边距、边框和外边距。理解盒子模型是掌握CSS布局的第一步。想象一下俄罗斯套娃:最内层&#xf…

射频-驻波比的理解

驻波比等于1时候说明馈线和天线的阻抗完全匹配:此时高频能量全部辐射出去,没有能量反射损耗。 驻波比大于1时候,表示有一部分反射回来 驻波比无穷大时候:表示全反射,

Gemini CLI快速运维

Gemini CLI快速运维使用Google CLI 可以在服务器上使用命令行调用Gemini API,这样就可以让AI自主抉择,并且方便AI自己读取文件,读取日志,读取执行命令的输出信息,避免了人为频繁在服务器和WEB版AI之间来回复制、粘…

Linux 基础开发工具详解(Yum, Vim, GCC, Make, GDB, Git) - 指南

Linux 基础开发工具详解(Yum, Vim, GCC, Make, GDB, Git) - 指南2026-01-18 11:54 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !i…

组合螺丝专业供应商靠谱吗,东层紧固件有哪些信任背书? - 工业品牌热点

一、基础认知篇 问题1:什么是组合螺丝?专业供应商需要具备哪些核心能力? 组合螺丝是将螺丝、弹垫、平垫预组装成一体的紧固件,安装时无需单独装配垫圈,能大幅提升装配效率,广泛应用于汽车、电子、钣金、新能源等…

复合式分板机国内选哪个厂家的产品好? - 工业品牌热点

随着电子制造行业对PCBA分板精度、效率要求的不断提升,复合式分板机作为兼顾铣削与切割优势的核心设备,逐渐成为SMT、汽车电子、医疗器械等领域的刚需。本文围绕复合式分板机哪家技术成熟、源头工厂哪家好、国内厂家…

Godot Win32

Godot Win32Godot windows 上使用的是 Windows API 编程模型(也称为 Win32 API 编程) Win32 API 编程

极端天气数据集 恶劣天气数据集 雾天道路行驶数据集 黑夜情境下的交通数据集 红绿灯检测数据集 疲劳驾驶检测数据集 交通路锥检测数据集 路面标识交通引导线 车道线检测数据集]

1.植物病虫害类数据集 玉米叶片病虫害数据集 /玉米虫害数据集 水稻叶片及虫害/大豆/小麦/苹果/柑橘葡萄/南瓜/樱桃/荔枝/农业病虫害类等等等 ** 2.交通类数据集** 极端天气数据集 恶劣天气数据集 雾天道路行驶数据集 黑夜情境下的交通数据集 红绿灯检测数据集 疲劳驾驶检测数据…

芯片制造企业网页如何集成百度开源上传组件实现文件夹上传?

前端老炮的20G文件夹上传大冒险(附部分代码) 各位前端同仁们,我是老张,一个在辽宁苦哈哈写代码的"前端民工"。最近接了个活,客户要求用原生JS实现20G文件夹上传下载,还要支持IE9!这简…

14.2 去中心化协同与导航:基于LIVEPOINT框架的无死锁多机器人系统

14.2 去中心化协同与导航:基于LIVEPOINT框架的无死锁多机器人系统 14.2.1 引言:中心化规划的局限与去中心化自治的需求 多机器人系统在仓库物流、园区配送、工业巡检等场景中的应用潜力巨大。传统解决方案多采用集中式架构,由一个中央服务器为所有机器人计算全局最优路径。…

机械制造行业网页如何用html5实现文件夹上传?

大文件上传方案设计与实现(政府信创环境兼容) 方案背景 作为北京某软件公司的开发人员,我负责为政府客户实现一个兼容主流浏览器和信创国产化环境的大文件上传系统。当前需求是支持4GB左右文件的上传,后端使用PHP,前…

14.3 任务分配与协同操作:从市场拍卖到分布式优化的多机器人协作

14.3 任务分配与协同操作:从市场拍卖到分布式优化的多机器人协作 14.3.1 引言:多机器人系统中的任务分配问题 多机器人系统的效能不仅取决于单个机器人的能力,更关键的是如何将一组任务高效、合理地分配给群体中的成员,并协调它们之间的操作以避免冲突、发挥协同效应。这…

基于SpringBoot+Vue网络办公自动化系统的设计与实现

博主主页:一点源码 博主简介:专注Java技术领域和毕业设计项目实战、Java微信小程序、安卓等技术开发,远程调试部署、代码讲解、文档指导、ppt制作等技术指导。 技术范围:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬…

15.1 机器人控制的伦理、安全与社会影响:技术成熟度伴随的责任审视

15.1 机器人控制的伦理、安全与社会影响:技术成熟度伴随的责任审视 15.1.1 引言:从技术可行性到社会可接受性 机器人技术,特别是具备自主决策与行动能力的先进机器人系统,正从受控的工业环境快速渗透至开放的公共空间与人类社会生活场景。这一演进将机器人控制的核心议题…

hadoop集群搭建 (超详细) 接入Impala、Hive,AI 大模型的数据底座 - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

仓库管理软件哪个好用,有没有最简单的出入库系统

常有人询问哪种仓库管理系统最为出色,或者哪一款是最佳选择。然而,从产品角度来看,并无绝对的最佳,只有最适合自身需求的系统。市面上仓库管理系统种类繁多,功能多样,操作简便与复杂并存,适用对…

15.2 技术融合与未来展望:AI、新材料与生物交叉驱动下的新形态与新能力

15.2 技术融合与未来展望:AI、新材料与生物交叉驱动下的新形态与新能力 15.2.1 引言:范式融合的必然性与驱动力 机器人技术的发展历来遵循一条清晰的主线:通过对感知、决策与执行能力的迭代升级,拓展其在物理世界中的作用范围与自…

skill-creator详细且实用的教程

下面是详细且实用的教程,教你怎么用 Github 上的 Anthropics Skills 仓库里的 skill-creator 来创建自己的 Claude Skills,这里面包括: ✅ 环境准备 ✅ 安装 skill-creator ✅ 使用示例(含完整提示词) ✅ 写 Skil…