动态块中点参数赋值问题
本帖最后由 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" 异常 ,请教各位大神,改如何修改?
value是负数? 难道不能是负数么? tianmiao1989 发表于 2024-2-4 20:46
难道不能是负数么?
先读再+1设置看看,你这个代码看不出问题
https://www.cnblogs.com/JJBox/p/12371467.html
我也差不多这样做?忘记提权?事务问题?还是触发到其他错误了? 还是不行,这个事比较奇怪了,可能点参数的数据类型不太一样,后面用别的思路解决了 tianmiao1989 发表于 2024-2-4 22:22
还是不行,这个事比较奇怪了,可能点参数的数据类型不太一样,后面用别的思路解决了
你好,想问下最后怎么解决的,能否分享一下经验呢,刚好也遇到你提的问题 weimeng555 发表于 2024-5-22 01:44
你好,想问下最后怎么解决的,能否分享一下经验呢,刚好也遇到你提的问题
看看ifox的?
页:
[1]