乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 56|回复: 4

请教一个设置线宽的问题

[复制链接]

6

主题

14

帖子

1

银币

初来乍到

Rank: 1

铜币
38
发表于 2005-5-27 09:42:00 | 显示全部楼层 |阅读模式
请教一个设置线宽的问题。我想画一条直线,自己控制直线线宽,下面是代码:
AcGePoint3d Pt1(500,700,0);
        AcGePoint3d Pt2(100,200,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
这句上。线宽枚举是不是得自己定义?在哪里定义?希望热心人指教!!!
回复

使用道具 举报

3

主题

97

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
109
发表于 2005-5-27 15:43:00 | 显示全部楼层
代码没有问题.在CAD里面把系统参数LWDISPLAY开成ON就可以看到了.CAD默认是不显示线宽的.
回复

使用道具 举报

6

主题

14

帖子

1

银币

初来乍到

Rank: 1

铜币
38
发表于 2005-5-30 10:52:00 | 显示全部楼层
谢谢pandoram的指教,但是我在代码里加了一段       
        acdbHostApplicationServices()->workingDatabase()
        ->setLineWeightDisplay(true);
在CAD里使线宽属性显示为“开”,但还是线宽不变,不知道是怎末回事!
回复

使用道具 举报

3

主题

97

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
109
发表于 2005-5-30 13:25:00 | 显示全部楼层
汗, 不应该这样的啊...
如果你已经用代码把线宽显示打开, CAD里就不用再开了, 查看到LWDISPLAY=ON就可以了..
如果还是不变的话..regen一下看看先..
回复

使用道具 举报

22

主题

71

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
159
发表于 2005-5-30 14:57:00 | 显示全部楼层
估计是刷新的问题
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-2-5 09:42 , Processed in 0.149152 second(s), 62 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表