xxxkkk331 发表于 2022-6-22 00:40:12

c#如何插入动态块并改变拉伸距离值

可见性会操作,一改拉伸的距离值就报错

qq1254582201 发表于 2022-6-22 20:04:14

/// <summary>
      /// 设置动态块的动态属性
      /// </summary>
      /// <param name="blockId">动态块的ObjectId</param>
      /// <param name="propName">动态属性的名称</param>
      /// <param name="value">动态属性的值</param>
      public static void SetDynBlockValue(this ObjectId blockId, string propName, object value)
      {
            var props = blockId.GetDynProperties();//获得动态块的所有动态属性
            //遍历动态属性
            foreach (DynamicBlockReferenceProperty prop in props)
            {
                //如果动态属性的名称与输入的名称相同且为可读
                if (prop.ReadOnly == false && prop.PropertyName == propName)
                {
                  //判断动态属性的类型并通过类型转化设置正确的动态属性值
                  switch (prop.PropertyTypeCode)
                  {
                        case (short)DynBlockPropTypeCode.Short://短整型
                            prop.Value = Convert.ToInt16(value);
                            break;
                        case (short)DynBlockPropTypeCode.Long://长整型
                            prop.Value = Convert.ToInt64(value);
                            break;
                        case (short)DynBlockPropTypeCode.Real://实型
                            prop.Value = Convert.ToDouble(value);
                            break;
                        default://其它
                            prop.Value = value;
                            break;
                  }
                  break;
                }
            }
      }

vitalgg 发表于 2022-6-22 12:24:25

会lisp的,不会C#.

(block:set-dynprop blk prp val)
参数:1 blk : 块图元/对象;2 prp : 块特性;3 val : 值;
页: [1]
查看完整版本: c#如何插入动态块并改变拉伸距离值