拉伸曲线

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

ptList.Add(Point.Create(MM(11),MM(-14),MM(0))) #创建点,并放入列表当中

ptList.Add(Point.Create(MM(22),MM(2),MM(0))) #创建点,并放入列表当中

ptList.Add(Point.Create(MM(20), MM(25),MM(0))) #创建点,并放入列表当中

ptList.Add(Point.Create(MM(24), MM(41),MM(0))) #创建点,并放入列表当中

ncurve = NurbsCurve.CreateThroughPoints(False, ptList, 0.0001) #创建一个样条曲线穿过所有创建的点

curveSegment = CurveSegment.Create(ncurve) #创建一个有限线段对象

designCurve = DesignCurve.Create(GetRootPart(),curveSegment) #创建DesignCurve对象

selection = Selection.Create(designCurve) #将DesignCurve对象选入

options = ExtrudeEdgeOptions() #定义一个拉伸曲线的选项,后面传入拉伸选项当中

options.PullSymmetric = False #是否双向拉伸

options.Copy = False #是否拷贝拉伸的曲线到最终位置

options.ExtrudeType = ExtrudeType.None #拉伸的类型

result = ExtrudeEdges.Execute(selection, Point.Create(MM(0), MM(0), MM(0)), Direction.Create(0, 0, 1), MM(20), options) #拉伸,该函数一共有两个重载函数

导圆角(导直角还无法实现)

result=BlockBody.Create(Point.Create(MM(-10), MM(-10), MM(-10)), Point.Create(MM(10), MM(10), MM(10))) #创建一个正方体

selection = Selection.Create(result.CreatedBody.Edges) #选中正方体的所有边

result = ConstantRound.Execute(selection, MM(2)) #倒角,该函数一共有两个重载函数,这里用到的函数,第一个参数为倒角的边,第二个参数为倒角的半径,第三个参数为默认参数,默认参数为null

偏移边

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

ptList.Add(Point.Create(MM(11),MM(-14),MM(0))) #创建点,并放入列表当中

ptList.Add(Point.Create(MM(22),MM(2),MM(0))) #创建点,并放入列表当中

ptList.Add(Point.Create(MM(20), MM(25),MM(0))) #创建点,并放入列表当中

ptList.Add(Point.Create(MM(24), MM(41),MM(0))) #创建点,并放入列表当中

ncurve = NurbsCurve.CreateThroughPoints(False, ptList, 0.0001) #创建一个样条曲线穿过所有创建的点

curveSegment = CurveSegment.Create(ncurve) #创建一个有限线段对象

designCurve = DesignCurve.Create(GetRootPart(),curveSegment) #创建DesignCurve对象

selection = Selection.Create(designCurve) #将DesignCurve对象选入

options = ExtrudeEdgeOptions() #定义一个拉伸曲线的选项,后面传入拉伸选项当中

options.PullSymmetric = False #是否双向拉伸

options.Copy = False #是否拷贝拉伸的曲线到最终位置

options.ExtrudeType = ExtrudeType.None #拉伸的类型

result = ExtrudeEdges.Execute(selection, Point.Create(MM(0), MM(0), MM(0)), Direction.Create(0, 0, 1), MM(20), options) #拉伸,该函数一共有两个重载函数

selection = Selection.Create(GetRootPart().Bodies[0].Faces[0].Edges[3])

result = OffsetEdges.Execute(selection, MM(-9.82))

拉伸一个面

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

ptList.Add(Point.Create(MM(11),MM(-14),MM(0))) #创建点,并放入列表当中

ptList.Add(Point.Create(MM(22),MM(2),MM(0))) #创建点,并放入列表当中

ptList.Add(Point.Create(MM(20), MM(25),MM(0))) #创建点,并放入列表当中

ptList.Add(Point.Create(MM(24), MM(41),MM(0))) #创建点,并放入列表当中

ncurve = NurbsCurve.CreateThroughPoints(False, ptList, 0.0001) #创建一个样条曲线穿过所有创建的点

curveSegment = CurveSegment.Create(ncurve) #创建一个有限线段对象

designCurve = DesignCurve.Create(GetRootPart(),curveSegment) #创建DesignCurve对象

selection_curve = Selection.Create(designCurve) #将DesignCurve对象选入

option_one = ExtrudeEdgeOptions() #定义一个拉伸曲线的选项,后面传入拉伸选项当中

option_one.PullSymmetric = False #是否双向拉伸

option_one.Copy = False #是否拷贝拉伸的曲线到最终位置

option_one.ExtrudeType = ExtrudeType.None #拉伸的类型

ExtrudeEdges.Execute(selection_curve, Point.Create(MM(0), MM(0), MM(0)), Direction.Create(0, 0, 1), MM(20), option_one) #拉伸,该函数一共有两个重载函数

selection_face = Selection.Create(GetRootPart().Bodies[0].Faces[0]) #选中对应的面

