明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2228|回复: 7

CAD扩展数据

[复制链接]
发表于 2020-10-11 19:21:31 | 显示全部楼层 |阅读模式
有一个关于SetxData方法的问题,我按照这个写法显示方法错误,我不知道setxdata方法中,第二个参数该出入一个什么样的对象,还有这个方法该怎么用,有人提示一下吗,非常感谢!
名称
类型
Message
"参数 type (位于 SetXData method 中) 无效"
string

本帖子中包含更多资源

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

x
 楼主| 发表于 2020-10-11 19:27:45 | 显示全部楼层
Int32[] Xdatatype = new[] {1001};
                        object[] datavalue= new object[] {"MyApp" };
                        Pl.SetXData(Xdatatype, datavalue);
 楼主| 发表于 2020-10-11 19:28:38 | 显示全部楼层
只是用了上面三行数据,不知道datavalue参数怎么构建,求指点
发表于 2020-10-12 08:48:19 | 显示全部楼层
namespace Autodesk.AutoCAD.DatabaseServices
{
  [Wrapper("AcDb::DxfCode")]
  public enum DxfCode
看这个
发表于 2020-10-12 08:49:10 | 显示全部楼层
        switch (obj.GetType().Name)
        {
          case "bool":                        //string
            return new TypedValue((int)DxfCode.ExtendedDataBinaryChunk, obj);
          case "String":                        //string
            return new TypedValue((int)DxfCode.ExtendedDataAsciiString, obj);
          case "Int32":                        //int
          case "Int16":                        //short
          case "UInt32":                        //uint
          case "Int64":                        //long
          case "UInt16":                        //ushort
            return new TypedValue((int)DxfCode.ExtendedDataInteger32, obj);
          case "Double":                        //double
          case "Single":                        //float
          case "Decimal":                //decimal
            return new TypedValue((int)DxfCode.ExtendedDataReal, obj);
          case "Object":                        //object      
            return new TypedValue((int)DxfCode.ExtendedDataAsciiString, obj);
          case "SByte":                        //sbyte
          case "Byte":                //byte
            return new TypedValue((int)DxfCode.ExtendedDataInteger16, obj);
          case "Vector3d":
          case "Point3d":
            return new TypedValue((int)DxfCode.ExtendedDataWorldXCoordinate, obj);
          case "Handle":
            return new TypedValue((int)DxfCode.ExtendedDataHandle, obj);
          default:
            return new TypedValue((int)DxfCode.ExtendedDataAsciiString, obj.ToString());
        }
发表于 2020-10-12 14:53:51 | 显示全部楼层
屏幕截图下载看不到,这是为什么
 楼主| 发表于 2020-10-21 10:57:10 | 显示全部楼层
问号兄233 发表于 2020-10-12 14:53
屏幕截图下载看不到,这是为什么

应该是截图太小的原因,用上面的方法解决了
发表于 2022-6-2 16:59:51 | 显示全部楼层
如何获取扩展数据!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 05:21 , Processed in 0.168423 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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