明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1194|回复: 3

百度文心一言生成的程序,不知道对不

[复制链接]
发表于 2023-8-21 09:15:14 | 显示全部楼层 |阅读模式
C#编程读取AutoCAD数据
    在C#中读取AutoCAD数据可以通过几种不同的方式实现,主要取决于你想要从AutoCAD中获取的数据类型和你正在使用的AutoCAD版本。
以下是一些可能的方法:
  • 使用.NET API: AutoCAD提供了一个.NET API,允许你使用C#或其他.NET语言编写代码来与AutoCAD交互。这包括读取和修改AutoCAD文件中的数据。
  • 使用ObjectARX: ObjectARX是AutoCAD的一个C++ API,可以通过C#使用COM Interop来访问。然而,这需要更深入的编程知识,并且可能比使用.NET API更复杂。
  • 使用AutoLISP: AutoLISP是一种简单的编程语言,可以创建在AutoCAD中运行的自动执行程序。你可以使用AutoLISP编写脚本来读取数据,并通过.NET或ObjectARX API将其传递给C#程序。
以下是一个使用.NET API的简单示例,读取AutoCAD中的实体的信息:
csharp复制代码

using Autodesk.AutoCAD.Runtime;  

using Autodesk.AutoCAD.ApplicationServices;  

using Autodesk.AutoCAD.DatabaseServices;  

using Autodesk.AutoCAD.Geometry;  

  

public class Program  

{  

    [CommandMethod("ReadData")]  

    public void ReadData()  

    {  

        // 获取当前文档  

        Document acDoc = Application.DocumentManager.MdiActiveDocument;  

        Database acCurDb = acDoc.Database;  

  

        // 打开一个块  

        using (Transaction acTrans = acCurDb.TransactionManager.StartTransaction())  

        {  

            BlockTable acBlkTbl;  

            acBlkTbl = acTrans.GetObject(acCurDb.BlockTableId, OpenMode.ForRead) as BlockTable;  

            BlockTableRecord acBlkTblRec;  

            acBlkTblRec = acBlkTbl[BlockTableRecord.ModelSpace] as BlockTableRecord;  

  

            foreach (ObjectId id in acBlkTblRec)  

            {  

                if (id.ObjectClass.DxfName == "TEXT") // 如果该对象是文字  

                {  

                    // 获取文字对象  

                    Text acText = (Text)acTrans.GetObject(id, OpenMode.ForRead);  

                    // 打印文字内容  

                    System.Console.WriteLine(acText.TextString);  

                }  

            }  

        }  

    }  

}

请注意,这只是一个简单的示例,实际的读取操作可能需要处理更复杂的数据结构和更多的对象类型。此外,你还需要处理异常和错误,并确保你的代码在AutoCAD关闭时正确地清理资源。

发表于 2023-8-21 12:03:10 | 显示全部楼层
贴AI生成的代码,大概率要被关小黑屋,下次别发了。
发表于 2023-8-22 10:15:28 | 显示全部楼层
Bao_lai 发表于 2023-8-21 12:03
贴AI生成的代码,大概率要被关小黑屋,下次别发了。

能解决问题就好,不管是AI还是编程高手
发表于 2023-8-22 14:19:07 | 显示全部楼层
漏洞百出,自己用没关系,给人开发要被骂死
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 02:43 , Processed in 0.146534 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表