精华内容
下载资源
问答
  • 2021-04-20 15:28:25
    public GcadApplication App;
    public GcadDocument Doc;
    public bool connect_autocad()
            {
    
    
                try
                {   // if AUTOCAD alread open,then conenct it.
                    App = (GcadApplication)System.Runtime.InteropServices.Marshal.GetActiveObject("AutoCAD.Application");
                }
                catch
                {   // if AUTOCAD don't open then open it. 
                    try
                    {
                        App = new GcadApplication();
                    }
                    catch (Exception e) { Console.WriteLine(e); return false; }
                }
                App.Visible = true;
                return true;
            }
    
    public void Open_Cad(CadFileInfo filePath)
            {
                try
                {
                    //連接CAD
                    if (connect_autocad() == false)
                    {
                        return;
                    }
                    //關閉已打開文檔
    
                    App.Documents.Close();
                    Doc = App.Documents.Open(filePath.filePath);
                    //App.ZoomExtents();
                    Doc.SendCommand("filedia\r0\r");
                    Doc.SendCommand("GetTk\r");
                }
                catch
                {
    
                }
            }

     

    更多相关内容
  • CAD的二次开发,适用于ZWCAD以及AutoCAD软件,可以自动按照需求绘制对应的图块,减轻人为绘图导致的错误,此程序为本人在工作中实践开发的,经测试功能正常,希望能帮助到有需要的人,尤其是CAD绘图人员,有任何疑问...
  • C#画图(可保存cad文件,并加载cad文件)
  • C# CAD 画图工具

    2018-01-25 16:52:04
    C# CAD 画图工具, 可以创建直线、圆弧、鼠标拖拽、undo\redo
  • C# 创建cad的ribbon菜单,带图表,两种按钮,按钮事件都实现了
  • C# CAD 读写扩展记录源码
  • c#Cad二次开发文档

    2018-05-31 16:10:48
    基于.NET平台对AutoCAD进行二次开发,可充分利用.NET 的各种优势,在保证功能强大的前提下大大提高开发速度。
  • c# 开源CAD

    2019-03-13 19:29:53
    C#写的开源的CAD,编译通过,非常不错,值得下载学习。
  • 最新C#360界面(带有两种动画效果),欢迎使用交流,并作出相应改善。
  • C# CAD创建点

    2021-07-15 09:25:54
    ///创建点,DbEditTransaction是数据库编辑相关的处理器,doc是当前文档 using (var trans = new DbEditTransaction(_doc.Database)) { // 创建点,传入坐标 DBPoint DBPoint = new DBPoint(new Point3d(100, ...

    点的样式

    ///创建点,DbEditTransaction是数据库编辑相关的处理器,doc是当前文档
     using (var trans = new DbEditTransaction(_doc.Database))
                {
                    // 创建点,传入坐标
                    DBPoint DBPoint = new DBPoint(new Point3d(100, 100, 50));
    
                    // 控制点的显示外观
                    _doc.Database.Pdmode = 35;
                    _doc.Database.Pdsize = 5;
    
                    //判断是否存在图层并解锁
                    CheckLayer(_doc.Database, LayerInfo.LayerName_Tdz);
    
                    DBPoint.ColorIndex = 1;
                    trans.CreateEntity(DBPoint, LayerInfo.LayerName_Tdz, EnumSpaceMode.ModelSapce);
    
                    trans.Commit();
                }
    
            //判断是否存在图层并解锁
            public void CheckLayer(Database db, string strLayerName)
            {
                //根据要素模型中定义的图层名称得到图层的设置模型
                LayerModel layerModel = AppConfigUtil.LayerConfig.Layers.FirstOrDefault(p => p.LayerName.Equals(strLayerName));
                if (layerModel == null)
                {
                    throw new Exception($"配置错误:未找到图层名为{strLayerName}的LayerModel");
                }
    
                //创建图层
                using (var trans = new DbEditTransaction(db))
                {
                    //判断图层是否存在
                    bool hasLayer = trans.HasLayer(layerModel.LayerName);
                    if (!hasLayer)
                    {
                        //创建图层
                        trans.CreateLayer(layerModel.LayerName, layerModel.ColorIndex, layerModel.LineTypeName);
                    }
                    else
                    {
                        //图层解锁
                        trans.UnlockLayer(layerModel.LayerName);
                    }
    
                    trans.Commit();
                }
            }
    
    展开全文
  • cad二次开发,图表绘制

    cad二次开发应该没有自带的图表功能,所以自己用polyline,hatch,line,DBText等手动绘制了一个。将方法封装,给大家提供个便利。

     使用方法 :导入Graph.dll。同时需导入cad开发的库 accoremgd.dll, acdbmgd.dll, acmgd。下载地址:https://download.csdn.net/download/qq_40183655/70051703  自己写的东西,免费下载。

    可对图形的画图步长,实际步长,高程尺,网格等进行设置。

    代码示例如下:

            [CommandMethod("test")]
            public void test()
            {
                //设置曲线数据
                List<DataInfo> dataInfos = new List<DataInfo>();
                dataInfos.Add(new DataInfo(25, 100));
                dataInfos.Add(new DataInfo(55, 200));
                dataInfos.Add(new DataInfo(130, 50));
                dataInfos.Add(new DataInfo(190, 20));
                
                polylineParameter polylineParameter = new polylineParameter();
                polylineParameter.dataInfos = dataInfos;
                //设置曲线颜色
                polylineParameter.colorIndex = 1;
                //设置曲线名称
                polylineParameter.polylineName = "测试1";
    
                List<DataInfo> dataInfos2 = new List<DataInfo>();
                dataInfos2.Add(new DataInfo(30, 80));
                dataInfos2.Add(new DataInfo(69, 263));
                dataInfos2.Add(new DataInfo(130, 160));
                dataInfos2.Add(new DataInfo(270, 140));
    
                polylineParameter polylineParameter2 = new polylineParameter();
                polylineParameter2.dataInfos = dataInfos2;
                polylineParameter2.colorIndex = 3;
                polylineParameter2.polylineName = "测试2";
    
    
                List<polylineParameter> polylineParameters = new List<polylineParameter>();
                polylineParameters.Add(polylineParameter);
                polylineParameters.Add(polylineParameter2);
                Graph graph = new Graph(polylineParameters);
                //设置X轴实际步长
                graph.setXRealStep(25);
                //设置Y轴实际步长
                graph.setYRealStep(20);
                //设置图名
                graph.mainGraphName = "折线图";
                graph.XName = "容量";
                graph.Yname = "高程";
                //绘图(基点)
                graph.GenerateGraph(Point3d.Origin);
            }

    有关此.dll使用的相关问题,都可留言或私信。

    展开全文
  • Document doc = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument; Database db = doc.Database; Editor ed = doc.Editor; using (Transaction trans = db....
    public static void AddRect()
    {
        Document  doc = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument;
        Database db = doc.Database;
        Editor ed = doc.Editor;
        using (Transaction trans = db.TransactionManager.StartTransaction())
        {
            //PromptEntityResult prEnt = ed.GetEntity("\n获取图形");
            PromptSelectionResult prSelRes = ed.GetSelection();
            if (prSelRes.Status == PromptStatus.OK)
            {
                ObjectId[] objIds = prSelRes.Value.GetObjectIds();
                foreach (var objId in objIds)
                {
                    Entity ent = trans.GetObject(objId, OpenMode.ForRead) as Entity;
                    Point3d minPt = ent.GeometricExtents.MinPoint;
                    Point3d maxPt = ent.GeometricExtents.MaxPoint;
                    Point2d pt1 = new Point2d(maxPt.X, minPt.Y);
                    Point2d pt2 = new Point2d(minPt.X, maxPt.Y);
                    Polyline pl = new Polyline();
                    pl.AddVertexAt(0, new Point2d(minPt.X, minPt.Y), 0, 0, 0);
                    pl.AddVertexAt(1, pt1, 0, 0, 0);
                    pl.AddVertexAt(2, new Point2d(maxPt.X, maxPt.Y), 0, 0, 0);
                    pl.AddVertexAt(3, pt2, 0, 0, 0);
                    pl.Closed = true;
                    pl.ColorIndex = 1;
                    AddEntity.AddEntToModeSpace(db, pl);
                }
            }
            trans.Commit();
        }
    }

    展开全文
  • 填充Hatch获取边界线的方法,如果有些填充已经丢失了边界,此方法可以返回所有边界线, 低版本CAD和高版本CAD两种方法,返回值List。采用C#语言。net开发。
  • C#_CAD二次开发获取面域的边界线.rar
  • C#实现CAD绘图功能

    2017-10-26 15:02:25
    C#窗体应用程序实现点线面等图形元素绘制,实现部分CAD可用的功能
  • using Autodesk.AutoCAD.ApplicationServices; using Autodesk.AutoCAD.DatabaseServices; using System.Collections.Generic; using System.Data; using System.IO; using YITU.FISS.App; using YITU.FISS.Model; ...
  • 由于公司需求,最近也是找了好久才终于找到C#.NET读取DWG格式的CAD文件信息方法,采用 DWGdirect_NET_3_02动态库里的方法,可以完美的读到DWG文件的信息,这里分享出来,压缩文件包括了DEMO和动态库文件,DEMO可以...
  • 应用netDXF(C#)实现读写dxf文件(替代dwg文件编辑的方案),有两个测试程序,均已现实,本人亲测,直的参考学习。 2. 通过C#调用netDXF库来实现dxf文件的读写和绘图。该方法能实现大部分所需功能,如dxf文件的读...
  • C#解析CAD文件

    2018-05-04 11:28:51
    C# 读取Autocad DXF文件图形数据,基于WPF环境开发并显示图形文件
  • c#实时操作CAD文件,运用链接库的方式,实时打开和关闭CAD文件
  • public static ObjectId AddTextStyle(string styleName, string fontName, bool bold, bool italic, int charset, int pitchAndFamily) { Database db = HostApplicationServices.WorkingDatabase;...
  • C# CAD .Net 开发笔记

    2021-03-10 15:57:59
    一、选点(距离) 1、点 PromptPointOptions 类用来设置提示字符串和其它的一些控制提示的选项。 这个类的一个实例作为参数被传入到 Editor.GetPoint 方法。 在函数的开始,实例化这个类,设置字符串参数为...
  • 在AutoCAD二次开发过程中,一般都是开发自定义的命令,然后在菜单栏/工具栏/菜单面板中添加对应的菜单,通过点击菜单调用开发的命令。 对于实现以上问题,传统的做法就是在二次开发类库中开发一个命令方法,并且...
  • 近日拜读了“北辰之北灬”的《C#CAD二次开发图案填充对象边界提取》一文(原文链接:https://blog.csdn.net/pp_fzp/article/details/52992615),并在Visual Studio 2012版本中进行了反复的测试,或许因版本的原因,...
  • 在AutoCAD制图中,面域(Region)是一个很重要的内容,应用于土地调查和工程测量时,利用实体编辑的交、并、差等运算方法可以准确快速地解决地块的分切,拓扑问题,在CAD中实现GIS的部份功能。但生成面域后,或者通过...
  • c#CAD二次开发全套视频目录

    千次阅读 2019-08-11 19:22:27
    前段时间自学C#CAD二次开发,遍布网上无教学视频。经过自己艰苦摸索,小有所成。 开此C#CAD二次开发在线学习视频,看能够帮助各位设计院熬夜画图的同僚们一起研究CAD二次开发,提高绘图效率。 觉得感兴趣可以试看...
  • C#编程的CAD停靠屏幕菜单,下载可以使用,程序非常完整
  • C# AutoCAD二次开发初步(HelloWorld) 中秋佳节,先来祝福大家中秋节快乐??? 难得的中秋节放假,在假期充一下电。在这里我打算写一个系列文章来分享我在做CAD二次开发项目的时候的一些实际项目中的经验,该系列...
  • c# cad 批量将dwg转换为dxf

    千次阅读 2020-06-11 14:20:08
    private void btn_dwg2dxf_Click(object sender, EventArgs e) { Autodesk.AutoCAD.Interop.... (Autodesk.AutoCAD.Interop.AcadApplication)Autodesk.AutoCAD.ApplicationServices.Application.AcadAppl...
  • c# cad注册表

    2019-09-22 20:31:12
    自动加载lsp string arxpath = Path.Combine(Application.StartupPath, "SmartMark3_2015X64.ARX");... RegistryKey smartkey = appsmartkey.CreateSubKey(cad804+"\\"+ "Applications\\SmartMa...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 7,645
精华内容 3,058
关键字:

c# cad

c# 订阅
友情链接: 新建文件夹.rar