Catia开发之测量(C#)

这篇具有很好参考价值的文章主要介绍了Catia开发之测量(C#)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

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

Catia开发之测量(C#)

相关代码如下

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

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

Catia开发之测量(C#)

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类型的。具体实现参考代码如下文章来源地址https://www.toymoban.com/news/detail-414285.html

        public static T SelectionObject<T>( INFITF.Application catapp) where T:class
        {
            T resultItem = default(T);
            string typeStr = typeof(T).ToString();
            string[] strAry = typeStr.Split('.');
            typeStr =strAry[strAry.Length-1];
            
            Selection sel = (catapp.ActiveDocument).Selection;
            sel.Clear();
            Array arr = new object[1];
            arr.SetValue(typeStr, 0);
            PushCatiaToUpper();
            string str = sel.SelectElement2(arr, "请选择"+typeof(T).ToString(),true);
            try
            {
                resultItem = str == "Normal" ? (T)sel.Item(1).Value : null;
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }
            return resultItem;
        }

到了这里,关于Catia开发之测量(C#)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python江苏南京二手房数据可视化大屏全屏系统设计与实现(django框架)

     博主介绍 :黄菊华老师《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育和辅导。 所有项目都配有从入门到精通的基础知识视频课程,免费 项目配有对应开发文档、开题报告、任务书、

    2024年02月04日
    浏览(41)
  • 2021江苏省赛热身赛 C Magic Rabbit(数形结合)

    Magic Rabbit 溶液 x (mg/ml) y (mg/ml) 溶液1 x1 y1 溶液2 x2 y2 溶液3 x3 y3 a x 1 + b x 2 + c x 3 a + b + c = x 4 frac{ax_1+bx_2+cx_3}{a+b+c} = x_4 a + b + c a x 1 ​ + b x 2 ​ + c x 3 ​ ​ = x 4 ​ a y 1 + b y 2 + c y 3 a + b + c = y 4 frac{ay_1+by_2+cy_3}{a+b+c} = y_4 a + b + c a y 1 ​ + b y 2 ​ + c y 3 ​ ​ = y 4 ​ a x 1 + b x 2 a

    2024年02月09日
    浏览(33)
  • CATIA环境编辑器用不了时创建项目快捷方式

    (一) 先正确放置winb_64部署包 将winb_64放置在电脑某一位置,部署包路径不要包含中文,建议用英文 (二) 添加环境文件 建议将参考的txt环境文件放入和CATIA安装后的CATEnv环境文件夹下 注:若CATEnv文件夹下有类似CATIA_P3.V5R18.B18.txt的配置文件,一般其父级CATEnv文件夹路径就是CATIA安

    2024年02月05日
    浏览(29)
  • Catia软件 如何将3dxml零件转化为可编辑格式的实体

    通常我们在设计的时候为了轻量化或者第三方探讨方案时,都会另存为3dxml格式进行操作,但有时候我们刚好想对某个零件进行编辑或参考面时,发现又编辑不了,就很头疼…… 本期就分享一下关于Catia软件3dxml格式不可编辑的零件如何转化为可编辑格式实体的操作,进而基于

    2024年02月03日
    浏览(54)
  • C#开发AGV地图编辑软件

    C#自己开发AGV地图编辑软件: 1、自由添加和删除站点、停车位、小车、运行路径。 2、编辑得地图以XML文件保存。 3、导入编辑好地图的XML文件。 4、程序都是源码,可以直接在此基础上进行二次开发。 下载链接:https://download.csdn.net/download/panjinliang066333/88855372 部分代码展示:

    2024年02月22日
    浏览(42)
  • 2021电赛D题:基于互联网的摄像测量系统 思路

    2021年全国电赛题目如下: 基于opencv,树莓派,以及网络交换机组成的摄像测量系统。由测量摄像 系统与网络传输系统组成。支持开机自启动,一键测量,声光提示结束测量,高帧率显 示图像的系统。其中摄像系统包括两组树莓派与摄像头组合,网络传输系统由网线,以 太

    2024年02月16日
    浏览(23)
  • C#时间轴曲线图形编辑器开发1-基本功能

    目录 一、前言 1、简介 2、开发过程 3、工程下载链接 二、基本功能实现 1、绘图面板创建 (1)界面布置 (2)显示面板代码 (3) 面板水平方向、竖直方向移动功能实现 (4)面板放大、缩小、恢复正常显示功能实现 (5)鼠标当前位置坐标值和界面显示 (6)面板实现效果

    2024年02月15日
    浏览(30)
  • C#时间轴曲线图形编辑器开发2-核心功能实现

    目录 三、关键帧编辑 1、新建Winform工程 (1)界面布局  (2)全局变量 2、关键帧添加和删除 (1)鼠标在曲线上识别 (2)键盘按键按下捕捉 (3)关键帧添加、删除  (4)修改关键帧值 3、曲线插值 (1)三次样条插值 (2)工程代码下载链接 四、曲线数据导出和读取 1、数

    2024年02月15日
    浏览(32)
  • 基于CAA的CATIA二次开发环境搭建全过程(亲测可用)

     本着交流与学习的目的,现将本人亲自探索的基于CAA的CATIA二次开发环境搭建全过程分享出来,供有需要者参考。对于文中的不足或错误之处,请不吝指教。  本文所涉及的软件及其版本包括:CATIA V5 R19、CAA R19、Rade V5 R19、Microsoft Visual Studio 2005 、VA_X_Setup1925。(软件版本一

    2024年02月05日
    浏览(63)
  • C#实现物体尺寸测量(利用坐标转换)

    由于需要实现一个物体的测量,但是已有QT程序,最后的整体功能需要在C#集成实现。 首先有两个方案:(1)利用已有的QT程序以及界面,直接在C#中调用QT,或者C++程序,但是经过尝试,发现两者之间进行调用不是那么的简单,涉及到许多变量定义的不用以及数据结构的不同

    2024年02月09日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包