乐筑天下

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

创建后未显示图案填充

[复制链接]

5

主题

14

帖子

1

银币

初来乍到

Rank: 1

铜币
34
发表于 2019-7-16 18:31:05 | 显示全部楼层 |阅读模式
您好,
我是这个论坛的新手,在使用traceboundaries()创建图案填充时遇到了一个问题
创建图案填充并将“图案填充样式”设置为“外部”后,我不会出现。将显示边界多段线,但只有在单击任何
对象并更改其属性时,才会显示图案填充
一旦舱口出现,一切正常
文档doc=Application.DocumentManager.MdiActiveDocument
数据库db=doc.Database
编辑器ed=doc.Editor
PromptPointResult ppr=ed.GetPoint(“\n选择内部点:”)
如果(ppr.Status!=PromptStatus.OK)返回
DBObjectCollection objs=ed.TraceBoundary(ppr.Value,true)
如果(objs.Count==0)返回
使用(Transaction tr=doc.TransactionManager.StartTransaction())
{
块表acBlkTbl
acBlkTbl=tr.GetObject(db.BlockTableId,OpenMode.ForRead)作为BlockTable
//打开块表记录模型空间进行写入
BlockTableRecord acBlkTblRec
acBlkTblRec=tr.GetObject(acBlkTbl[BlockTableRecord.ModelSpace],OpenMode.ForWrite)作为BlockTableRecord
使用(Hatch hat=new Hatch())
{
acBlkTblRec.AppendEntity(hat)
tr.addNewlyCreatedBobObject(帽子,真)
帽子。HatchStyle=HatchStyl.Outer
hat.SetDatabaseDefaults()
hat.SetHatchPattern(HatchPatternType.预定义为“实心”)
帽子。关联=真
foreach(objs中的dbobjectobj)
{
曲线c=obj作为曲线
如果(c!=null)
{
ObjectId curveId=acBlkTblRec.AppendEntity(c)
tr.addNewlyCreatedBobObject(c,true)
hat.AppendLoop(HatchLoopTypes.Default,新ObjectdCollection(){curveId})
}
}
hat.EvaluateHatch(真)
var ds=new DrawStream()
}
tr.Commit()
}

任何帮助都将不胜感激,因为我已经为此工作了几天
编辑kdub:code=csharp的代码标签已添加。

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

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

使用道具 举报

15

主题

687

帖子

169

银币

中流砥柱

Rank: 25

铜币
582
发表于 2019-7-17 02:00:39 | 显示全部楼层
您好,
您的代码适合我(在2019年进行了测试)
您可以尝试添加:
帽子。降级打开()
紧接着:
hat.SetHatchPattern(HatchPatternType.PreDefined,“SOLID”)
回复

使用道具 举报

5

主题

14

帖子

1

银币

初来乍到

Rank: 1

铜币
34
发表于 2019-7-17 03:41:27 | 显示全部楼层

我试过你的建议,但不幸的是仍然没有结果。它可以是一些图形卡设置或类似的东西
是使用hatchstyle创建的图案填充。外面的<不管怎样,谢谢你的帮助。
回复

使用道具 举报

5

主题

14

帖子

1

银币

初来乍到

Rank: 1

铜币
34
发表于 2019-7-17 04:13:43 | 显示全部楼层
我已经记录了我的行为,以显示它是如何工作的。
它上传到vimeo上的这个链接 https://vimeo.com/user100893766/review/348539021/7a97fe464e
我也附上了视频。
所以我在我想要孵化的区域内选择一个点。舱口不显示。但是,如果我快速单击围绕舱口两次的折线,它就会突然出现。
回复

使用道具 举报

85

主题

404

帖子

7

银币

中流砥柱

Rank: 25

铜币
751
发表于 2019-7-17 12:30:07 | 显示全部楼层
在创建舱口并提交事务后,您是否尝试过Editor.Regen()?
回复

使用道具 举报

5

主题

14

帖子

1

银币

初来乍到

Rank: 1

铜币
34
发表于 2019-7-17 12:37:41 | 显示全部楼层
你好,阿图,
是的,我已经尝试过把Editor.Regen()放在所有东西之后。我还尝试过在命令提示符中手动输入regen。仍然没有显示舱口。
我现在一整天都在想它是如何为Gile工作的,但不为我工作。
直到我双击外部折线,然后按ESC,舱口才会显示。
事实上,即使我更改附加到最外面的舱口类型,舱口也会显示,但不会显示正确的舱口样式(外部)。
以这种方式创建的舱口也只有在我在折线上按两次或对其做一些事情时才能获得所需的舱口样式。
我知道,这真的很奇怪。
回复

使用道具 举报

57

主题

559

帖子

13

银币

中流砥柱

Rank: 25

铜币
786
发表于 2019-7-17 16:15:09 | 显示全部楼层
我把代码放到一个方法里,用VS2019 Win10编译。
AC 2020 Vanilla中的网络加载调试版本。
在模型空间中运行,
按预期工作。
更改为图纸空间布局,切换到模型空间。
按预期工作。
在这两种情况下,我都运行了两次该命令..一次选择外层空间,一次选择内层空间。
回复

使用道具 举报

57

主题

559

帖子

13

银币

中流砥柱

Rank: 25

铜币
786
发表于 2019-7-17 16:27:14 | 显示全部楼层

  draw stream  
类是做什么的??
我确实注释掉了。
回复

使用道具 举报

5

主题

14

帖子

1

银币

初来乍到

Rank: 1

铜币
34
发表于 2019-7-18 06:08:26 | 显示全部楼层

DrawStream 类是无用的。这只是一个c / p错误。通过您的图像,我可以看到HatchStyle未设置为外部。如果将填充样式设置为外部,我希望最小的圆圈不会被剖面线。
由于我通过按钮单击来调用我的方法,而您使用命令调用它,因此是否有区别?
回复

使用道具 举报

57

主题

559

帖子

13

银币

中流砥柱

Rank: 25

铜币
786
发表于 2019-7-18 06:31:51 | 显示全部楼层
我第一次选择外圈..它填满了外层
第二次我选择了内圈......它填满了内圈。
我没有检查选择内部是否填充了两者。
我还没有完全阅读文档,所以我不确定结果是否正确,但它在当时是有道理的;而且我现在太脑死亡了(GMT +12),无法进一步调查。
已添加:
也许您可以从命令行执行一些手动 Hatches 来测试预期的默认行为。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2024-11-22 01:28 , Processed in 0.162334 second(s), 72 queries .

© 2020-2024 乐筑天下

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