获取三维线条的笔画 - Inventor 2013新功能

十五天学会Autodesk Inventor,看完这一系列就够了(十一),放样和螺旋扫掠(绘弹簧) 我们继续学习Inventor的进阶内容,放样和螺旋扫掠,这些功能的学习对于更复杂图形的绘制有极大的帮助,例如放样可实现雨伞的绘制,扫掠可实现弹簧的绘制。 阅读详情

原文地址: http://modthemachine.typepad.com/my_weblog/2012/05/get-strokes-for-2d-and-3d-transient-wireframe-geometry.html

本文由我的同事Wayne撰写。其中提到2013提供了直接的方法。

An enhancement in the Inventor 2013 API allows you to get strokes for 2d and 3d transient geometry. One reason why you may want to do this is to approximate sketch geometry. The new method is GetStrokes of the CurveEvaluator and Curve2dEvaluator objects. To get the transient geometry (CurveEvaluator) from the sketch entity, use the Geometry.Evaluator property.

New 2013 method used to get strokes

  • CurveEvaluator.GetStrokes
  • Curve2dEvaluator.GetStrokes

首先提到,这种需求源于要对草图的曲线进行拟合。也提及2013提供了直接的方法。 

VBA Example:

Please keep in mind that we only recommend using VBA for prototyping and learning the API but do not recommend using VBA in production.

To try out this example create a 3D Sketch. I used a helical curve as you can see in the screenshot. When you run the Approximate3DSketchGeometry procedure it prompts you to select a 3d entity and then displays an InputBox asking for the chord height tolerance. This value will be used as the maximum of deviation. (How far off can these line segments be to the curve). I used .25. This will be centimeters in database units.

这里是一个简单的VBA代码。你需要先创建一个三维的草图,然后画个螺旋线。当执行VBA宏Approximate3DSketchGeometry ,会让你选择三维的曲线,并弹出对话框让你设置拟合线的高度容差。这个值作为最大绝对偏差,即拟合线离曲线本身能有多远。本例中使用0.25,基于API内部使用的单位(厘米)。拟合线将用Client Graphics绘制。

image

A MsgBox is used to ask if you want to use existing client graphics, create new client graphics or just cancel. The lines that you see that approximate the curve, are drawn using client graphics. Here is the result after running the procedure:

还有个对话框让你决定是否使用现有的Client Graphics。图中所示的蓝色线条就是Client Graphics。

image

VBA Code:

' Draws client graphics that is an approximation 
' of the selected curve. 
' To use this have a part open that contains 
' a 3D skech that contains curves. 

