Tag

revit

33 matching entries.

Revit自动更新 - C++ FtpGetFiles()

FtpGetFiles()函数详细解释详见官方文档 https://docs.microsoft.com/en us/windows/win32/api/wininet/nf wininet ftpgetfilea 网上搜这个函数发现这个函数介绍的有点少,所以将自己运行成功的代码放上来希望能够帮...

Revit 二次开发 ManageMC3.0 引用冲突

生成项目是发现这个警告但是不影响程序正常运行,搜索这个dll的作用发现是在Revit中才会出现的链接库,查看自己引用的dll文件发现 adwindows.dll 文件引用的2019导致版本冲突,问题不大但还是记录下来,防止再次粗心出错。

QT+ CLion + Revit 问题汇总

ui因为一直想实现QT+CLion+Revit的开发路径,所以从头开始学习QT与C++,在这里记录一下QT遇到的问题及后续的问题。如果开发周期不足估计会用一两周爆肝出来,随时会断更。 目前的思路是C++创建dll,在dll里面编写QT界面,之后用C++ Revit 的API接口实现整个步骤。 中...

Revit PromptForFamilyInstancePlacementOptions 族放置API

这段时间在做族库,在做到最后需要与Revit连同时,希望可以用户选择下载然后直接在Revit中布置构件,查找API ,发现可以使用 PromptForFamilyInstancePlacementOptions 方法实现族放置。 代码 比较简单,只不过需要记住,由于 PromptForFamil...

Revit二次开发 斜面上旋转基于面构件错误的问题

