![]() |
【转帖】请教一个设置线宽的问题
请教一个设置线宽的问题
请教一个设置线宽的问题 请教一个设置线宽的问题。我想画一条直线,自己控制直线线宽,下面是代码: acgepoint3d pt1(500,700,0); acgepoint3d pt2(100,,0); acdbblocktable *pblocktable; acdbhostapplicationservices()->workingdatabase() ->getsymboltable(pblocktable, acdb::kforread); acdbblocktablerecord *pblocktablerecord; pblocktable->getat(acdb_model_space, pblocktablerecord, acdb::kforwrite); pblocktable->close(); acdbline *pline1 = new acdbline(pt1, pt2);//创建line对象 pline1->setlineweight(acdb::klnwt040);//设置线宽为0.4mm acdbobjectid lineid;//定义标识符 pblocktablerecord->appendacdbentity(lineid, pline1);//将实体写入块表记录 pblocktablerecord->close();//关闭块表记录 pline1->close();//调用关闭对象的成员函数 完毕。 可执行程序后生成的直线线宽没有变化。毛病是不是出在 pline1->setlineweight(acdb::klnwt040);//设置线宽为0.4mm 这句上。线宽枚举是不是得自己定义?在哪里定义?希望热心人指教!!! 代码没有问题.在cad里面把系统参数lwdisplay开成on就可以看到了.cad默认是不显示线宽的. virtue is like a rich stone, best plain set. -- francis bacon, <of beauty> 谢谢pandoram的指教,但是我在代码里加了一段 acdbhostapplicationservices()->workingdatabase() ->setlineweightdisplay(true); 在cad里使线宽属性显示为“开”,但还是线宽不变,不知道是怎末回事! 汗, 不应该这样的啊... 如果你已经用代码把线宽显示打开, cad里就不用再开了, 查看到lwdisplay=on就可以了.. 如果还是不变的话..regen一下看看先.. virtue is like a rich stone, best plain set. -- francis bacon, <of beauty> 估计是刷新的问题 |
所有的时间均为北京时间。 现在的时间是 07:18 PM. |