乐筑天下

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

在第二dwg创建实体不显示

[复制链接]

14

主题

32

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
88
发表于 2020-3-6 08:04:50 | 显示全部楼层 |阅读模式
你好
我有以下情况:
-打开两个图形(dwg-A和dwg-B)
—在dwg-A中运行命令(将信息从A传输到B)
—在dwg-A中,我获取实体并计算dwg-B的坐标
-在dwg.B中,我创建实体(线和块(块参照))
——在dwg-B中,只有在保存并重新打开dwg-C后,才会显示新实体的或在使用3d轨道之后
该命令使用“会话标志”,围绕“Transaction.StartTransaction”、“BlockTableRecord.AppendEntity”和“Transactions.CommitTransaction”使用DocumentLock
如何使新实体显示为“正常”
问候马里奥

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

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

使用道具 举报

0

主题

5

帖子

1

银币

初来乍到

Rank: 1

铜币
5
发表于 2020-3-6 08:54:50 | 显示全部楼层
是否正在使用文档中的事务管理器(Document.TransactionManager 属性)?因为它与数据库中的数据库(Database.TransactionManager 属性)不同。StartTransaction() 返回一个 Autodesk.AutoCAD.ApplicationServices.AppTransaction,其中在 Commit() 方法中调用 FlushGraphics()。
回复

使用道具 举报

14

主题

32

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
88
发表于 2020-3-6 14:35:13 | 显示全部楼层
你好Maxence,
好的,我在下周一测试它并重播结果。
问候,祝周末愉快。
马里奥
回复

使用道具 举报

14

主题

32

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
88
发表于 2020-3-10 05:12:46 | 显示全部楼层
您好,
我已经测试了" flush graphics ":
https://forums . Autodesk . com/t5/net/redrawing-the-screen-during-execution-of-a-command-method/m-p/3742004 # m 32644 last Message(9)
1 .它仅适用于活动文档,我的代码代码0]
但是没有变化。仅在3d动态观察旋转或保存并打开文件后显示新实体,而不是在_REDRAW后显示...
当前数据库和事务(来自命令调用的数据库)中的sam操作一切正常。
回复

使用道具 举报

4

主题

219

帖子

4

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
238
发表于 2020-3-10 09:48:11 | 显示全部楼层
我认为,问题在于你使用 DocumentCollection.CurrentDocument 而不是通常的 DocumentCollection.MdiActiveDocument。
CurrentDocument 属性只是在 .NET API 中引入的(虽然我不记得是什么时候了)。托管API文档没有说明任何关于它的内容,但是如果你看看ObjectARX document->AcApDocManager->AcApDocManager::curDocument,这是.NET API DocumentCollection.CurrentDocument的来源,它说:
所以,使用CurrentDocument可能是问题所在。但是,您说您已经设置了 CommandFlags.Session,这意味着您的代码实际上切换了活动文档。但是你没有说你的代码如何将数据从Dwg A传输到Dwg B。由于 Acad2015,切换活动文档将取消活动命令,或停止针对图形的自定义代码执行,因此当 MdiActiveDocument 更改时,您需要小心处理代码。形成原始帖子的简要描述,在我看来,可能不需要更改活动绘图:
使用Dwg A和Dwg B打开并且Dwg A作为活动绘图,您可以构建一个自定义命令来执行Dwg A的任何操作并获取所需的数据,然后更新Dwg B而不使其成为MdiActiveDocument;命令完成后,如果用户激活Dwg B,我很确定Dwg B中的更改将在那里/可见。
回复

使用道具 举报

14

主题

32

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
88
发表于 2020-3-11 08:56:37 | 显示全部楼层
你好,
我有测试,找到了一个理由。如果有
回复

使用道具 举报

14

主题

32

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
88
发表于 2020-3-17 00:03:38 | 显示全部楼层
您好,
我解决方法如下:
1。从目的地(第二个)DWG 2采用旧的视觉风格。将目的地DWG的视觉样式设置为relaistic
3。转移实体。将目的地deg的视觉样式设置为旧视觉样式
关于Mario
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2024-11-22 05:49 , Processed in 0.196662 second(s), 66 queries .

© 2020-2024 乐筑天下

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