找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1421|回复: 3

[公告]:.NET在AutoCAD 2008中支持自定义实体!!

[复制链接]
发表于 2006-10-22 12:10:29 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
刚从一个朋友那里拿到了AutoCAD 2008中有关.NET 开发的4个dll文件,大致看了一下。发现新增加了一个命名空间:Autodesk.AutoCAD.ComponentModel,应该是有关自定义实体的.
下面是这个命名空间中的类:

namespace Autodesk.AutoCAD.ComponentModel   
{   
      public interface IPropertyProvider   
      {   
            // Methods   
            PropertyDescriptorCollection GetProperties(object instance);   
      }   
  
      public interface ITypeDescriptor   
      {   
            // Methods   
            void AddPerInstancePropertyProvider(IPropertyProvider pp);   
            void AddProperty(PropertyDescriptor prop);   
            ReadOnlyCollection<IPropertyProvider> GetPerInstancePropertyProviders();   
            PropertyDescriptorCollection ModifyPropertyCollection(PropertyDescriptorCollection defaultProps, object instance);   
            void RemovePerInstancePropertyProvider(IPropertyProvider pp);   
            void RemoveProperty(PropertyDescriptor prop);   
  
            // Properties   
            bool HasPerInstancePropertyProviders { get; }   
      }   
  
      public abstract class PropertyDescriptorBase<TComponent, TPropertyValue> : PropertyDescriptor   
      {   
            // Methods   
            public PropertyDescriptorBase(string name);   
            public PropertyDescriptorBase(string name, Attribute[] att);   
            public override bool CanResetValue(object component);   
            public override void ResetValue(object component);   
            public override bool ShouldSerializeValue(object component);   
  
            // Properties   
            public override Type ComponentType { get; }   
            public override string DisplayName { get; }   
            public override bool IsReadOnly { get; }   
            public override Type PropertyType { get; }   
      }   
  
      [AttributeUsage(4)]   
      public class PropertyProviderAttribute : Attribute   
      {   
            // Methods   
            public PropertyProviderAttribute(Type type);   
  
            // Properties   
            public Type PropertyProviderType { get; }   
      }   
  
      public class TypeDescriptionProvider<T> : TypeDescriptionProvider   
      {   
            // Methods   
            public TypeDescriptionProvider();   
            public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance);   
      }   
  
      public class TypeDescriptor : ITypeDescriptor   
      {   
            // Methods   
            public TypeDescriptor(Type type);   
            public void AddPerInstancePropertyProvider(IPropertyProvider pp);   
            public void AddProperty(PropertyDescriptor prop);   
            public ReadOnlyCollection<IPropertyProvider> GetPerInstancePropertyProviders();   
            public PropertyDescriptorCollection ModifyPropertyCollection(PropertyDescriptorCollection defaultProps, object instance);   
            public void RemovePerInstancePropertyProvider(IPropertyProvider pp);   
            public void RemoveProperty(PropertyDescriptor prop);   
  
            // Properties   
            public bool HasPerInstancePropertyProviders { get; }   
      }   
  
      public class TypeManager   
      {   
            // Properties   
            public static TypeManager Instance { get; }   
            public ITypeDescriptor this[Type type] { get; }   
      }   
}
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2006-10-22 18:17:49 | 显示全部楼层
明显是替换COM功能的几个接口,从AutoCAD2005->2006->2007的.NET API发展历程看,我不太觉得在这个版本会完全实现。
现在使用R14的工程师还多得不得了,就算ADESK在.NET上实现了自定义实体,也只能供不多的几个程序员意淫而已。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-10-22 18:41:06 | 显示全部楼层
最初由 masterhe 发布
[B]明显是替换COM功能的几个接口,从AutoCAD2005->2006->2007的.NET API发展历程看,我不太觉得在这个版本会完全实现。
现在使用R14的工程师还多得不得了,就算ADESK在.NET上实现了自定义实体,也只能供不多的几个程序... [/B]

使用R14的还有几个?!你的多的不得了,也估计是意淫罢了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-10-22 19:50:01 | 显示全部楼层
看来简单的文字,让人阅读后不产生误解也挺难的,怪不得现在不少人洋文不错,中文很差。

不过倒是可以给你透露一下,我每年会专程循环去国内的各大城市拜访老用户,取得第一手的使用情况,有些数据不是那些简单将Autodesk.AutoCAD.DatabaseServices.Line作个所谓“封装”的人所能明白的。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-12-23 06:50 , Processed in 0.472518 second(s), 37 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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