’ 本例用来拟合三维曲线。需要一个零件文档
‘其中有三维草图和三维线
Public Sub Approximate3DSketchGeometry() 
    Dim partDoc As PartDocument 
    Set partDoc = _ 
              ThisApplication.ActiveDocument 
    
   ' Have the user select a sketch entity. 
   ’  让用户选择草图实体
    Dim selectObj As SketchEntity3D 
    Set selectObj = ThisApplication. _ 
                    CommandManager.Pick _ 
                    (kSketch3DCurveFilter, _ 
                    "Select 3D sketch entity") 
    If selectObj Is Nothing Then 
        On Error Resume Next 
        Call partDoc.ComponentDefinition _ 
        .ClientGraphicsCollection.Item _ 
                                ("Test").Delete 
        Call partDoc.GraphicsDataSetsCollection _ 
                             .Item("Test").Delete 
        ThisApplication.ActiveView.Update 
        Exit Sub 
    End If 
    
   ' Get the tolerance to approximate with. 
   ‘用户输入容差
    Dim tolerance As Double 
    tolerance = Val(InputBox _ 
     ("Enter the chord height tolerance:", _ 
                       "Tolerance", "0.25")) 
    
   ' Get the evaluator from the curve. 
    Dim eval As CurveEvaluator 
    Set eval = selectObj.Geometry.Evaluator 
    
   ' Get the parameter extents. 
   ' 获取曲线的参数范围
    Dim startParam As Double 
    Dim endParam As Double 
    Call eval.GetParamExtents _ 
                        (startParam, endParam) 
    
    Dim vertexCount As Long 
    Dim vertexCoords() As Double 
    Call eval.GetStrokes(startParam, endParam, _ 
            tolerance, vertexCount, vertexCoords) 
    
    ' Create a client graphics object. 
    ' If one already exists, give the user 
    ' the option of re-using it, or creating 
    ' a new one. 
    ’ 创建Client Graphics. 如果已经有了,
    ‘让用户决定是否更新现有的,或创建一个新的
    Dim graphics As ClientGraphics 
    Dim graphicsData As GraphicsDataSets 
    On Error Resume Next 
    Set graphics = partDoc.ComponentDefinition. _ 
            ClientGraphicsCollection.Item("Test") 
    On Error GoTo 0 
    If graphics Is Nothing Then 
        Set graphics = partDoc. _ 
      ComponentDefinition.ClientGraphicsCollection _ 
                                      .Add("Test") 
        Set graphicsData = partDoc. _ 
           GraphicsDataSetsCollection.Add("Test") 
    Else 
        Dim answer As VbMsgBoxResult 
        answer = MsgBox _ 
        ("Yes = existing. No = new Cancel. = quit.", _ 
                         vbYesNoCancel + vbQuestion) 
        If answer = vbNo Then 
            On Error Resume Next 
            graphics.Delete 
            partDoc.GraphicsDataSetsCollection _ 
                              .Item("Test").Delete 
            On Error GoTo 0 
            
            Set graphics = partDoc.ComponentDefinition _ 
                  .ClientGraphicsCollection.Add("Test") 
            Set graphicsData = partDoc. _ 
                  GraphicsDataSetsCollection.Add("Test") 
        ElseIf answer = vbYes Then 
            Set graphicsData = partDoc. _ 
                GraphicsDataSetsCollection.Item("Test") 
        ElseIf answer = vbCancel Then 
            If Not graphics Is Nothing Then 
                graphics.Delete 
                partDoc.GraphicsDataSetsCollection _ 
                                .Item("Test").Delete 
                ThisApplication.ActiveView.Update 
                Exit Sub 
            End If 
        End If 
    End If 
    

      ' 设置Clieng Graphics需要的坐标点集合. 
    Dim coordSet As GraphicsCoordinateSet 
    Set coordSet = graphicsData.CreateCoordinateSet(1) 
    Call coordSet.PutCoordinates(vertexCoords)

   ' Create a graphics node. 
   ‘创建图形节点
    Dim node As GraphicsNode 
    Set node = graphics.AddNode(1) 
    
    ' Create a line strip using the calculated coordinates. 
    ’绘制线条LineStripGraphics ,
    Dim lineStrip As LineStripGraphics 
    Set lineStrip = node.AddLineStripGraphics 
    lineStrip.CoordinateSet = coordSet 
    
    ThisApplication.ActiveView.Update 
End Sub


创建自己的tusimple数据集格式 为了训练自己的车道线检测模型,由于tusimple数据集场景较为单一,因此自己标注了一个数据集 模型:lanenet 数据集格式:tusimple 标注工具:labelme 第一步:原始数据集标注 1、使用labelme进行数据标注 使用指令进行安装labelme pip install labelme 2、在环境下使用指令进行启动labelme labelme 3、进入界... 阅读详情

相关推荐

fisheye bev图像上的目标检测01:地面箭头方向检测

再通过一系列后处理操作(1、判断红色顶点是否属于箭头(蓝色矩形框),2找到属于矩形框的三个红点,3、三个端点两两生成三条直线,判断这三条直线的长度及角度),既可得到箭头的方向向量(如下图红色直线,方向顶点用圆点表示)下图为上图json文件生成的 矩形框,箭头外接矩形框(arrowRect),三个箭头顶点矩形框(以箭头顶点为中心生成固定长度的正方形框arrowPointRect)2、箭头三个顶点的外接矩形框(以箭头顶点为中心),下图arrowPointRect类别矩形框。下一篇分享地面减速带检测方法。

herobinbin的专栏 1801

使用Labelme中LineStrip得到突出边界的标签图「附代码」

如何得到边界感标签图

yym33的博客 3132

七天掌握Autodesk Inventor核心功能,从零到精通的实战指南(一)——软件定位与行业应用解析

本文是Autodesk Inventor从零到精通实战指南的开篇,深入解析了这款参数化三维设计软件的核心定位。文章将Inventor比作“数字化虚拟车间”,强调其从“画图”到“造物”的工程思维转变,并详细对比了其在主流CAD软件中的独特优势,如与AutoCAD无缝集成、大型装配体管理及专业模块深度集成,为机械设计工程师与制造行业人员提供了清晰的学习路径与行业应用洞察。

weixin_29248653的博客 342

labelme标注车道线

