camwin 发表于 2022-8-28 17:45

C# activex获取图层名称

本帖最后由 camwin 于 2022-10-8 07:20 编辑

如何使用C# activex 获取直线图层名称


xiaolong1487 发表于 2022-8-28 19:44

原文https://www.zhihu.com/question/548200870/answer/2626448383

      public void GetLineLayer()
      {
            var ed = Application.DocumentManager.MdiActiveDocument.Editor;
            PromptEntityOptions pEntOpts = new PromptEntityOptions("请选取直线:");
            pEntOpts.AddAllowedClass(typeof(Line), true);
            PromptEntityResult pEntRes = ed.GetEntity(pEntOpts);
            if (pEntRes.Status != PromptStatus.OK)
                return;
            ed.WriteMessage(
                $"\n直线所在图层为{(pEntRes.ObjectId.GetObject(OpenMode.ForRead) as Line)?.Layer}");
      }

yshf 发表于 2022-9-28 22:48

本帖最后由 yshf 于 2022-9-28 22:49 编辑

建议你看一下这本书《基于Visual C#的AutoCAD开发及其在工程中的应用》,应该可以找到答案。
1、http://bbs.mjtd.com/forum.php?mod=viewthread&tid=82844&highlight=%BB%F9%D3%DAVisual%2BC%23%B5%C4AutoCAD%BF%AA%B7%A2%BC%B0%C6%E4%D4%DA%B9%A4%B3%CC%D6%D0%B5%C4%D3%A6%D3%C3
[下载]基于Visual C#的AutoCAD开发及其在工程中的应用(PDF)
221 个回复 - 29186 次查看

很不错的C#开发资料,主要用于工程、土建的实例代码及讲解,极力推荐。

2010-8-18 21:31 - oheart - AutoCAD开发资料

2、http://bbs.mjtd.com/forum.php?mod=viewthread&tid=92895
一本不错的参考资料——基于Visual_C#的AutoCAD开发及其在工程中的应用
27 个回复 - 3533 次查看

个人找到一本使用C#进行cad二次开发的资料,感觉内容不错,里面从基本的入门知识一直讲到一些cad常见的应用,下面是一些图片。 感觉这个内容不错,和大家分享一下。附件见二楼。 由于最近手头比 ...

2012-4-8 16:23 - ORCHI - AutoCAD.net/VB.net/C# 编程技术

d1742647821 发表于 2022-8-31 15:21

Entity ent;
      var acadEnt = ent.AcadObject;
      var comtype = Type.GetTypeFromHandle(Type.GetTypeHandle(acadEnt));
      var layerName = comtype.InvokeMember("Layer", BindingFlags.GetProperty, null, acadEnt, null) as string;



非常简单

nsh935 发表于 2022-8-28 18:22

期待大佬回答!!!

camwin 发表于 2022-8-28 19:51

本帖最后由 camwin 于 2022-8-28 19:54 编辑

谢了,但是说好了是activex,这好像不是

lzx838 发表于 2022-8-29 12:45

activex,可以参考VBA方面的知识

camwin 发表于 2022-9-1 21:34

错误        1        未能找到类型或命名空间名称“Entity”(是否缺少 using 指令或程序集引用?)       

camwin 发表于 2022-9-6 22:29

这个问题难道只有肖大侠可以回答:(

d1742647821 发表于 2022-9-13 11:26

camwin 发表于 2022-9-1 21:34
错误        1        未能找到类型或命名空间名称“Entity”(是否缺少 using 指令或程序集引用?)

连空间都没引用获取个屁

camwin 发表于 2022-9-22 23:23

d1742647821 发表于 2022-9-13 11:26
连空间都没引用获取个屁

引了,2016library而已
页: [1] 2
查看完整版本: C# activex获取图层名称