常用spaceclaim脚本(二)
#创建一个草图
#第一个参数传入一个Frame对象
#通过一个点和两个向量创建Frame
#Frame的类成员函数Create被重载
#重载函数1:Frame.Create(Point, Direction)
#第一个参数为一个点
#第二个参数为面法向向量
#重载函数2:Frame. Create(Point, Direction, Direction)
#第一个参数为面上的一个点
#第二个和第三个参数为面上的向量
#调用ViewHelper.SetSketchPlane函数在选中对象的基础上创建一个草图
#该函数也重载了两个函数
#重载函数1:SetSketchPlane(ISelection)
#参数为一个Selection的对象
#重载函数2:SetSketchPlane(Plane, ScriptObject)
#第一个参数为前面创建的平面
#第二个参数为可选参数,默认为null
#返回一个SetViewModeCommandResult对象
plane = Plane.Create(Frame.Create(Point.Create(MM(0), MM(0), MM(0)), Direction.Create(0, 0, 1), Direction.Create(1, 0, 0)))
result = ViewHelper.SetSketchPlane(plane)

#旋转草图
rotationAxis = Line.Create(
Point.Create(MM(0), MM(0), MM(0)),
Direction.Create(1, 0, 0)) #定义旋转轴
matrix = Matrix.Identity #定义一个矩阵
matrix = matrix * Matrix.CreateRotation(rotationAxis, DEG(90)) #创建一个旋转矩阵
ViewHelper.TransformSketchPlane(matrix) #将草图旋转一个角度

#平移草图
plane = Plane.Create(Frame.Create(Point.Create(MM(0), MM(20), MM(0)), Direction.Create(0, 0, 1), Direction.Create(1, 0, 0)))
result = ViewHelper.SetSketchPlane(plane)
matrix = Matrix.Identity
matrix = matrix * Matrix.CreateTranslation(Vector.Create(MM(0), MM(20), MM(0)))
ViewHelper.TransformSketchPlane(matrix)

#草图转换为三维模式
#转换函数重载了两个函数
#重载函数1 :ViewHelper.SetViewMode(InteractionMode, IScriptObject)
#第一个参数为交互模式,分别为草图模式,剖面模式,三维模式
#第二个参数为可选参数,附加参数,默认值为null
#重载函数2:ViewHelper.SetViewMode(InteractionMode, Plane, IScriptObject)
#第一个参数为交互模式,分别为草图模式,剖面模式,三维模式
#第二个参数为草图平面
#第三个参数为可选参数,附加参数,默认值为null
#返回值为一个SetViewModeCommandResult对象
交互模式可选参数
|
名称 |
值 |
描述 |
|
Sketch |
0 |
草图模式 |
|
Section |
1 |
剖面模式 |
|
Solid |
2 |
三维模式 |
result = ViewHelper.SetViewMode(InteractionMode.Solid)

#草图当中创建一条直线
#创建直线函数重载了三个函数
#重载函数1:SketchLine.Create(Point2D, Point2D)
#第一个参数为直线的起点
#第二个参数为直线的终点,起点和终点的坐标皆为激活平面上的二维坐标
#重载函数2:SketchLine. Create(Point, Point, Plane)
#第一个参数为起点坐标
#第二个参数为终点坐标
#第三个参数为可选参数,默认为null,即当前草图
#返回一个SketchCurveResult对象
重载函数1示例:
frame= Frame.Create(Point.Create(MM(0), MM(0), MM(0)), Direction.Create(0, 1, 0), Direction.Create(1, 0, 0))
plane= Plane.Create(frame)
ViewHelper.SetSketchPlane(plane)
start = Point2D.Create(MM(-8), MM(17))
end = Point2D.Create(MM(-8), MM(-21))
result = SketchLine.Create(start, end)
重载函数2示例:
start = Point.Create(MM(-8), MM(17),MM(0))
end = Point.Create(MM(-8), MM(-21) ,MM(0))
result = SketchLine.Create(start, end)

