明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 482|回复: 4

动态块中点参数赋值问题

[复制链接]
发表于 2024-2-3 22:44 | 显示全部楼层 |阅读模式
本帖最后由 tianmiao1989 于 2024-2-3 22:45 编辑

一个属性块,设置了点参数  

var props = mycad.GetDynProperties(blockId);//获取动态块的所有属性
                foreach (DynamicBlockReferenceProperty prop in props)
                {

                    mycad.caddisplay("\n" + prop.PropertyName + ": " + prop.PropertyTypeCode + "\n");

                }
               

               
                string value = "-3749";
                foreach (DynamicBlockReferenceProperty prop in props)
                {

                    //如果动态属性的名称与输入的名称相同且为可读
                    if (prop.ReadOnly == false && prop.PropertyName == "位置1 X")
                    {
                        editor.WriteMessage(prop.PropertyName);
                        //decimal xValue = Convert.ToDecimal(value);
                        
                        prop.Value = value;
                        //判断动态属性的类型并通过转换类型设置正确的动态属性值

                        break;
                    }
                }

想修改“位置1 X”的值,“位置1 X”读出来的prop.PropertyTypeCode 是1,prop.value 用了string、double、object等几个数据类型进行赋值,都出现了Autodesk.AutoCAD.Runtime.Exception: "eInvalidInput" 异常 ,请教各位大神,改如何修改?

发表于 2024-2-3 23:39 | 显示全部楼层
value是负数?
 楼主| 发表于 2024-2-4 20:46 | 显示全部楼层
难道不能是负数么?
发表于 2024-2-4 21:59 | 显示全部楼层
tianmiao1989 发表于 2024-2-4 20:46
难道不能是负数么?

先读再+1设置看看,你这个代码看不出问题
https://www.cnblogs.com/JJBox/p/12371467.html
我也差不多这样做?忘记提权?事务问题?还是触发到其他错误了?
 楼主| 发表于 2024-2-4 22:22 | 显示全部楼层
还是不行,这个事比较奇怪了,可能点参数的数据类型不太一样,后面用别的思路解决了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-7 09:02 , Processed in 0.378589 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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