初始化图元的时候必须调用一下Entity.SetDatabaseDefaults();
尤其是初始化填充.
因为cad的高低版本可能处理了初始化赋值的顺序,导致计算不正确,
而且它报错的地方可能并不是提交数据库时,而是计算图元显示时,
例如: hatch.EvaluateHatch(true);//计算填充并显示
已有的属性块使用ScaleFactors和Position修改并不改变图形,这是为什么呢?
这是由于cad的图元属性仅仅是用来初始化的,之后再去修改就最好不要用属性,而是通过矩阵去修改.
可以通过以下代码实践一下:
记住一个原则就行:新建是通过属性或者字段,修改通过矩阵.
平方: sqr=square
平方根: sqrt=Square Root
这样也是开根:sqr(2^0.5)
对应win10的科学计算器: (运行:calc,左上角:科学)
平方: 输入2q
\[sqr(2)==2x^2==4 \]开根: 输入2y0.5
\[sqrt(2)==2x^y==2^\left(0.5\right)==1.414213562373 \](完)