圆的加粗问题!!
www.dimcax.com
圆的加粗问题!!
在lwdisplay状态为off时,选线宽改变圆的粗细效果,看不出改变,只有多义线的粗细不受lwdisplay的限制。本来,圆的加粗问题不存在问题,线宽改变时,即使线宽off,打印出来的效果也是加粗的,但是,现在程序设计要求是不论lwdisplay状态为开或者关的状态,均能看到加粗效果!!!根据cad中画图方法,加达到这样的效果,先将圆断开(注:最好从两个四分点处断开,否则一会补全圆时,捕捉点不规则)pedit之后选w加宽,再选c补全圆,这样能达到加粗圆的效果,其实也就是将圆转为多义线。问题:如果是程序中,要达到这样的效果能有别的方式实现么。这样实现,在将圆(或者arc对象)转换为多义线时会报错,不允许强制转换....
......
强制转换是不可能的,因为他们是不同的对象.要转换的话,必须自己动手写.删除圆,构造多义线
.........
再说两句,其实两种显示线宽的方法是不同的.前一种显示的线宽不随视图的比例而变化,由系统变量控制其显示及打印.后一种是随视图的比例而变化的.是实体的固有属性,与系统变量无关
以多义线的实现了圆的加粗问题也是无奈之举,所选中的圆加粗后的效果类似于donut命令画出来的效果。例如:有个半径为50的圆,要加粗,20,那么,用多义线画出来的圆,外直径110,内直径90 polyline2d pl = new polyline2d(poly2dtype.simplepoly, pc, 0, true, width, width, blgs); 便是画出来的圆的多义线,注意下参数的问题及角度问题。