获取三维线条的笔画 - 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的博客 308

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

AIDD机器学习深度学习药物发现与设计教程总结

AIDD(AI Drug Discovery & Design):是近年来非常火热的技术应用,且已经介入到新药设计到研发的大部分环节当中,为新药发现与开发带来了极大的助力。倾向于机器对数据库信息的自我学习,可以对数据进行提取和学习,一定程度上避免了化合物设计过程中的试错路径,同时还会带来很多全新的结构,为药物发现打破常规的结构壁垒。覆盖了机器学习和深度学习,能与新药研发相结合并实质性的应用到靶点预测、高通量筛选、药物设计、药物的ADMET性质预测等;且算力方面,由早期应用于药物发现领域的决策树、随机

wutianlin0723的博客 6816

惊呆了!Oracle 11g从入门到放弃的保姆级指南(新手必看)

本文为Oracle 11g数据库新手提供了一份详尽的入门指南。内容涵盖从安装配置、SQL*Plus工具使用、核心的SQL增删改查操作,到事务、索引等进阶概念的解析。文章旨在帮助初学者避开常见陷阱,快速掌握这一经典关系型数据库管理系统的基本操作与核心技能,实现从入门到上手。

ooo22的博客 266

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

【OpenCV3】cv::compare()使用详解

cv::compare()主要用于两个图像之间进行逐像素的比较,并输出比较的结果。具体用法如下: cv::compare() bool cv::compare( cv::InputArray src1, // 输入数组1 cv::InputArray src2, // 输入数组2 cv::OutputArray dst, // 输出数组 int cmpop // 比较操作子,见下表 ...

guduruyu的专栏 9760

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

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

weixin_32905035的博客 939

基于OSPF技术的某企业网络设计(完整文档+ENSP拓扑图)

主要对网络规划与设计,以企业网络为背景,对某个中型企业网络进行规划设计,该企业总部在南京,在常州有一个分公司,需要实现总部和分公司能够访问外网,能够让分公司内的用户或主机访问总部服务器的资源,并且保证数据的安全性。在这次总部企业网络设计中,考虑到资金的问题,核心层部署2台核心三层交换机,负责转发总部内部用户的流量,并充当内部用户网关,能够实现内部不同网段的用户之间的连通性。对于一些对网络比较敏感的企业或用户,对网络的要求较高,对于网络的稳定性和安全性也有较高的要求。

qq1325513482的博客 2万+

半导体制造中的通孔缺陷与冗余通孔技术解析

通孔(Via)是半导体制造中连接不同金属层的关键结构,其可靠性直接影响芯片良率。随着工艺节点演进至28nm及更先进制程,通孔缺陷导致的良率损失日益显著,主要表现为完全开路和高阻态两种失效模式。冗余通孔技术通过在关键位置增加备用连接,可有效提升芯片可靠性,其实现涉及物理冗余与电气冗余两种方案。该技术在7nm/5nm工艺中已证明可将通孔相关缺陷率降低10-100倍,但面临设计规则复杂性、规模处理效率和动态合规验证等工业化挑战。智能双切通孔插入流程通过动态DRC规则解析、奇偶层级并行处理和增量式验证等创新方法,显

weixin_35982453的博客 382

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

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

weixin_29601703的博客 948

微信小程序——01开发前的准备和开发工具

微信小程序——01开发前的准备和开发工具

总裁余(余登武)博客 1万+

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

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

weixin_30654583的博客 556

Muse Spark:功能、性能测试及使用方法

对于一个仅用九个月时间从零开始重建的团队来说,这样的健康状况和多模态测试结果无疑是迈出了坚实的第一步,并且经受住了独立测试的考验。Muse Spark 为每个产品确定了最重要的主题(A 产品的发布策略、B 产品的定价策略、C 产品的规模化策略),并提出了切实可行的具体行动方案。抽象视觉推理也遵循同样的模式:Muse Spark 的 ARC-AGI-2 得分为 42.5,而 GPT-5.4 和 Gemini 的得分都在 70 分左右。他的离职是由于组织结构的变化限制了他的角色,以及团队转向闭源开发。

xiaoshun007的专栏 123

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

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

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值