ThickenFaces.Execute(selection_face, Direction.Create(1, 1, 0), MM(60), ThickenFaceOptions()) #拉伸,第一个参数为拉伸的面,第二个参数为拉伸的方向,第三个参数为拉伸的长度,第四个参数为拉伸的相关设置,如果需要更进一步设置拉伸的相关参数,需要更详细的设置第四个参数

沿路径扫掠

CircularSurface.Create(MM(10), Direction.Create(0, 1, 0),Point.Create(MM(11),MM(-14),MM(0)))

selection=Selection.Create(GetRootPart().Bodies[0].Faces[0])

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

ptList.Add(Point.Create(MM(11),MM(-14),MM(0))) #创建点,并放入列表当中

ptList.Add(Point.Create(MM(22),MM(2),MM(0))) #创建点,并放入列表当中

ptList.Add(Point.Create(MM(20), MM(25),MM(0))) #创建点,并放入列表当中

ptList.Add(Point.Create(MM(24), MM(41),MM(0))) #创建点,并放入列表当中

ncurve = NurbsCurve.CreateThroughPoints(False, ptList, 0.0001) #创建一个样条曲线穿过所有创建的点

curveSegment = CurveSegment.Create(ncurve) #创建一个有限线段对象

curve_lenghth=curveSegment.Length

designCurve = DesignCurve.Create(GetRootPart(),curveSegment) #创建DesignCurve对象

pathselection=Selection.Create(designCurve) #将DesignCurve对象选入

options = SweepFaceCommandOptions()

options.KeepMirror = True

options.KeepLayoutSurfaces = False

options.KeepCompositeFaceRelationships = True

options.ExtrudeType = ExtrudeType.Add

options.KeepLayoutSurfaces = False

result = SweepFaces.Execute(selection, pathselection,curve_lenghth, options)

生成一个圆环

circle = CircularSurface.Create(MM(2), Direction.DirY, Point.Create(MM(10), MM(0), MM(20))) #首先创建一个圆面

selection = Selection.Create(circle.CreatedBody.Faces[0]) #选中圆面

RevolveFaces.Execute(selection, Line.Create(Point.Origin, Direction.DirZ), DEG(360), RevolveFaceOptions()) #旋转函数有两个函数,这里应用的函数,第一个参数为旋转的面,第二个为旋转轴,这里通过原点和z轴确定,注意Line是矢量,第三个参数为旋转的角度,第四个参数为更进一步设置旋转的参数选项

放样

loft_face=List[DesignFace]() #创建一个DesignFace的列表

CircularSurface.Create(MM(10), Direction.Create(0, 0, 1)) #创建第一个圆面

loft_face.Add(GetRootPart().Bodies[0].Faces[0]) #将第一个圆面添加到列表当中

CircularSurface.Create(MM(20), Direction.Create(0, 0, 1),Point.Create(MM(0),MM(0),MM(30))) #创建第二个圆面

loft_face.Add(GetRootPart().Bodies[1].Faces[0]) #将第二个圆面添加到列表当中

selection = Selection.Create(loft_face) #通过列表,选中圆面

result = Loft.Create(selection) #放样

更加详细的设置可参考下面的设置:

loft_face=List[DesignFace]() #创建一个DesignFace的列表

CircularSurface.Create(MM(10), Direction.Create(0, 0, 1)) #创建第一个圆面

loft_face.Add(GetRootPart().Bodies[0].Faces[0]) #将第一个圆面添加到列表当中

CircularSurface.Create(MM(20), Direction.Create(0, 0, 1),Point.Create(MM(0),MM(0),MM(30))) #创建第二个圆面

loft_face.Add(GetRootPart().Bodies[1].Faces[0]) #将第二个圆面添加到列表当中

selection = Selection.Create(loft_face) #通过列表,选中圆面

options = LoftOptions() #创建一个放样选项类的对象

options.GeometryCommandOptions = GeometryCommandOptions() #设置放样的几何

options.GeometryCommandOptions.KeepMirror = True options.GeometryCommandOptions.KeepLayoutSurfaces = True

options.GeometryCommandOptions.KeepCompositeFaceRelationships = True

options.GeometryCommandOptions.Select = True

options.PeriodicBlend = False #是否是一个闭合的放样

options.RotationalBlend = False #是否是一个旋转的放样

options.SheetMetalBlend = False #是否是金属面板混合

options.ClockIt = False

options.IsRuled = False

options.IsLocalGuide = False #是否使用本地导轨

options.ExtrudeType = ExtrudeType.Add #放样的方式为增加材料

result = Loft.Create(selection, None, options) #放样,本函数有三个参数,第一个参数选择放样的对象;第二个参数为可选参数,导轨的选择,默认为null;第三个参数也是可选参数,对放样的相关设置,默认为null

抽壳

#创建一个正方体

result = BlockBody.Create(Point.Create(MM(-10), MM(-10), MM(-10)), Point.Create(MM(10), MM(10), MM(10)))

selection = Selection.Create(result.CreatedBody) #选中生成的正方体

Shell.ShellBodies(selection, MM(-1)) #抽壳,该函数第一个参数为抽壳的对象,第二个参数为抽壳偏移的厚度

抽壳去掉某一面