#草图当中创建一个矩形
#创建矩形的函数重载了三个函数
#重载函数1:SketchRectangle. Create(Point, Point, Point)
#三个参数分别为矩形的三个角上的坐标,从而确定矩形
#重载函数2:SketchRectangle.Create(Point2D, Point2D, Point2D)
#三个参数为矩形的三个角上的坐标,但这个坐标为当前激活平面上的二维坐标
#重载函数3:SketchRectangle. Create(IRectangle)
#参数为IRectangle对象
#返回一个SketchCurveResult对象
重载函数1示例:
point1 = Point.Create(MM(15),MM(-15),MM(0))
point2 = Point.Create(MM(-15),MM(-15),MM(0))
point3 = Point.Create(MM(-15),MM(15),MM(0))
result = SketchRectangle.Create(point1, point2, point3)
重载函数2示例:
plane = Plane.Create(Frame.Create(Point.Create(MM(0), MM(0), MM(0)), Direction.Create(0, 1, 0), Direction.Create(1, 0, 0)))
result = ViewHelper.SetSketchPlane(plane)
point1 = Point2D.Create(MM(15),MM(-15))
point2 = Point2D.Create(MM(-15),MM(-15))
point3 = Point2D.Create(MM(-15),MM(15))
result = SketchRectangle.Create(point1, point2, point3)

#草图当中创建一个圆形
#创建矩形的函数重载了三个函数
#重载函数1:SketchCircle.Create(Point2D, Double)
#第一个参数为圆心坐标,该坐标位于当前激活的平面上
#第二个参数为半径
#重载函数2:SketchCircle. Create(Point, Double, Plane)
#第一个参数为圆心
#第二个参数为半径
#第三个参数为可选参数,用来指定圆所在平面,默认为null,为当前平面
#重载函数3:SketchCircle.Create(Circle, Plane)
#第一个参数为Circle对象
#第二个参数为可选参数,用来指定圆所在平面,默认为null,为当前平面
#返回一个SketchCurveResult对象
重载函数1示例:
plane = Plane.Create(Frame.Create(Point.Create(MM(0), MM(0), MM(0)), Direction.Create(0, 1, 0), Direction.Create(1, 0, 0)))
result = ViewHelper.SetSketchPlane(plane)
circlepoint= Point2D.Create(MM(0),MM(0))
SketchCircle.Create(circlepoint, MM(10))
重载函数2示例:
plane = Plane.Create(Frame.Create(Point.Create(MM(0), MM(0), MM(0)), Direction.Create(0, 1, 0), Direction.Create(1, 0, 0)))
result = ViewHelper.SetSketchPlane(plane)
circlepoint= Point.Create(MM(0),MM(0),MM(0))
SketchCircle.Create(circlepoint, MM(10),plane)
重载函数3示例:
frame= Frame.Create(Point.Create(MM(0), MM(0), MM(0)), Direction.Create(0, 1, 0), Direction.Create(1, 0, 0))
plane= Plane.Create(frame)
radius= MM(10)
circle= Circle.Create(frame,radius)
SketchCircle.Create(circle,plane)

#草图当中创建一个多边形
#只有一个参数,用Polygon对象在草图上创建一个多边形
#返回一个SketchCurveResult对象
frame= Frame.Create(Point.Create(MM(0), MM(0), MM(0)), Direction.Create(0, 1, 0), Direction.Create(1, 0, 0))
innerRadius = MM(18) #内接圆的半径
numSides = 6 #多边形的边数
#创建一个多边形的对象
polygon = Polygon.Create(frame, innerRadius, numSides)
result = SketchPolygon.Create(polygon)

#草图当中创建一段圆弧
#创建圆弧的函数重载了三个函数
#重载函数1:SketchArc.Create(Point, Point, Point)
#第一个参数是圆弧的圆心坐标
#第二个参数是圆弧的起点坐标
#第三个参数是圆弧的终点坐标
#重载函数2:SketchArc.Create(Point2D, Point2D, Point2D)
#三个参数与上面同,但这个坐标为当前激活平面上的二维坐标
#重载函数3:SketchArc.Create(Circle, Interval)
#第一个参数为Circle的对象
#第二个参数为Interval的对象
#返回一个SketchCurveResult对象
重载函数1示例:
origin = Point.Create(MM(0), MM(0), MM(0))
start = Point.Create(MM(15), MM(0), MM(0))
end = Point.Create(MM(0), MM(15), MM(0))
SketchArc.Create(origin, start, end)

重载函数2示例:
frame= Frame.Create(Point.Create(MM(0), MM(0), MM(0)), Direction.Create(0, 1, 0), Direction.Create(1, 0, 0))
plane= Plane.Create(frame)
ViewHelper.SetSketchPlane(plane)
origin = Point2D.Create(MM(0), MM(0))
start = Point2D.Create(MM(15), MM(0))
end = Point2D.Create(MM(0), MM(15))
result = SketchArc.Create(origin, start, end)

