Inventor 2014 API 新功能 (5) 3D草图相交曲线

Inventor API学习 第一章 Inventor API基本概述 1. 课程目标——Agent API范例——API COM model 如何使用API——How do I access the API 对象模型——The Object Model 对象工具:browser,VBA debug——Object Model tools:Object browser,VBA debug 集合、枚举、接口——Collection、Enumerate、Inheritance 程序——The Application Onject 如何使用 阅读详情

通过曲面和曲面获取相交曲线是产品已经有的功能,2014 API全面支持了! 一个很直接的方法:

Sketch3D.IntersectionCurves.Add( EntityOne As Object, EntityTwo As Object ) As IntersectionCurve

EntityOne: 参与相交的第一个对象,可以是SurfaceBody, Face, WorkPlane 或 2D 草图曲线。 

EntityTwo:参与相交的第二个对象,可以是SurfaceBody, Face, WorkPlane 或 2D 草图曲线。 但注意一些限制:
                   如果第一个对象是WorkPlane ,则第二个参数不能是WorkPlane; 如果是集合类型的,例如Faces或FaceCollection, 则这些Face必须属于同一SurfaceBody.;如果第一对象是2D 草图线,则第二对象必须是另外草图的2D草图线。 

以下例子基于前面创建的样条曲线以及方程曲线,分别创建了其曲面,最后做相交工作。

Public Sub Sketch3DIntersectCurves()
    ' 创建零件文档.
    Dim partDoc As PartDocument
    Set partDoc = ThisApplication.Documents.Add(kPartDocumentObject, _
                  ThisApplication.FileManager.GetTemplateFile(kPartDocumentObject))
    Dim partDef As PartComponentDefinition
    Set partDef = partDoc.ComponentDefinition
                  
    ' 基于X-Y创建草图.
    Dim sketch1 As PlanarSketch
    Set sketch1 = partDef.Sketches.Add(partDef.WorkPlanes.Item(3))
    
    Dim tg As TransientGeometry
    Set tg = ThisApplication.TransientGeometry
    
    ' 创建样条曲线
    Dim pnts As ObjectCollection
    Set pnts = ThisApplication.TransientObjects.CreateObjectCollection
    Call pnts.Add(tg.CreatePoint2d(2, 0))
    Call pnts.Add(tg.CreatePoint2d(4, 1))
    Call pnts.Add(tg.CreatePoint2d(4, 2))
    Call pnts.Add(tg.CreatePoint2d(6, 3))
    Call pnts.Add(tg.CreatePoint2d(8, 1))
    Dim controlPointSpline As SketchControlPointSpline
    Set controlPointSpline = sketch1.skeSketchControlPointSplines.Add(pnts)
    
    ' 基于Y-Z创建草图
    Dim sketch2 As PlanarSketch
    Set sketch2 = partDef.Sketches.Add(partDef.WorkPlanes.Item(1))
    
    ' 创建方程曲线
    Dim equationCurve As SketchEquationCurve
    Set equationCurve = sketch2.SketchEquationCurves.Add(kParametric, kCartesian, _
                                ".001*t * cos(t)", ".001*t * sin(t)", 0, 360 * 3)                                
     
                            
    ThisApplication.ActiveView.Fit
    
    '通过样条曲线做拉伸曲面
    Dim prof As Profile
    Set prof = sketch1.Profiles.AddForSurface(controlPointSpline)
    Dim extrudeDef As ExtrudeDefinition
    Set extrudeDef = partDef.Features.ExtrudeFeatures.CreateExtrudeDefinition(prof, kSurfaceOperation)
    Call extrudeDef.SetDistanceExtent(6, kSymmetricExtentDirection)
    Dim extrude1 As ExtrudeFeature
    Set extrude1 = partDef.Features.ExtrudeFeatures.Add(extrudeDef)
    
    ' 设置曲面不透明
    Dim surf As WorkSurface
    Set surf = extrude1.SurfaceBodies.Item(1).Parent
    surf.Translucent = False
    
    '通过方程曲线做拉伸曲面
    Set prof = sketch2.Profiles.AddForSurface(equationCurve)
    Set extrudeDef = partDef.Features.ExtrudeFeatures.CreateExtrudeDefinition(prof, kSurfaceOperation)
    Call extrudeDef.SetDistanceExtent(9, kPositiveExtentDirection)
    Dim extrude2 As ExtrudeFeature
    Set extrude2 = partDef.Features.ExtrudeFeatures.Add(extrudeDef)
    
    ' 获取相交的3D曲线
    Dim interSketch As sketch3D
    Set interSketch = partDef.Sketches3D.Add
    
    Call interSketch.IntersectionCurves.Add(extrude1.SurfaceBodies.Item(1), extrude2.SurfaceBodies.Item(1))
End Sub



 

Inventor SDK入门---API创建零文档类型的Ribbon命令按钮 Inventor SDK入门---API创建零文档类型的Ribbon命令按钮,本文制作一个ZeroDoc环境下的Ribbon命令按钮。 阅读详情

