revit文件发生不可恢复的错误(二次开发)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了revit文件发生不可恢复的错误(二次开发)相关的知识,希望对你有一定的参考价值。
最近开发过程中频繁出现此错误。想问下做revit二次开发的人是否也有遇到。我主要是有对可扩展属性进行修改或者偶尔对可扩展属性的里的数据结构进行增加
(1)在 Windows 中显示隐藏的文件和文件夹。
(2)浏览到与 Revit 安装同名的文件夹。在 Windows 7、8 和 10 中,文件夹为 C:\\Users\\%用户名%\\AppData\\Roaming\\Autodesk\\Revit。
(3)在此文件夹中,重命名 Autodesk Revit %产品版本% 文件夹。为其指定新名称 Autodesk Revit %产品版本%_Backup/。
(4)启动 Revit。这应该会创建一个新文件夹。
(5)如果问题仍然存在,请重置许可。
第二种解决方法:
原因:UIState.dat文件被损坏解决方案 问题Autodesk Revit 已停止工作
发生故障的模块名称: RevitDB.dll
异常代码: 0xc0000005原因注册表项丢失不正确
解决方案:
1. 运行 regedit 找到
HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/CurrentVersion/Explorer/Shell Folders
2. 找到以下“键”(在Shell Folders目录):Common AppData
如果“键”不存在创建它(右键单击 - > 新建 - > 字符串值 )
如果 “键” 存在确认它包含以下数据(右键单击 “修改):C:\\ProgramData
3. 在注册表中进行更改后,重新启动系统。
如果上述两种方法无法解决,建议更换其他版本,或者重装系统。
2. 然后可以从Opening.IsRectBoundary 判断洞口是否为矩形。矩形洞口的两个对角点坐标可以从Opening.BoundingRect 获得。也可以获得矩形的四个边Opening.BoundaryCurves. 3. 既然获得洞口尺寸和位置,你就可以判断你的目标洞口与原有洞口的关系。
Revit二次开发-自动化批量打印崩溃问题
之前开发了一个基于Revit2017的批量化打印图纸插件,单独打印运行的没有问题,
但是批量打印的时候各种不稳定,基本一出问题之后直接造成软件崩溃,
后来上官网发了一篇求助帖子:传送门
得到高人指点,终于懂了原来是这么回事:
每次打印之前先将打印的视图设置为活动视图即可,同时我还发现打印的事务设置为commit,用rollback也会极不稳定。
但是这样操作仍然存在一个很奇怪的,有概率的会发生这种情况:
打印时候,虚拟打印机(Adobe)直接打印了第一张然后紧接着打印了第二张(即使在代码中把在两次打印之间做了线程挂起了也会发生这种情况),
然后系统直接抛出错误,以前我是在事务中循环视图进行打印,只要出错就崩溃,
后面将循环拿到外面,每次打印事务之前先设置当前循环的视图为活动视图,这样每次打印即使出现上述那种问题,报错,但是能被异常捕获,不会致使软件崩溃。
但是这种情况就有概率的第一次发生,再进行批量打印又不会报错了,这个问题真的很困扰。
看看以后有没有好办法解决。
以上是关于revit文件发生不可恢复的错误(二次开发)的主要内容,如果未能解决你的问题,请参考以下文章