C# CAD开发 世界坐标WCS和用户坐标UCS

本人录制c#CAD二次开发视频 基础入门全套,感兴趣可以淘宝搜索店铺 PT的cad小店

https://i.xue.taobao.com/detail.htm?spm=a2174.7765247.0.0.6EmxKK&courseId=112889

 

AutoCAD的坐标系有世界坐标系(WCS)和用户坐标系(UCS)两种。AutoCAD默认的坐标系是世界坐标系,而某些情况下AutoCAD允许建立自己的坐标系(即用户坐标系)。用户坐标系的原点可以放在任意位置上,坐标系也可以倾斜任意角度。由于绝大多数二维绘图命令只在XY或与XY平行的面内有效,

注意一:我们在 AutoCAD 界面中,通过手动操作创建的图元都是基于 UCS 的。

注意二:通过程序点选获取的坐标点是是基于UCS.

注意三:通过程序程序创建图元都是基于WCS.(自动生成基于WCS)

注意四:通过程序解析图元的坐标点都是基于WCS的

 

 

创建UCS

using System ;
using System.Runtime.InteropServices;
using Autodesk.AutoCAD.Interop;//添加Autocad(即com)引用
using Autodesk.AutoCAD.Interop.Common;//添加axdblib(即dbx)引用
using Autodesk.AutoCAD.Runtime;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.ApplicationServices;

[assembly: CommandClass(typeof(ClassLibrary.CQSClass))]

namespace ClassLibrary
{
        ///


        /// Summary description for CQSClass.
        ///

        public class CQSClass
        {
                [CommandMethod("myucs")]
                static public void test() // This method can have any name
                {
                        // Put your command code here
                        //如何建立用户坐标系?如何建立旋转的ucs?
                        //六行解决问题
                       AcadDocument doc=(AcadDocument)Application.DocumentManager.MdiActiveDocument.AcadDocument;
                        double[] p0={10,10,0};//圆点
                        double[] p1={10,15,0};//x轴方向
                        double[] p2={-10,10,0};//Y轴方向
                        //增加临时ucs(用户坐标系)
                         AcadUCS myucs=doc.UserCoordinateSystems.Add(p0,p1,p2,"myucs");
                        doc.ActiveUCS=myucs;//将临时坐标系设为当前坐标系


                }

        }
}

你可能感兴趣的:(C# CAD开发 世界坐标WCS和用户坐标UCS)