相关推荐

关于Inventor中物理特性更新的API

在Inventor中物理特性在零部件创建完成后,属性不更新,那么需要使用MassProperty的API来实现。 代码如下: Sub updateMassProperties() Dim oDoc As PartDocument Set oDoc = ThisApplication.ActiveDocument '后台调用MassProperty Debug.print(oDoc.ComponentDefinition.MassProperties) End Sub 或者

qq_39300041的博客 1019

Inventor API: 2018版本开始API是在线帮助文档

原文链接: http://modthemachine.typepad.com/my_weblog/2017/03/inventor-api-help-is-online.html 一直以来,Inventor API的帮助文档都是以文件形式和产品安装(CHM ),而且某几个版本在某个特定路径,某几个又在其它路径。另外,当用户想对比一些版本与版本间差别时,除了连个相邻版本的差别对比,若需要更多版本查

Gear Up Cloud 5979

【新版】Inventor二次开发学习指南

以前曾写过一篇文章:http://blog.youkuaiyun.com/autodeskinventorapi/article/details/8120770。由于Autodesk University 中国已关闭,文章中很多链接失效,而且有些内容也需要更新。特作废以前那篇文章,另外撰写一篇新的,大部分内容雷同。软件预备Inventor 产品:可从Autodesk官方网站的Inventor产品目录下载试用...

Gear Up Cloud 1万+

关于Inventor api 二次开发 兼容不同版本

项目文件夹下,Autodesk.项目名称.addin 文件。SupportedSoftwareVersionGreaterThan属性对应的版本如下。

qq_45777216的博客 846

Inventor API: 如何在工程图里显示装配不同详细等级(LOD)的重量

这是一个Autodesk 论坛里发起的问题,有其他开发者贡献了一个样例。我觉得这个方案挺棒,就对其进行了优化和改造。其实思路很简单: 遍历装配的详细等级(LOD),激活每个等级为当前LOD,这时 iProperties.Mass 就返回当前的重量。把这个值写入一个自定义iProperties。在工程图里,创建文本,让文本绑定从模型来的iProperties,这样,就能显示对应的iProp

Gear Up Cloud 4792

CAD软件:Autodesk Inventor Aerospace二次开发_InventorAPI基础

InventorAPI是一个基于COM(Component Object Model)的接口,可以使用多种编程语言进行开发,最常用的是C#和VBA(Visual Basic for Applications)。InventorAPI提供了一系列类和方法,用于访问和操作Inventor中的各种对象,如零件、装配体、图纸等。COM接口是Windows操作系统中的一种技术,用于在不同的编程语言和应用程序之间进行通信。

kkchenjj的博客 1142

Inventor SDK入门---API设置零件材料

Inventor SDK入门---API设置零件材料

guoll8952的专栏 734

Autodesk Inventor API深入学习与实践指南

Autodesk Inventor 是一款广受欢迎的3D CAD设计软件,它为工程和产品设计师提供了一系列强大的工具,用于创建精确的3D模型和数字原型。在现代制造业领域,Inventor是设计流程不可或缺的一环,尤其对于需要精确模拟和分析的复杂零件和装配体。Autodesk Inventor不仅支持标准的CAD绘图和3D建模,还具备有限元分析(FEA)、运动仿真以及管道和电缆布线等高级功能。通过这些功能,设计师可以在真实环境下测试产品的性能和耐久性,从而在实际生产前优化设计。

weixin_31419153的博客 1232

Inventor之入门

1.Inventor SDK SDK是开发包的简称,安装产品后就装上了。位置在: Windows XP:     \SDK Windows Vista:  C:\Users\Public\Documents\Autodesk\Inventor \SDK Windows 7:      C:\Users\Public\Documents\Autodesk\Inventor\SDK

u012859921的博客 1080

inventor二次开发 用API C# 添加自定义界面

用inventorAPI C# 添加自定义界面: Autodesk Inventor二次开发时最先考虑的就是要在运行的软件界面上添加自定义的命令按钮或菜单,结合API帮助及网上的例子,本文采用VC#2015在INV2018的界面(无文档环境、零件环境、部件环境、FILE文件菜单)添加了自定义命令按钮,

inventor VBA 自动生成实体模型

利用VBA 一键生成实体模型....仅供学习....................................................................................................

Inventor API: 简单聊聊ReplaceReference , FileSaveAs, OnFileResolution

原文链接  http://adndevblog.typepad.com/manufacturing/2016/03/replacereference-vs-filesaveas-vs-onfileresolution.html 对装配,组件进行重命名,复制,文件丢失或移动后对装配的重新更新,重新引用,是Inventor开发中的一个重要和常用的需求。方法多样,都是为了让装配结构中的部件对

Gear Up Cloud 1611

Inventor API应用实例