1.原始数据集标注 在ubuntu环境下使用指令进行启动labelme labelme 进入界面后选择图片,右键选择Create lineStrip选项进行线段标记 2. json数据转换 (1) 使用指令将json文件转换成标记数据 labelme_json_to_dataset ****.json 转换后会生成如下的文件: (2) 批量处理需要编写相应的脚本文件: #!/usr/bin/env python3 # -*- coding: utf-8 -*- import os if __

zhangyue123的博客 6591

Altium Designer三维PCB设计:从模型导入到装配检查的完整实战指南

在电子设计自动化领域,三维模型的应用已成为提升设计可靠性和协同效率的关键技术。其核心原理在于将传统的二维电路板布局转化为包含元器件物理尺寸的立体模型,通过虚拟空间的可视化与干涉检测,实现设计阶段的物理验证。这项技术的核心价值在于显著减少因机械冲突导致的设计返工,降低实物打样成本,并提升团队间的沟通效率。在PCB设计流程中,三维模型主要应用于机械干涉检查、可制造性分析以及设计协同等场景。本文聚焦于Altium Designer平台,深入解析三维模型的获取、创建、导入以及与机械外壳进行装配检查的完整工作流,其中

weixin_34228387的博客 427

Inventor实战疑难解析:从草图约束到工程图标注的进阶指南

参数化三维建模是现代机械设计的核心技术,其核心原理在于通过几何约束与尺寸驱动来构建关联性模型,确保设计变更的自动同步。这项技术的核心价值在于将设计意图数字化,实现从概念到制造的数据连贯性,广泛应用于非标设备、工装夹具等复杂产品的开发流程中。在实际工程实践中,诸如草图过约束、装配冗余、工程图关联断裂等典型问题,直接影响设计效率与数据准确性。本文聚焦Autodesk Inventor平台,深入剖析草图逻辑、装配约束、工程图标准化等关键环节的常见陷阱与根治方案,例如通过管理几何约束解决草图过定义,利用驱动约束验证

weixin_30898555的博客 278

基于Inventor快速搭建结构件框架

等操作,调整结构件连接处的长度,注意,可以同时选择。,选择结构件三维结构草图中的空间线条插入结构件;,但不能选中多个面修剪同一个结构件。,将三维结构框架草图零部件。1.首先,创建一个新的。5.完成,效果如下;

u013735688的博客 1606

CAD三维建模零基础入门:从核心概念到实战应用

三维建模是现代产品设计与机械工程的核心技术,它基于参数化设计原理,通过特征建模的方式构建数字模型。这项技术的价值在于将设计意图转化为精确、可修改的几何实体,极大提升了设计效率与准确性。在机械设计、工业产品开发、原型验证等应用场景中,三维建模是连接创意与制造的关键桥梁。本文以Fusion 360等主流软件为例,系统拆解了从草图约束、特征建模到装配的核心学习路径,并融入了参数化设计和特征建模等关键热词,旨在为零基础学习者提供一条清晰高效的实战入门指南。

ciqiaofu0192的博客 307

inventor导出tekla_保存和导出文件参考 | Inventor 2019 | Autodesk Knowledge Network

.CATPart、.CATProductCATIA V5 零件和部件文件。(版本 R10 - R19).CATPartCATIA V5 零件。(版本 R10 - R19).x_b、.x_tParasolid 二进制和文本文件。(版本 9.0 - 23.0).g、.neuPro/ENGINEER Granite 和中性文件。(Granite 版本 1.0 - 6.0)BMP光栅图像。DWF二维矢量文...

weixin_29476755的博客 1700

CAD软件:Autodesk Inventor Aerospace二次开发_几何建模技术

通过以上示例代码,我们可以看到Autodesk Inventor Aerospace的API提供了丰富的几何建模功能。这些功能不仅包括创建基本几何体,如长方体、圆柱体和球体,还包括编辑几何体、参数化建模和布尔运算。通过API进行二次开发,可以大大提升设计效率,满足特定的航空航天设计需求。

kkchenjj的博客 1076

Autodesk Inventor 高级操作实战教程

在Inventor中,基础操作包括创建新项目、打开和保存文件、使用标准单位和基本视图操控。新建项目时,选择合适的模板可以事半功倍。通过"File"菜单可以进行文件的新建、打开、保存以及导出操作。此外,Inventor允许用户设置和修改标准单位,确保项目在不同单位制下的兼容性。学习使用快捷键和工具栏图标可以极大地提高工作效率。通过以上内容,用户可以对Inventor的基本界面布局和操作有一个初步的了解,为接下来深入学习零件建模、装配设计等更高级功能打下基础。