result = BlockBody.Create(Point.Create(MM(-10), MM(-10), MM(-10)), Point.Create(MM(10), MM(10), MM(10))) #创建一个正方体

remove_face=result.CreatedBody.Faces[0] #选中删除的面

selection = Selection.Create(remove_face) #创建一个删除面的选择对象

result = Shell.RemoveFaces(selection, MM(-1)) #抽壳删除面,第一个参数为删除的面,第二个参数为抽壳偏移的厚度

常用spaceclaim脚本(三)的更多相关文章

  1. 常用spaceclaim脚本(二)

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

  2. 常用spaceclaim脚本

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

  3. jQuery中的常用内容总结(三)

    jQuery中的常用内容总结(三) 转载请注明地址:http://www.cnblogs.com/funnyzpc/p/7571998.html 内容提要 选择器(第一节) 选择器的扩展方法(第一节) ...

  4. linux 常用命令(三)ssh

    linux 常用命令(三)SSH 一.SSH 安装及免密登陆 (1) SSH 安装并配置 CentOS 默认已安装了 SSH client.SSH server,打开终端执行如下命令进行检验 rpm ...

  5. 8个DBA最常用的监控Oracle数据库的常用shell脚本

    本文介绍了8个常用的监控数据shell脚本.首先回顾了一些DBA常用的Unix命令,以及解释了如何通过Unix Cron来定时执行DBA脚本.网上也有好多类似的文章,但基本上都不能正常运行,花点时间重 ...

  6. 常用shell脚本命令

    常用shell脚本命令 1.显示包含文字aaa的下一行的内容: sed -n '/aaa/{n;p;}' filename 2.删除当前行与下一行的内容: sed -i '/aaa/{N;d;}' f ...

  7. Linux常用Shell脚本珍藏【转载】

    我们在运维中,尤其是linux运维,都知道脚本的重要性,脚本会让我们的 运维事半功倍,所以学会写脚本是我们每个linux运维必须学会的一门功课,这里收藏linux运维常用的脚本.如何学好脚本,最关键的 ...

  8. Python学习 :常用模块(三)----- 日志记录

    常用模块(三) 七.logging模块 日志中包含的信息应有正常的程序访问日志,还可能有错误.警告等信息输出 python的 logging 模块提供了标准的日志接口,你可以通过它存储各种格式的日志, ...

  9. windows常用bat脚本

    windows常用bat脚本 https://blog.csdn.net/longyan_csc/article/details/78737722 Windows_批处理+任务计划实现文件夹定时备份 ...

随机推荐

  1. 启动Nginx服务失败:Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details.

    首次接触nginx,安装完使用命令 service nignx restart  后,出现这个错误,并按照提示给出的命令查看错误详情  systemctl status nginx.service   ...

  2. Android架构组件——ViewModel

    概述 ViewModel,从字面上理解的话,它肯定是跟视图(View)以及数据(Model)相关的.正像它字面意思一样,它是负责准备和管理和UI组件(Fragment/Activity)相关的数据类, ...

  3. 【填坑】Ubuntu安装vsftpd

    1.安装vsftpdsudo apt-get install vsftpd 安装完毕后或许会自动生成一个帐户"ftp",/home下也会增加一个文件夹.如果没有生成这个用户的话可以 ...

  4. 小程序canvas绘制倒计时

    如果本文对你有用,请爱心点个赞,提高排名,帮助更多的人.谢谢大家!❤ 如果解决不了,可以在文末进群交流. 效果展示: //广告倒计时 advTimeCountDown:function(advTime ...

  5. H3C 802.11n

  6. 191012 python3关于空格打印、赋值、+=符号的小坑

    1. python3中,直接打印空格不显示,不论是pycharm,cmd命令窗口,还是linux中,都有尝试,但是空格' '不能显示出来: # 打印菱形,只能用center方法for i in ran ...

  7. Python_Day2_共享你的代码

    一.编写简单的函数,保存一下. # coding=utf-8 """ 这是“nester.py”模块,提供了一个名为print_lol的函数,这个函数的作用是打印列表,其 ...

  8. 华为云和开源Istio运维管理对比样例应用部署

    前言 在公有云方面,华为云已经率先将 Istio 作为产品投入到公有云中进行商业应用中,保持和开源istio高度兼容,做了商业化的运维管理界面,同时进行了性能优化.这里我们做一次验证测试. Booki ...

  9. C# 如何取消BackgroundWorker异步操作

    BackgroundWorker 在执行DoWork事件时该如何取消呢? 方法1 DoWork 执行一个(耗时)循环 方法2 DoWork执行一个(耗时)方法[注:方法没有循环] 见代码: 方法1中D ...

  10. P1402 酒店之王[网络瘤(正解)/匈牙利(错解)]

    题目描述 XX酒店的老板想成为酒店之王,本着这种希望,第一步要将酒店变得人性化.由于很多来住店的旅客有自己喜好的房间色调.阳光等,也有自己所爱的菜,但是该酒店只有p间房间,一天只有固定的q道不同的菜. ...