首页/文章/ 详情

SpaceClaim开发|02 脚本保存格式问题

精品
作者优秀平台推荐
详细信息
文章亮点
作者优秀
优秀教师/意见领袖/博士学历/特邀专家
平台推荐
内容稀缺
5天前浏览116

在利用SpaceClaim建模的时候,用户可以将每一步操作过程录制为脚本,以方便后续重复利用。

通过在点击 设计 选项卡中的 脚本 按钮可以打开脚本编辑器。

脚本编辑器界面如图所示。用户在SpaceClaim中进行的各种操作,会以python代码的形式记录在脚本编辑器中。默认情况下 录制 功能是启用的。

当录制了一些脚本后,可以选择保存脚本。SpaceClaim支持两种脚本文件格:scscript及py。其中scscript为二进制格式化,保存后无法在SpaceClaim的外部打开,只能在SpaceClaim中读取及运行。而py为文本格式,可以使用任意的文本编辑器打开及修改。

这两种格式存在一些区别,一般可以认为scscript格式更全面,所有类型的录制代码都快要被保存为scscript格式。py格式适用范围则更窄一些,有些操作录制的代码无法被保存为py格式。其中最大的区别是来自于用户在图形界面中的几何选择操作而录制的代码。

点击脚本编辑器的 插入选项 按钮,可以看到有三种模式:智能变量、索引、射线。当选择 智能变量 模式时,录制的代码通常只能存成scscript格式化,如果想要将脚本保存为py格式,则只能将 插入选项 指定为索引射线。当然,这三种类型形成的代码都快要保存成scscript格式化。

可以用一个简单的示例比较这三种插入选项形成的代码。以创建一个直径20,高20的圆柱体为例,

  • 智能变量
# Python Script, API Version = V251


# 草绘圆
origin = Point2D.Create(MM(0), MM(0))
result = SketchCircle.Create(origin, MM(10))
# EndBlock

# 实体化草绘
mode = InteractionMode.Solid
result = ViewHelper.SetViewMode(mode, Info3)
# EndBlock

# 拉伸 1 个面
selection = Face2
options = ExtrudeFaceOptions()
options.ExtrudeType = ExtrudeType.Add
result = ExtrudeFaces.Execute(selection, MM(20), options, Info4)
# EndBlock
  • 索引
# Python Script, API Version = V251


# 草绘圆
origin = Point2D.Create(MM(0), MM(0))
result = SketchCircle.Create(origin, MM(10))
# EndBlock

# 实体化草绘
mode = InteractionMode.Solid
result = ViewHelper.SetViewMode(mode, None)
# EndBlock

# 拉伸 1 个面
selection = FaceSelection.Create(GetRootPart().Bodies[0].Faces[0])
options = ExtrudeFaceOptions()
options.ExtrudeType = ExtrudeType.Add
result = ExtrudeFaces.Execute(selection, MM(20), options)
# EndBlock
  • 射线
# Python Script, API Version = V251

# 草绘圆
origin = Point2D.Create(MM(0), MM(0))
result = SketchCircle.Create(origin, MM(10))
# EndBlock

# 实体化草绘
mode = InteractionMode.Solid
result = ViewHelper.SetViewMode(mode, None)
# EndBlock

# 拉伸 1 个面
selection = FaceSelection.Create(GetRootPart().Bodies[0].Faces[0])
options = ExtrudeFaceOptions()
options.ExtrudeType = ExtrudeType.Add
result = ExtrudeFaces.Execute(selection, MM(20), options)
# EndBlock

可以看到,索引和射线模式生成的代码是相同的(案例太简单,如果复杂的案例会略有区别),但智能变量形式生成的代码则有比较大的区别,主要区别在于几何元素选择时,智能变量采用的是几何名称(如上面代码中的Face2)。需要注意,如果要在外部调用脚本,最好使用索引的形式,不容易出错,因为每次脚本调用时,几何元素的名称可能会有变化,采用智能变量形式容易出现错误。


来源:CFD之道
SpaceClaimACTpythonOrigin
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2025-03-20
最近编辑:5天前
CFD之道
博士 | 教师 探讨CFD职场生活,闲谈CFD里外
获赞 2597粉丝 11699文章 779课程 27
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