Catia开发之测量(C#)
编辑于江苏南京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#)相关推荐
- 中移4G模块-ML302-OpenCpu开发-PCF8591测量电压
B站:https://space.bilibili.com/309103931 中移4G模块-ML302专栏:https://blog.csdn.net/qq_33259323/category_10 ...
- CATIA V6二次开发——关于测量
测量直线长度 obj.Compute(); //测量前必须先重载一次 MeasurableService measurableService = (MeasurableService)ActiveEd ...
- 运行catia_浅谈CATIA开发——CAA简介
一.背景 CATIA是当今工业领域内领先的三维CAD软件,通过对CATIA的二次开发,可以对特定功能和需要进行定制,并且无缝嵌入到CAITA中. 二.二次开发框架 CATIA提供了Automation ...
- 小壁虎(EFM32 Zero Gecko)开发板测量功耗
小壁虎(EFM32 Zero Gecko)是一款类似于Arduino的开发板,旨在更加方便快捷的开发嵌入式软硬件 开发环境下载链接Simplicity Studio 安装好软件后,插上开发板,再按照提 ...
- CATIA开发中的遇到的问题.1
每当从CATIA API调用发送(或接收)一个数组时,都会产生这个错误. 在VBA的情况下,你需要声明调用方法的对象作为一个变量(没有显式的类型声明). 例如: Dim sel As Selectio ...
- 【二次开发】如何使用C#进行CATIA二次开发
1. 引言 由于项目需要,最近搜集整理了一些关于CATIA二次开发的资料,貌似国内对于CATIA二次开发需求不大,相关资料比较有限,因此刚开始遇到了不少问题,通过分析网上的一些示例,以及结合CATIA ...
- 想入门CATIA二次开发CAA的盆友看过来(谈谈开发经验,或许对你有帮助!)
前言 刚开始接触CATIA二次开发时候还是比较难熬的,因为没接触过CATIA.更重要的是没有C++基础.帮助文档 很难翻译成可以理解的中文.刚开始时候一头雾水,身边也没人做过开发,都是我一个人在默默的 ...
- illustrator插件-常用功能模块-测量路径长度-js脚本开发-AI插件
文章目录 1.算法程序 2.作者答疑 1.算法程序 illustrator是矢量编辑软件,画板是绘制处理的重要容器,在印刷方面的一个重要功能就是测量路径长度,开发一个测量路径长度功能,以下功能仅用 ...
- UG NX二次开发(C#)-分析-测量曲面的面积
1. 简要说明 在UG NX中随着版本的更新,测量曲面功能的界面也有所变化,在NX10中,有个单独的"测量面"功能,能测量曲面的面积和长度,如下图所示. 通过搜索查看面测量功能 N ...
最新文章
- .net 连接ORACLE 数据库的例子
- qt 对话框位置如何确定_在图片上加字,如何确定该用什么字体、字体的颜色和放置的位置?...
- 深度学习中的随机种子
- 2020年快手校招JAVA岗笔试第二题
- 怎样维护成功的开源项目
- 数据解析系统中需改进的几点
- Tensorflow学习
- SAP Spartacus home页面请求product数据生成HTTP请求url的代码处
- 取文字_把这4个字母输入word,会得到一段神秘文字,承载着一段历史
- 【20171108晚】BeEF 局域网中的一次实战演练(三)
- android studio 2.1.1 优化,Android Studio 2.1 + javaCV 1.2 配置
- 蓝桥2017真题剪邮票
- esp8266控制ws2812b
- 文献笔记(9)(2019ISSCC)
- oracle 获取月份_网络工程师干货 | 2020年7月份最新的华为HCIARS培训教程,画质超级好!...
- 多曝光HDR成像 跑出来的图片颜色变绿
- 支付入门-易宝支付实践
- 耗时五个月的项目实训——影行App
- ICC2:平行打孔create_pg_stapling_vias
- 【漫漫转码路】Python Day 15