高级会员
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
|
【转帖】请教一个设置线宽的问题
请教一个设置线宽的问题
请教一个设置线宽的问题
请教一个设置线宽的问题。我想画一条直线,自己控制直线线宽,下面是代码:
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>
估计是刷新的问题
|