weixin_42581846的博客 2323

#绘制圆心_Autodesk Inventor 入门——草图绘制案例

点击关注了解更多精彩内容!!Autodesk Inventor 入门——草图绘制案例前面内容介绍了在Autodesk Inventor中二维、三维草图的绘制方法,我们以案例为引导,进行草图绘制方法的应用。1范例1如图所示草图为例进行草图绘制,此草图包含直线、圆及圆弧,其绘制过程如下。01进入草图环境(1)运行Inventor2018,出现如图所示的启动界面。(2)单击“快速入门”选项卡...

weixin_35041185的博客 3070

深入理解Inventor场景图中材质与光照模型的应用

本文深入探讨了Inventor场景图中的材质节点、绘制样式节点、光照模型节点、环境节点、形状提示节点、复杂度节点、单位节点以及绑定节点的具体应用和配置。通过详细解读每个节点的字段和功能,我们能够更好地掌握如何在三维场景中实现复杂视觉效果的渲染。

weixin_36303807的博客 417

inventor软件绘制百叶窗方法_用Inventor软件设计流程

第2章 设计流程2.1 叙述在做非标机械设计过程中,如果想提高自己的设计效率(这里指的包括三维建模、工程图以及BOM表的处理等),寻找一种合适的设计流程是非常有必要。下面作者根据自己的一些经验,描述一种比较有效率的设计流程。0 项目开始所有设计之前,请设定好项目,项目管理机制可以说也是三维设计inventor软件的一个特色,确定是单用户项目还是vault项目,下文只讲述单用户项目。如下图,项目的相...

weixin_39879219的博客 1225

Shopee商品详情页反爬实战:手把手逆向x-sap-Ri和x-sap-Sec参数(附完整调试过程)

本文详细解析了Shopee商品详情页反爬机制中的x-sap-Ri和x-sap-Sec参数逆向过程。通过JS逆向技术,从环境数据采集到多层哈希运算,完整拆解了这两个关键参数的生成逻辑,并提供了实战技巧和Node.js实现方案,帮助开发者应对Shopee的动态加密挑战。

weixin_33701251的博客 1596

FinRL实战:5步搞定股票量化交易策略(附Python代码)

本文详细介绍了如何使用FinRL框架,通过5个步骤构建基于深度强化学习的股票量化交易策略。内容涵盖从环境搭建、数据获取与预处理,到交易环境构建、模型训练(如PPO算法),以及策略回测评估与优化的完整流程,并提供了可运行的Python代码示例,帮助读者快速入门AI驱动的量化交易。

weixin_29062865的博客 626

inventor导出tekla_保存和导出文件参考 | Inventor 2021 | Autodesk Knowledge Network

.CATPart、.CATProductCATIA V5 零件和部件文件。(版本 R10 - R19).CATPartCATIA V5 零件。(版本 R10 - R19).x_b、.x_tParasolid 二进制和文本文件。(版本 9.0 - 23.0).g、.neuPro/ENGINEER Granite 和中性文件。(Granite 版本 1.0 - 6.0)BMP光栅图像。DWF二维矢量文...

weixin_39608301的博客 1889

Java实战:用Proj4j搞定WGS84与CGCS2000坐标互转(附完整代码)

本文详细介绍了如何使用Java库Proj4j实现WGS84与CGCS2000坐标系之间的高精度转换。通过七参数转换模型和格网改正量文件,提供完整的代码实现和项目配置指南,帮助开发者快速集成到地理信息系统项目中,提升坐标转换效率和精度。

weixin_29251567的博客 828

泵体inventor制作教程_水泵体Inventor创建实例教程.ppt

水泵体Inventor创建实例教程课件隐藏多余线条 右击多余线条,单击取消可见 同理,隐藏其他多余线条 调整轮廓线显示方式 在弹出窗口选择“可见窄的” 选择该轮廓线 利用基础视图命令投出俯视图 保留底盘,隐藏其他线条,完成向视图A 同理完成向视图B 进入尺寸标注面板 在弹出窗口选择“工程图标注面板” 为各视图添加中心线 利用中心标记下的中心线命令添加中心线 完成各视图中心线的添加 利用通用尺寸工具...

weixin_32905035的博客 939

金蝶云星空核心数据表解析与高效关联查询指南

本文深入解析金蝶云星空核心数据表结构,提供高效关联查询的实战指南。文章详细介绍了基础资料、业务单据和财务模块的关键表及其关联逻辑,重点阐述了如何利用关联表(_LK表)进行跨单据溯源,并分享了编写高性能SQL的实用技巧与避坑建议,帮助开发者、实施顾问和数据分析师快速掌握数据查询方法,提升工作效率。