#草图当中创建样条曲线
#第一个参数设置样条曲线是否是周期性,也就是样条曲线是否闭合
#第二个参数传入一个点坐标的列表
#返回一个SketchCurveResult的对象
frame= Frame.Create(Point.Create(MM(0), MM(0), MM(0)), Direction.Create(0, 1, 0), Direction.Create(1, 0, 0))
plane= Plane.Create(frame)
ViewHelper.SetSketchPlane(plane)
points = List[Point2D]()
points.Add(Point2D.Create(MM(-17), MM(-14)))
points.Add(Point2D.Create(MM(-1), MM(-7)))
points.Add(Point2D.Create(MM(6), MM(11)))
points.Add(Point2D.Create(MM(23), MM(19)))
points.Add(Point2D.Create(MM(29), MM(27)))
result = SketchNurbs.CreateFrom2DPoints(False, points)

#移动一个选中的对象
#MM表示的是以毫米作为单位
#该函数共有三个重载函数
#重载函数1:Move.Execute(ISelection, Vector, MoveOptions)
#第一个参数为选中的对象,可通过Selection.GetActive()获取
#第二个参数为移动的向量
#第三个参数为移动选项
#重载函数2:Move.Execute(ISelection, Frame, TransformType, Vector, MoveOptions)
#第一个参数为选中的对象,可通过Selection.GetActive()获取
#第二个为框架坐标系
#第三个为移动的类型
#第四个参数为移动的向量
#第五个为移动的选项
#重载函数3:Move.Execute(ISelection, Frame, TransformType, Double, MoveOptions)
#第一个参数为选中的对象,可通过Selection.GetActive()获取
#第二个为框架坐标系
#第三个为移动的类型
#第四个参数为移动距离
#第五个为移动的选项
#返回的是一个MoveResult的对象
注:
TransformType参数的取值如下:
|
名称 |
值 |
描述 |
|
TranslateX |
0 |
沿x轴移动 |
|
TranslateY |
1 |
沿y轴移动 |
|
TranslateZ |
2 |
沿z轴移动 |
|
RotateX |
3 |
绕x轴旋转 |
|
RotateY |
4 |
绕y轴旋转 |
|
RotateZ |
5 |
绕z轴旋转 |
|
TranslateXY |
6 |
沿x,y平面移动 |
|
TranslateXZ |
7 |
沿x,z平面移动 |
|
TranslateYZ |
8 |
沿y,z平面移动 |
重载函数1:
Move.Execute(Selection.GetActive(),Vector.Create(MM(40),MM(0),MM(0)), MoveOptions())
重载函数2:
Move.Execute(Selection.GetActive(), Frame.World, TransformType.TranslateX, Vector.Create(MM(40),MM(0),MM(0)), MoveOptions())
重载函数3:
Move.Execute(Selection.GetActive(), Frame.World, TransformType.TranslateX, MM(40), MoveOptions())

#填充一个选中的对象
#第一个参数为填充的对象
#第二个参数为可选参数,默认值为null
#第三个参数为可选参数,填充选项,默认值为null
#第四个参数为可选参数,填充模式,默认值为null
#第五个参数为可选参数,默认值为null
#返回一个CommandResult的对象
第四个参数的取值如下:
|
名称 |
值 |
描述 |
|
Sketch |
0 |
Sketch mode |
|
Section |
1 |
Section mode |
|
Layout |
2 |
Layout mode |
|
ThreeD |
3 |
3D mode |
result = Fill.Execute(Selection.GetActive())

