乐筑天下

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

添加图案填充

[复制链接]

6

主题

39

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
63
发表于 2009-5-11 11:01:12 | 显示全部楼层 |阅读模式
大家好,
还在为金砖四国在BRX忙碌吗..
我在网上搜索了一下,编写了下面的代码,但是appendLoop方法总是失败。
三个问题?
1)这段代码有什么问题?
2)点数组必须以相同的坐标开始/结束吗?
3)凸起的数量必须等于点数吗?(我希望少一个)
问题2和问题3在各种论坛上都有提及,但我不确定它们是否正确。
提前感谢,
太阳神。
Acad::error status CAD drawing::add hatch(const acgepoint 2d array & Points,const AcGeDoubleArray & bulges)
{
Acad::error status es = Acad::enull handle;

如果(NULL!= m _ pCurDb)
{
AcDbObjectPointer
hatch;

if ((es = hatch.create())!= Acad::eOk)
{
log string(L "未能创建影线\ n ");
返回es;
}

if((es = hatch-> setNormal(acgevector 3d::kZAxis))!= Acad::eOk)
{
log string(L "未能设置图案填充法向量\ n ");
返回es;
}

if((es = hatch-> set elevation(0.0))!= Acad::eOk)
{
log string(L "未能设置图案填充高程矢量\ n ");
返回es;
}

if((es = hatch-> set pattern(AcDbHatch::KP redefined,_T("SOLID ")))!= Acad::eOk)
{
log string(L "无法将填充图案设置为实心\ n ");
返回es;
}

if((es = hatch-> setHatchStyle(AcDbHatch::kNormal))!= Acad::eOk)
{
log string(L "未能设置阴影样式\ n ");
返回es;
}

if((es = hatch-> set associative(false))!= Acad::eOk)
{
log string(L "未能设置hatch associative \ n ");
返回es;
}

if((es = hatch-> appendLoop(AcDbHatch::kex ternal | AcDbHatch::k polyline,Points,bulges))!= Acad::eOk);
{
LogString(L "无法将循环附加到hatch \ n ");
返回es;
}

if((es = setEntityCurProperties(hatch . object()))!= Acad::eOk)
{
log string(L "未能设置图案填充属性\ n ");
返回es;
}

if((es = m _ CurSpace-> appendAcDbEntity(hatch))!= Acad::eOk)
{
log string(L "无法将hatch追加到块(%s)\n ",LPCTSTR(m _ CurSpaceName));
返回es;
}

返回es;
}

返回es;
}

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

6

主题

39

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
63
发表于 2009-5-12 01:43:59 | 显示全部楼层
如果不看到调用此函数的代码,很难看到发生了什么。
另外,您可以看看使用acadErrorStatusText(st),
回复

使用道具 举报

6

主题

39

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
63
发表于 2009-5-12 03:30:58 | 显示全部楼层
嗨,Daniel,
我只是将5个点的数组传递给这个例程;
第一个和最后一个坐标是相同的。
你能对问题进行注释吗:
2)第一个/最后一个点必须相同。
3)nr的凸起与点数相同?
回复

使用道具 举报

6

主题

39

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
63
发表于 2009-5-12 04:42:15 | 显示全部楼层
从文档
和我看到的第3个样本来看,是的
回复

使用道具 举报

6

主题

39

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
63
发表于 2009-5-12 05:39:28 | 显示全部楼层
提及文件:
关于ARX的背景信息有什么好的来源?(就像您需要传递给appendLoop方法的那些标志一样)
B.T.W .我已经将上述hatch问题转发给了Bricscad支持。他们正在调查。
我也会将结果转发到这里。太阳神
回复

使用道具 举报

6

主题

39

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
63
发表于 2009-5-12 11:29:42 | 显示全部楼层
对于遵循此线程的人:
以下行中有两个问题:
if((es=hatch->appendLoop(AcDbHatch::kExternal|acdbhatth::kPolyline,Points,bulges))!=Acad::eOk)
1)行末尾的分号不应出现。(我喜欢C++:realmad:)
2)只有AcDbHatch::kExternal标志必须传递到append循环方法中。(在BRX中)
这是有效的:
如果((es=hatch->appendLoop(AcDbHatch::kExternal,Points,bulges))!=Acad::eOk)
感谢Bricsys对他们快速回复的支持。
太阳神。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-2-6 01:03 , Processed in 0.183447 second(s), 64 queries .

© 2020-2025 乐筑天下

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