今天修改了一下之前的功能,测试时发现无法在斜面上旋转基于面的构件,检查了一下午,从面的获取到tranform的转换都核查的一遍发现没有错误,最后发现应该是旋转时AXIS参数的问题,检查AXIS的向量与斜面的FACE.NORMAL一致,垂直于指定面,但是每次旋转都出错,之后将旋转轴设置为(0,0,...

使用C++进行Revit二次开发

由于VC++是在CLR中被编译所以无法达到加密的效果,如果想要保护自己的代码还是建议使用C++做核心算法,C 做交互。 由于做族库中,考虑到连接数据库代码可能会被反编译,上个版本中我采用的是WCF的方式与服务器数据交互,文章可在我前几篇找到,但是最近在学习QT相尝试使用QT+C++或是VC++开...

Revit Winform显示在Revit上层

引用文章: 当我们使用模态窗体时,当焦点不在窗体上时,窗体会隐藏在所有层级后方,如果遇到不熟悉的用户会不停点击按钮,从而生成多个窗体。并且对于单一窗体的交互也不友好。 在网站中搜索,经常会告诉大家设置 TopMost 但是这一操作会把窗体设置为最顶层,当我们使用其他应用程序,如:浏览器。窗体依旧...

WCF使用控制台驱动Revit

目前再做族库项目,已经将WPF界面做好但是由于开始的时候是WPF项目,中间的交互操作需要在Revit中实现,想着通过WPF驱动Revit从而实现两个窗口之间的互通。 一个办法是通用的,使用外部事件实现,这一条路径比较容易 另一个办法是在看 的博客的时候发现有一个 ,通过WCF作为连接驱动两个独立...

Revit 左右值编码存储分级树形结构设计

近期在进行族库管理的开发,原来的想法通过左右插值进行族库的层级管理后来模拟了一下发现对于后期新增大量的项目族库会有不少的负担,所以把这个想方法记录下来,给有需要的人吧。 如果不涉及大批量的修改,可以使用这种办法,但是整个房建行业恐怕只有规范硬编码之类的能够适合。 左右值比较的关系主要和下图一样...

Revit MEP中Connector连接器的问题

在Revit二次开发中,相较于土建模块多出了管道系统模块,每个机电管件与管道之间连接由Connector控制,从而将整个管道系统串联起来 如果在LookUp中点开管道可以看到分为ConnectorManagement 与 All Refs两个类,之中都存储了Connector,刚接触的人可能会觉...

Revit 二次开发 遍历相同楼层所有可以连接墙体

目的:是为了将所有没有连接到一起的墙体进行连接,满足出图要求,刚开始采用深度遍历的方式发现会报错:堆栈溢出,原因是循环层数太多导致,之后优化了一下遍历方式使用广度遍历,问题解决。下面贴出两种获取墙体并连接的方式 Element.GetgeneratingElementIds 这个方法可以获得连接...

Revit导出DWGExportSetting

今天发现Revit中并没有提供导出 导出设置 的按键,查阅API发现这块属于 DWGExportSetting 类型,如果导出就只能自己写接口进行导出。大部分导出这个位置的应该关注的是图层修改器,这里因为他的加载标准,图层修改器是无法读取,如果需要传递图层需要传递项目标准或自己写接口进行传递,这...

Revit中实现WCF客户端部署

在之前的WCF文章中,成功创建了本地部署与服务器部署,但是当我想要在Revit端实现读取数据库信息 于是创建了一个项目测试效果。 参考案例: 代码 服务端 csharp 客户端 1. 添加引用项目 2. csharp 重点是: 如果刚开始学习有些混乱,uri的位置一般就是引用服务的位置 上面网址...

Revit中ComputerStructure中的ShellType

今天碰到一个群友问关于 设置出错的问题 There must be at least one core layer, i.e. one layer which is not a shell layer. 发现这块没有涉及过,便研究了一下 报错的翻译为:需要存在至少一个核心层 这块单纯的开发人员可...

Revit 自启动插件管理小工具制作

在安装过多插件时会导致Revit启动时报错:由于数量超过18个无法加载后续产品的错误,大部分许可文件会放置在 C:\ProgramData\Autodesk\Revit\Addins\ 下,通过修改后缀名即可将拒绝文件的启动。对于像某些产品会一次性防止十几个许可文件,设计工程师修改起来比较复杂所...

Revit 二次开发 获取多段轴网的location

点开多段轴网会发现轴网类型为 MultiSegmentGrid ,里面没有Locaiton可以获取,如果想要获取路径可以通过两种方式进行获取 方式一: Revit中可以进行编辑草图模式的均可以通过删除构件收集 构件ID 进行获取相应路径 代码可以参照叶雄进的获取板边界文章进行获取 方式二:直接...

Revit Dcokpane 某个 ItemsControl 与它的项源不一致

今天再可停靠窗口进行点击按钮从而再 DataGrid 中上传数据时,发现多次上传会出现问题<span style="color:Red" 某个 ItemsControl 与它的项源不一致 </span ,后来再查问题时发现是因为由于有多线程异常导致的问题。 原因应该是可停靠面板与Revit本身时...

revit二次开发 Idling&ExternalEvent 空闲事件与外部事件

Idling&ExternalEvent 空闲事件与外部事件 空闲事件 空闲事件是指在revit无操作时执行命令 解释 code <span style="color:red" TIPS:在挂载事件后最好后缀卸载事件,不然事件不会停止将一直重复 idling 里面的操作:smile cat:</...

Revit二次开发 房间分割线ID重复的问题

今天在检索房间分隔线时,发现如果墙体中端??与其他墙体有连接, 会将房间分隔线断开,可以看到此处位置房间边界变为五段 本身并没有什么太大的影响,但是如果我们点开里面 Line 里面的 ElementID 进行查看时,会发现 Element重复的问题,如果开发者在此处进行重复线段的提起那判断并将I...

使用NSIS制作revit插件安装包

@ 使用NSIS制作revit插件安装包 下载 Addin文件 == 我们需要将addin文件进行单独存放 == 位置放在读取文件的section后就可 修改脚本文件 1. 增加对addin文件的路径自动修改 在NSIS 中 $1 代表字符串,其中上面三行是组装目标路径, Push <Assem...

revit二次开发可停靠面板上点击按钮与revit主窗口交互

创建可停靠窗口 Github地址 引用 创建WPF窗口 添加完WPF窗口后将 usercontrol 修改为 Page ,F7切入后台同样修改为Page,同时需要引用 Autodesk.Revit.UI.IDockablePaneProvider 页面位置使用Dockpositon枚举值进行控制...

Revit二次开发 将构件信息导入到数据库中

revit中构件数据量较大,在做标准化或者审核软件的时候需要用到数据库,将数据导入数据库使得计算能够脱离软件进行计算也算是一种另类的软件 减负 demo 1. 获取构件 测试项目随便框选几个构件进行输出数据 2. 连接数据库 因为是测试所以将mysql连接设置为本地连接,这一步应该是创建Mysq...

REVIT构件连接与实例类型连接接点

构件之间的连接接口为: JoinGeometryUntils 实例之间的允许连接;墙体为: WallUntils 结构框架为: StructuralFramingUtils

Revit二次开发在visual studio 2019中使用git进行版本控制

参考链接 == == 安装配置 安装git打开git bash后输入命令 git config 确定是否安装 git config global user.name "youname" 填写github注册ID git config global user.email "emailaddress...

Revit 二次开发放置基于面的族时生成错误

目前还未找出,碰到这种情况需要做角度的二次校正 在进行基于面的族放置开发时,运行程序,发现停车位的位置全部变化,只有原点位置能够对齐 通过排查发现怀疑与板本身的向量有关,==即板放样线条的第一条线==,通过对四个方向不同板进行分析可以发现基于面的族基础预览位置在不断进行改变,并于向量保持平行状态...

2016RevitAPI一次性生成多个构件

今天检索API发现一个比较有意思的类:FamilyInstanceCreationData 通过传入参数可以使用doc.Create.NewFamilyInstances2()一次生成所有构件。 这个类可以用于翻模或调整构件的情况。在方法中自带两种方法.axis&&.RotateAngle可以省...

获取项目内所有的房间

revit中element与room类不想通,想要取得项目中所有的room类需要 获取。

Revit二次开发结构柱Solid.Faces取值出现问题

由于项目需要,需要对结构柱顶面进行取值。在对顶面取值中发现edge长度取值错误,通过lookup发现取出顶面含有六条边:( 作为一个矩形柱是不可能的事情。但是没有思考清楚问什么会出现多取两个值的情况,而且里面边长只有一个符合柱本身需求。 第一次取值使用的是familyinstance情况下直接取...

WPF Treeview绑定Revit数据

本文参照 作者:SmlAnt 出处:http://www.cnblogs.com/smlAnt 注意:转载请保留以上内容,并标作者和出处。 文章有很多有很多有用的知识点 在制作功能需求是需要用到Treeview命令,而且在制作过程中发现TreeView的层次架构符合Revit的层次结构,能够让数...

WPF revit二次开发使用树形结构显示revit数据

在功能研发时,需要使用属性结构让revit本身的数据结构更加的清晰,再写代码时采用了mvvm模式对,将数据采集整理再后端完成。利用递归的方式将整个层级进行分类。 本文参照了:https://www.cnblogs.com/yeyunfei/p/5408931.html https://www.j...

Revit二次开发使用投影到面Project坐标提取错误

今天在写代码的时候使用face.Project这个节点取投影点,实现通过点的修改完成对斜面的附着功能。在之前使用这个节点的时候没有发现问题,今天测试时如果将目标便宜到很低的一个点,是同投影到面节点,最终会造成一个比较大的误差。(如果是自己的节点使用错误,希望能够留言提醒 。 !)。 可以看到两个...

Revit二次开发在项目中给链接模型附加过滤器

视图过滤器分为规则过滤器与选择过滤器: 选择过滤器:需要传入elementId列表对指定的Element进行操作 规则过滤器:通过对指定参数的规则描述,传入categeorys的Id进行操作 具体可参照API update 2019 API删除掉SET 命令与模型颜色指定方法,颜色附加未实验,需...

Revit墙体构造层修改与查询

Revit墙体构造层修改与查询 一直想用博客记录下自己的一些问题和解决方案,今天是在CSDN上的第一篇博客,其余的会陆续从知乎转移过来 参考链接:https://blog.csdn.net/u010585773/article/details/83267911 在Revit中如果对墙体厚度进行数...