常用spaceclaim脚本(二)的更多相关文章
- 运维常用shell脚本二(压缩文件、过滤不需要的文件、检测进程)
一.压缩指定目录下的文件并删除原文件 #!/bin/bashZIP_DAY=7 function zip { local dir=$1 if [ -d $dir ];then local file_n ...
- 常用spaceclaim脚本(三)
拉伸曲线 ptList=List[Point]() #定义一个点的列表 ptList.Add(Point.Create(MM(11),MM(-14),MM(0))) #创建点,并放入列表当中 ptLi ...
- 常用spaceclaim脚本
#创建一个长方体,通过两点来确定一个立方体 #MM表示的是以毫米作为单位 #返回的是一个BlockBody的对象 #本函数还有第三个参数可选,分别代表增加材料,切除材料等等 #默认值为增加材料 注:第 ...
- Linux常用Shell脚本珍藏【转载】
我们在运维中,尤其是linux运维,都知道脚本的重要性,脚本会让我们的 运维事半功倍,所以学会写脚本是我们每个linux运维必须学会的一门功课,这里收藏linux运维常用的脚本.如何学好脚本,最关键的 ...
- 8个DBA最常用的监控Oracle数据库的常用shell脚本
本文介绍了8个常用的监控数据shell脚本.首先回顾了一些DBA常用的Unix命令,以及解释了如何通过Unix Cron来定时执行DBA脚本.网上也有好多类似的文章,但基本上都不能正常运行,花点时间重 ...
- 性能测试—JMeter 常用元件(二)
性能测试—JMeter 常用元件(二) <零成本web性能测试>第三章 Web性能测试脚本录制与开发中JMeter常用测试元件 测试计划描述了JMeter运行时将会执行的一系列步骤,一个完 ...
- 常用shell脚本命令
常用shell脚本命令 1.显示包含文字aaa的下一行的内容: sed -n '/aaa/{n;p;}' filename 2.删除当前行与下一行的内容: sed -i '/aaa/{N;d;}' f ...
- C#构造方法(函数) C#方法重载 C#字段和属性 MUI实现上拉加载和下拉刷新 SVN常用功能介绍(二) SVN常用功能介绍(一) ASP.NET常用内置对象之——Server sql server——子查询 C#接口 字符串的本质 AJAX原生JavaScript写法
C#构造方法(函数) 一.概括 1.通常创建一个对象的方法如图: 通过 Student tom = new Student(); 创建tom对象,这种创建实例的形式被称为构造方法. 简述:用来初 ...
- SpaceClaim脚本功能(Beta功能)
本操作仅适用ANSYS SpaceClaim 2016 打开SpaceClaim脚本编辑器的方法有两种 方法一(看截图操作): 方法二(请见后面的实例操作). 创建球体源代码: #定义 ...
随机推荐
- 从 SimpleIntegerProperty 看 Java属性绑定(property binding) 与 观察者模式(Observable)
//TODO:ExpressionHelper .bindBidirectional双向绑定.以及IntegerExpression的一系列算术方法和返回的IntegerBinding暂未详细解析(比 ...
- Java 之 Servlet 3.0
Servlet 3.0 好处: 支持注解配置,不需要 web.xml 文件了. 步骤: (1)创建 Java EE 项目,注意:JavaEE 版本必须6.0以上才支持Servlet3.0,可以不创建 ...
- Nginx 操作响应头信息的实现
前置条件:需要编译 ngx_http_headers_module 模块,才支持 header 头信息操作 add_header 意思为将自定义的头信息的添加到响应头,指令为 add_header n ...
- mysql死锁检查
1.查看当前数据库进程 show processlist; show full processlist; #前者只显示前100条,后者显示所有的进程 2.一键杀死某个用户的所有进程 select ...
- Python学习日记(二十三) 类命名空间和组合
类命名空间 在一个类中它的函数(方法)属于动态属性,直接定义的变量属于静态属性 首先先定义一个类,并在这个类里面加入静态变量.属性等然后将一个对象实例化 class Fighter: #定义一个战机的 ...
- MySQL Backup--Xtrabackup备份设置锁等待问题
问题描述 innobackupex备份过程需要保证备份数据一致性,通过刷新表缓存和加全局读锁(FLUSH TABLES WITH READ LOCK)获取备份位点,而为防止锁等待超时,会先设置: SE ...
- 01-HTML基本介绍
本篇主要介绍HTML相关标签的使用,以及其常用标签的作用等介绍. 一.HTML的介绍 HTML是 HyperText Mark-up Language 的首字母简写,意思是超文本标记语言,超文本指的是 ...
- WLAN实验1:划分不同VLAN及Acess配置
实验环境 公司是一个较大的局域网,二层交换机S1放置在一楼,一楼有IT部门和人事部门.二层交换机S2放置在二楼,二楼有市场部和研发部.公司的策略是:不同部门的主机之间不能相互通信,同一部门的主机才可以 ...
- 交互式计算引擎MOLAP篇
交互式计算引擎MOLAP篇 摘自:<大数据技术体系详解:原理.架构与实践> MOLAP是一种通过预计算cube方式加速查询的OLAP引擎,它的核心思想是“空间换时间”,典型代表包括Drui ...
- Spring Boot文档
本文来自于springboot官方文档 地址:https://docs.spring.io/spring-boot/docs/current/reference/html/ Spring Boot参考 ...