import math #导入数学模块,因为会使用π

def x_comp(k,r,t): #定义x坐标的计算函数

return r * (k -1) * math.cos(t) + r * math.cos( (k - 1) *
t)

def y_comp(k,r,t): #定义y坐标的计算函数

return r * (k -1) * math.sin(t) - r * math.sin( (k - 1) *
t)

def z_comp(k,r,t): #定义z坐标的计算函数

return 0

k = 4  #一共由四条线组成

r = IN(1)  #半径

i = math.pi*2.0 / k / 10.0 #在各条线上取十个点,计算每个点的角度位置

def GenerateHypocycloidSegment(t,n, i):
#定义内摆线的生成函数

ptList = List[Point]() #定义一个点的列表

while t <= n: #循环每条线

ptList.Add(Point.Create(x_comp(k,r,t), y_comp(k,r,t),
z_comp(k,r,t))) #将点放入点的列表当中

t =
t + i #

#生成非均匀有理B样条曲线穿过所有的点

#第一个参数False表示曲线不具有周期性

#第二个参数表示曲线穿过的点

#第三个参数表示曲线的容差

ncurve = NurbsCurve.CreateThroughPoints(False, ptList,
0.0001)

#CurveSegment表示曲线段,用上面的曲线创建曲线段

curveSegment = CurveSegment.Create(ncurve)

#设计曲线两个参数

#第一个参数需要得到曲线的父类

#第二个参数表示需要设计的曲线

designCurve = DesignCurve.Create(GetPart(),
curveSegment)

index = 0 #曲线的索引

segment = math.pi*2.0 / k #每条曲线的角度

while index < k: #循环索引生成各条曲线

GenerateHypocycloidSegment(index*segment, (index+1)*segment, i)
#生成曲线

index = index + 1

spaceclaim脚本(内摆线)的更多相关文章

  1. SpaceClaim脚本功能(Beta功能)

    本操作仅适用ANSYS SpaceClaim 2016 打开SpaceClaim脚本编辑器的方法有两种 方法一(看截图操作):         方法二(请见后面的实例操作). 创建球体源代码: #定义 ...

  2. 常用spaceclaim脚本(三)

    拉伸曲线 ptList=List[Point]() #定义一个点的列表 ptList.Add(Point.Create(MM(11),MM(-14),MM(0))) #创建点,并放入列表当中 ptLi ...

  3. 常用spaceclaim脚本(二)

    #创建一个草图 #第一个参数传入一个Frame对象 #通过一个点和两个向量创建Frame #Frame的类成员函数Create被重载 #重载函数1:Frame.Create(Point, Direct ...

  4. 常用spaceclaim脚本

    #创建一个长方体,通过两点来确定一个立方体 #MM表示的是以毫米作为单位 #返回的是一个BlockBody的对象 #本函数还有第三个参数可选,分别代表增加材料,切除材料等等 #默认值为增加材料 注:第 ...

  5. spaceclaim脚本(线生成面体)

    #新建一个列表,用来保存修剪曲线(PS:修建曲线的意思是开始点和结束点不在一起,圆就不属于修建曲线) #注意和Line,Circle类型等的区别 curves = List[ITrimmedCurve ...

  6. SpaceClaim通过脚本创建新窗口

    下载安装SharpDevelop,下载地址:http://www.icsharpcode.net/OpenSource/SD/Download/Default.aspx#SharpDevelop3x ...

  7. Apache执行Python脚本

    由于经常需要到服务器上执行些命令,有些命令懒得敲,就准备写点脚本直接浏览器调用就好了,比如这样: 因为线上有现成的Apache,就直接放它里面了,当然访问安全要设置,我似乎别的随笔里写了安全问题,这里 ...

  8. SQL Server镜像自动生成脚本

    SQL Server镜像自动生成脚本 镜像的搭建非常繁琐,花了一点时间写了这个脚本,方便大家搭建镜像 执行完这个镜像脚本之后,最好在每台机器都绑定一下hosts文件,不然的话,镜像可能会不work 1 ...

  9. 分享一个SQLSERVER脚本(计算数据库中各个表的数据量和每行记录所占用空间)

    分享一个SQLSERVER脚本(计算数据库中各个表的数据量和每行记录所占用空间) 很多时候我们都需要计算数据库中各个表的数据量和每行记录所占用空间 这里共享一个脚本 CREATE TABLE #tab ...

随机推荐

  1. 浅谈对BFC的认识,以及用bfc解决浮动问题

    我们在前端的学习过程中常常会遇到BFC,用BFC来解决一些margin塌陷.margin合并清理浮动流的问题 那么问题来了,我们所说的BFC到底是个什么东西呢: 什么是BFC BFC(Block Fo ...

  2. 使用HBuilderX打包成app之后点击返回按钮让它返回上一个页面

    首先:下载引入mui.min.js文件,MUI框架mui-min.js文件github地址 https://github.com/dcloudio/mui 下载之后并在index.html文件中引入如 ...

  3. Matlab相关函数使用

    1.cat:拼接两个数组.

  4. [SOLVED] “Error 1067: The process terminated unexpectedly” on Windows 10, 7 & 8

    Windows background services enable Windows features function properly. If some errors happen to serv ...

  5. day35-python之协程

    1.协程 # import time # import queue # # def consumer(name): # # print("--->ready to eat baozi. ...

  6. FreeRTOS任务状态信息查询

    uxTaskPriorityGet():查询某个任务的优先级 vTaskPrioritySet():改变某个任务的任务优先级 uxTaskGetSystemState():获取系统中任务状态 vTas ...

  7. 利用ABAP 740的新关键字REDUCE完成一个实际工作任务

    ABAP 740从2013年发布至今已经过去很长的时间了,下面这张图来自SAP社区博客: ABAP News for Release 7.40 – What is ABAP 7.40? 图中的ABAP ...

  8. springboot启动后执行一段代码的方式

    文章转载自: https://www.cnblogs.com/zuidongfeng/p/9926471.html https://blog.csdn.net/zknxx/article/detail ...

  9. django获取数据queryset中的filter选项

    2.条件选取querySet的时候,filter表示=,exclude表示!=. querySet.distinct() 去重复__exact 精确等于 like 'aaa' __iexact 精确等 ...

  10. docker到底比LXC多了些什么

    看似docker主要的OS级虚拟化操作是借助LXC, AUFS只是锦上添花.那么肯定会有人好奇docker到底比LXC多了些什么.无意中发现 stackoverflow 上正好有人问这个问题, 回答者 ...