Solidworks二次开发-3D坐标转换

一、绝对坐标与空间坐标的转换,装配体的原点对应的是绝对坐标,零件原点对应的是相对坐标;
绝对坐标:

装配体原点


相对坐标:

零件原点


在装配体中任意点选的点获得的坐标为绝对坐标:

右下角显示的值为绝对坐标值


获取相对坐标的测量方式:

此出测量的值为相对坐标


代码转换:

    private double[] TransformCoordinate(double[] point) //传入需要转换的坐标值
        {
            var component = SwSelectionMgr.GetSelectedObjectsComponent4(1, -1);//选取相对坐标所在的零件
            MathUtility swMathUtil = (MathUtility)SwApp.GetMathUtility();
            MathPoint  swMathPoint = swMathUtil.CreatePoint((object)point);
            MathTransform mathTransform = component.Transform2;
            mathTransform = mathTransform.Inverse();//反转,由绝对坐标转为相对坐标(如注释掉此句,则是由相对坐标转为绝对坐标)
            swMathPoint = (MathPoint)swMathPoint.MultiplyTransform(mathTransform);
            double[] relativCoordinate = (double[])swMathPoint.ArrayData;//获得相对坐标
            return relativCoordinate;
        }

相关文章

学习编程是顺着互联网的发展潮流,是一件好事。新手如何学习...
IT行业是什么工作做什么?IT行业的工作有:产品策划类、页面...
女生学Java好就业吗?女生适合学Java编程吗?目前有不少女生...
Can’t connect to local MySQL server through socket \'/v...
oracle基本命令 一、登录操作 1.管理员登录 # 管理员登录 ...
一、背景 因为项目中需要通北京网络,所以需要连vpn,但是服...