乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 65|回复: 3

从. net对象获取COM属性

[复制链接]

14

主题

36

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
92
发表于 2018-9-24 15:47:00 | 显示全部楼层 |阅读模式

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

14

主题

36

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
92
发表于 2018-9-24 23:06:48 | 显示全部楼层
嗯,你的代码看起来不错,你可以试试一份文档。ObjectedToObject或AcadDocument.HandletToObject
回复

使用道具 举报

14

主题

36

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
92
发表于 2018-9-25 21:50:35 | 显示全部楼层
类似
  1. public class Commands
  2.     {
  3.         static object getComDbObj(ObjectId id, Document doc)
  4.         {
  5.             AcadDocument acadDocument = doc.GetAcadDocument() as AcadDocument;
  6.             if (acadDocument == null)
  7.                 throw new System.Exception("AcadDocument is null");
  8.             return acadDocument.ObjectIdToObject(id.OldId);
  9.         }
  10.         [CommandMethod("doit")]
  11.         public static void doit()
  12.         {
  13.             Document doc = Application.DocumentManager.MdiActiveDocument;
  14.             AcadModelSpace ms = getComDbObj(doc.Database.CurrentSpaceId, doc) as AcadModelSpace; //assume
  15.             doc.Editor.WriteMessage(ms == null ? "null" : "eOk");
  16.         }
  17.     }

回复

使用道具 举报

14

主题

36

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
92
发表于 2018-9-28 11:23:50 | 显示全部楼层
谢谢你的建议。当使用id.OldIdptr从.net对象获取COM对象id时,我仍然会得到featureline对象和随后的强制转换错误。我不想重新编写例程,只使用COM版本,但这似乎是我要走的路线。
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-2-4 09:02 , Processed in 0.146074 second(s), 60 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表