weixin_29254673的博客 524

【声呐技术】基于人工智能的拖曳阵声呐声学数据处理系统 SEA公司AI辅助拖曳阵系统

KraitSense是SEA公司开发的紧凑型被动拖曳阵声呐系统,核心传感器为KraitArray细线拖曳阵列。该系统专为小型舰艇、无人水面艇(USV)和无人潜航器(UUV)设计,通过人工智能与机器学习技术实现水下声学数据的自动化采集、处理与分类。系统与Mind Foundry公司开发的软件平台深度集成,形成端到端的智能反潜战(ASW)解决方案。

u012133341的博客 957

做三维模型_UG如何做南瓜三维模型,学会扫掠就好办了

夏天南瓜成熟,菜园子里随处可看见黄橙橙的大南瓜,在一些饭店,我们也能看到门口摆了很多食材,其中有些食物并不是真的蔬菜瓜果,因为模型的保质期是无期限的,并且长相也比较美观,所以就有商家专门贩卖这种食物模型,那么这种南瓜的三维建模在UG软件中是如何建模的呢? 今天,我们来用UG绘制一个大南瓜,和前几天画的大蒜外形有点相似,方法却完全不同,来学习一下!建模过程:1.打开ug,在XY平面绘制草图如下2.在...

weixin_29601703的博客 948

34、婴儿监视器应用开发指南

本文详细介绍了基于 ESP32 和 Edge Impulse 开发婴儿监视器应用的全过程,涵盖音频处理、机器学习推理、ESP RainMaker 平台集成以及内存监控等功能。通过实现 AppAudio、AppRmaker 和 AppMem 三个核心类,完成了婴儿哭声的实时检测与远程通知,并通过合理的内存管理优化,有效节省了 ESP32 的内部 RAM 资源。文章还提供了完整的代码示例和配置说明,适用于物联网和嵌入式 AI 应用开发爱好者参考学习。

python9snake的博客 93

机械设计资产实战:多格式三维模型处理与跨领域设计精髓解析

三维模型是机械设计与产品开发领域的核心数字资产,其本质是设计意图与工程知识的载体。在数据交换与协作中,STEP、IGES等中性格式以及Solidworks、INVENTOR等原生格式的模型文件,常因版本兼容性、数据丢失等问题,成为工程师面临的技术挑战。有效处理这些多格式模型,不仅能保障数据流转的顺畅,更能从中提取关键的设计原理与工程逻辑,将其转化为可复用的设计资产。本文聚焦于【热流道模具】的精密流道与冷却系统设计,以及【上肢假肢机械手掌】的仿生驱动与欠驱动机构,通过解析这些典型应用场景,阐述如何将跨领域的设

weixin_30654583的博客 556

【ComfyUI】QwenImageEdit OOTD角色与姿态匹配换装

本文介绍了一个基于Qwen Edit OOTD 2.0的ComfyUI工作流,能够实现角色与姿态匹配的智能穿搭生成。该工作流通过整合模型推理、姿态识别、图像拼接和渲染等节点,完成从角色图、姿态图到成品穿搭图的完整生成流程。核心采用Qwen Image系列模型进行图像理解和编辑,配合ControlNet进行姿态引导。用户只需提供角色图和姿态参考图,系统即可自动完成姿态解析、语义编码、采样生成等步骤,输出与输入姿态一致的穿搭图像。该方案适用于虚拟角色展示、电商试穿等场景,能保持角色特征一致的同时灵活变换姿态,显

Mr数据杨 1584

Tessent ATPG Flow 流程 (代码和注释)

**摘要:Tessent ATPG流程分为五个阶段:1) 环境初始化(加载设计文件、库和扫描链配置);2) DRC规则检查(验证设计可测试性并修复违例);3) ATPG向量生成(设置故障模型并运行引擎优化覆盖率);4) 向量验证与后处理(仿真验证并生成ATE格式文件);5) 进阶操作(多电压域和存储器测试)。流程输出包括测试向量、覆盖率报告和验证日志,支持stuck-at和transition故障模型,使用Tcl脚本控制。关键步骤包含扫描链配置、EDT压缩和覆盖率优化。

QQ_778132974的博客 931
上一篇: 为iPart表添加“重量”列
下一篇: 工程图之间的标题栏复制
autodeskinventorapi
博客等级 码龄14年 313粉丝 164原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值