Inventor API应用实例 以常用型材截面草绘库的建立为例, 简要介绍了以Invento r A P I 为接口, 用V isual Basic6. 0 二次开发Invento r 草绘功能的一般方法

Inventor SDK入门---用API创建具有旋转和拉伸特征的零件

利用给定的参数创建1个具有旋转和拉伸特征的零件

guoll8952的专栏 1175

Autodesk Inventor API学习

本学习资料是有关Autodesk公司的Inventor产品的API的编程和扩展。如果对图型建模有兴趣研究和学习的朋友可以看看。

openEuler在虚拟机的网络配置

ethernet0.virtualDev 可以配置成其他类型的虚拟网络适配器。常见的选项包括:vlance - 用于模拟 AMD PCnet32 LANCE 网络适配器,支持10Mbps。e1000 - 用于模拟 Intel E1000 千兆网络适配器,支持1Gbps。e1000e - 用于模拟更现代的 Intel E1000e 千兆网络适配器。vmxnet - 用于 VMware 的自定义网络适配器,性能更好但需要安装 VMware Tools。

FHY1221的博客 2932

inventor二次开发-课程6-进入三维的世界

文章目录1.特征面板中英文对照关系2.对象的层次关系3.ExtrudeFeatures - 拉伸特征(1)Profiles -轮廓(2)ExtrudeFeatures-拉伸的操作(3)ExtrudeDefinition 拉伸对象(4)**SetDistanceExtent** 设置距离(5)例子 1.特征面板中英文对照关系 2.对象的层次关系 3.ExtrudeFeatures - 拉伸特征...

qq_43006346的博客 1486

信号转换为图像 时域频域分析

一维信号如何转化为图像?深度学习如何学习 1.当然,直接1d卷积也是可以的。 2. 以信号强度的数值作为纵坐标,以时间为横坐标绘制信号点就可以了。 周霖那个即是 要看看代码是如何做的, 即使是单导联 5000个点,怎么变成50005000的分辨率的 3. 直接把多通道的一维信号合并成二维图像,然后直接按图像卷积的方法去做~~ 2225000这样一个图 ~可以看看语音处理的相关Net,其中比较...

王不留行嘿呦嘿 2万+

Inventor API: 隐藏工程图视图中的某个surface body对应的图线

工程图中的视图,可以控制引用的模型中某些内容的可见性,例如草图,特征,实体(surface body)。 右键某个内容,点击【Visibility】。 有客户想通过API去控制,首先想到的两个招数是: 1. 找到对应的模型实体,修改其可见性。但这样所有引用了该模型的视图都会更新,而在UI里,即使同一个模型来的视图,都可以设置不同的可见性,因为视图只是引用了模型,可以有不同的表达 2. 找到对

Gear Up Cloud 3783

LabVIEW内存泄漏诊断与优化:从报错到高效运行

本文深入探讨LabVIEW内存泄漏的诊断与优化方法,从理解内存泄漏本质到使用专业工具链进行问题定位,再到高频场景的解决方案和高级优化策略。通过实战案例展示如何解决工业数据采集系统中的内存不足问题,帮助开发者提升LabVIEW应用的稳定性和效率。

moon9的博客 197

Node框架之NestJS入门学习

文章主要分为三部分:1 NestJS 与Egg对比2 NestJS 基础知识介绍3 使用NestJS快速搭建应用,实现CURD操作e-link文档Egg官网NestJS 官网NestJS中文文档(非官方)

十九万里的博客 4741

两直线平行交叉相乘_两线段相交相关算法

两线段相交的相关算法徐明龙2013-01-24前提:1)点的大小比较a)设p1(x1,y1),p2(x2,y2)b)如果x1>x2则p1>p2c)如果x1=x2且大小由y1与y2的关系决定d)如果x1则p12)线的大小比较a)设L1(p1,p2),L2(p3,p4)b)如果p1则L1c)如果p1=p3则大小有p2,p4关系决定d)如果p1>p3则L1&g...

weixin_39782433的博客 994

同花顺Supermind量化交易 风险控制建模--海龟交易法则

A.市场与标的海龟交易法则应用于流动性高的市场中,选择交易量较大的标的进行交易。本文以沪深300指数ETF为标的,构建海龟交易法则。B、仓位:仓位是海龟交易系统最核心的部分,通过ATR真实波幅指标来管理仓位。第一步:计算True Range,简称TR。TR = Max ( H−L , H−P , P−L ) ,其中H为当日日内最高价,L为当日日内最低价,P为前一日收盘价。第二步:计算ATRATR = mean ( TR , 20 ) , 即计算过去20天的TR的平均值,ATR是TR的移动平均值。

qq_22808537的博客 1497
上一篇: Inventor 2014 API 新功能 (4) 创建方程草图曲线
下一篇: Inventor 2014 API 新功能 (6) 插槽件(slot)草图
autodeskinventorapi
博客等级 码龄14年 313粉丝 164原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值