编辑于江苏南京2021年7月31号。

Catia中测量的方法有两种,第一是通过获取文档的SPAWorkbench对象,通过SPAWorkbench获取Measurable对象,进而获取需要测量的参数,如角度、长度、体积等。这种方法只适用于当个物体的测量,对于两个物体如点的距离、线的间距等无法进行测量。

相关代码如下

//1.首先获取当前文档的SPAWorkbench对象
var spaWorkbench = oDoc.GetWorkbench("SPAWorkbench") as SPAWorkbench;
//2.得到Measurable对象
Measurable measureable = spaWorkbench.GetMeasurable(selRef);
//3.测量长度
var length = measureable.Length;

第二种方法可以通过知识工程模块来获得测量的参数,通过知识工程的distance 方法获取两个物体之间的长度等。

C#代码如下:

Application catapp = Marshal.GetActiveObject("Catia.Application") as Application;
var oDoc = catapp.ActiveDocument as PartDocument;var rootPart= oDoc.Part;
var paras= rootPart.Parameters.RootParameterSet;
//(1)创建一个参数用于接收测量的参数
var c1= paras.AllParameters.CreateDimension("Custome", "LENGTH", 12d);//(2)选择需要测量的物体,并找到物体存放的路径
var p1= CatiaHelper.SelectionObject<HybridShapeCurveExplicit>(catapp);
var str1 = paras.AllParameters.GetNameToUseInRelation(p1);var p2 = CatiaHelper.SelectionObject<HybridShapeCurveExplicit>(catapp);
var str2 = paras.AllParameters.GetNameToUseInRelation(p2);//(3)拼接用于知识工程公式的字符串
string resultStr = "distance (" + str1 + "," + str2 + ")";//(4)创建知识工程的关系
var resutFormula= rootPart.Relations.CreateFormula("Result","计算两点距离",c1, resultStr);

其中CatiaHelper是自定义的Catia帮助类,CatiaHelper.SelectionObject()方法是用于交互选择Catia类型的。具体实现参考Catia开发文档Selection部分。

Catia开发之测量(C#)相关推荐

  1. 中移4G模块-ML302-OpenCpu开发-PCF8591测量电压

    B站:https://space.bilibili.com/309103931 中移4G模块-ML302专栏:https://blog.csdn.net/qq_33259323/category_10 ...

  2. CATIA V6二次开发——关于测量

    测量直线长度 obj.Compute(); //测量前必须先重载一次 MeasurableService measurableService = (MeasurableService)ActiveEd ...

  3. 运行catia_浅谈CATIA开发——CAA简介

    一.背景 CATIA是当今工业领域内领先的三维CAD软件,通过对CATIA的二次开发,可以对特定功能和需要进行定制,并且无缝嵌入到CAITA中. 二.二次开发框架 CATIA提供了Automation ...

  4. 小壁虎(EFM32 Zero Gecko)开发板测量功耗

    小壁虎(EFM32 Zero Gecko)是一款类似于Arduino的开发板,旨在更加方便快捷的开发嵌入式软硬件 开发环境下载链接Simplicity Studio 安装好软件后,插上开发板,再按照提 ...

  5. CATIA开发中的遇到的问题.1

    每当从CATIA API调用发送(或接收)一个数组时,都会产生这个错误. 在VBA的情况下,你需要声明调用方法的对象作为一个变量(没有显式的类型声明). 例如: Dim sel As Selectio ...

  6. 【二次开发】如何使用C#进行CATIA二次开发

    1. 引言 由于项目需要,最近搜集整理了一些关于CATIA二次开发的资料,貌似国内对于CATIA二次开发需求不大,相关资料比较有限,因此刚开始遇到了不少问题,通过分析网上的一些示例,以及结合CATIA ...

  7. 想入门CATIA二次开发CAA的盆友看过来(谈谈开发经验,或许对你有帮助!)

    前言 刚开始接触CATIA二次开发时候还是比较难熬的,因为没接触过CATIA.更重要的是没有C++基础.帮助文档 很难翻译成可以理解的中文.刚开始时候一头雾水,身边也没人做过开发,都是我一个人在默默的 ...

  8. illustrator插件-常用功能模块-测量路径长度-js脚本开发-AI插件

    文章目录 1.算法程序 2.作者答疑 1.算法程序   illustrator是矢量编辑软件,画板是绘制处理的重要容器,在印刷方面的一个重要功能就是测量路径长度,开发一个测量路径长度功能,以下功能仅用 ...

  9. UG NX二次开发(C#)-分析-测量曲面的面积

    1. 简要说明 在UG NX中随着版本的更新,测量曲面功能的界面也有所变化,在NX10中,有个单独的"测量面"功能,能测量曲面的面积和长度,如下图所示. 通过搜索查看面测量功能 N ...

最新文章

  1. .net 连接ORACLE 数据库的例子
  2. qt 对话框位置如何确定_在图片上加字,如何确定该用什么字体、字体的颜色和放置的位置?...
  3. 深度学习中的随机种子
  4. 2020年快手校招JAVA岗笔试第二题
  5. 怎样维护成功的开源项目
  6. 数据解析系统中需改进的几点
  7. Tensorflow学习
  8. SAP Spartacus home页面请求product数据生成HTTP请求url的代码处
  9. 取文字_把这4个字母输入word,会得到一段神秘文字,承载着一段历史
  10. 【20171108晚】BeEF 局域网中的一次实战演练(三)
  11. android studio 2.1.1 优化,Android Studio 2.1 + javaCV 1.2 配置
  12. 蓝桥2017真题剪邮票
  13. esp8266控制ws2812b
  14. 文献笔记(9)(2019ISSCC)
  15. oracle 获取月份_网络工程师干货 | 2020年7月份最新的华为HCIARS培训教程,画质超级好!...
  16. 多曝光HDR成像 跑出来的图片颜色变绿
  17. 支付入门-易宝支付实践
  18. 耗时五个月的项目实训——影行App
  19. ICC2:平行打孔create_pg_stapling_vias
  20. 【漫漫转码路】Python Day 15

热门文章

  1. Directx跟opengl有什么不同
  2. 香蕉派R2 Pro安装Qt5
  3. 淘宝卖家信用升级方案
  4. ISMC发布世界最小的的多轴微型伺服系统
  5. 英语----强调句(下)
  6. 计算机故障的现象有哪些,电脑出故障有哪些症状
  7. 国内 android wear,2018年最佳Android Wear智能手表TOP3
  8. 计算机一级表格函数vlookup的使用,Excel表格VLOOKUP函数的应用!
  9. 价值100亿美金的胸罩生意
  10. php获取今日头条视频地址并插入织梦cms数据库