自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(60)
  • 资源 (1)
  • 收藏
  • 关注

原创 Dynamo_关于参数赋值

写写关于Dynamo参数赋值。

2023-08-11 12:25:21 460 1

原创 Unity3d-路径巡逻

使用U3D实现的简单巡逻方法。

2023-07-16 03:31:08 825

原创 Revit二次开发-创建并切换到新文档

方法用于创建新项目,但这个方法仅在内存中对项目进行创建,Revit的界面并不会将这个项目显示出来。方法,该方法可以打开一个相关视图,以显示输入的元素。利用该方法,传入文档中被显示在某个视图中的一个元素,就可以将该文档切换成活动文档。方法时,如果传入的元素的相关视图都没有被打开,则会弹出一个警告框,需要用户手动确认是否遍历全部视图。如果不想显示该警告框,则需要通过。也就是说,目前在API提供的方法中,需要重新打开文档才能激活成活动文档。下面的代码片段实现了在Revit中创建一个新项目,并直接切换成活动文档。

2023-04-17 03:01:28 647

原创 Dynamo_大量点投影在面上的优化方法

Dynamo中一种点投影到面上运行效率的优化方法

2022-08-14 12:17:33 379

原创 解决Autodesk License Patcher (NLM Crack)重命名电脑名的问题

解决安装Autodesk 2021~2023 NLM Crack 脚本导致的电脑命名被锁的问题

2022-08-14 11:10:54 2213

原创 Dynamo_修复导出EXCEL时出现的组件丢失问题

Dynamo读取Excel时出现类似”Data.ImportExcel Microsoft.Office.Interop.Excel….“这样的警告

2022-08-04 04:25:18 502 3

原创 Dynamo使用CodeBlock进行列表元素获取与替换

Dynamo中通过CodeBlock进行列表元素获取及修改的方法

2022-07-06 18:05:02 1280

原创 Unity_控制角色移动

unity旧输入系统和新输入系统控制角色移动的方法

2022-06-14 22:15:37 663

原创 Python_修正Unity离线手册打开缓慢的问题

unity的离线手册是静态的html,因为某些原因打开的时候会很慢很慢最直接的解决方法是断网,当然了,断网使用体验太差了,也可以通过改环境的方法解决,例如小飞机或者改host等等,如果不想改环境,可以把所有html文件里的关键文本改掉,下面代码通过Python代码删掉html中的:cdn.cookielaw.org/scripttemplates/otSDKStub.jswww.googletagmanager.comfonts.googleapis.com代码#!/usr/bin/env

2022-05-27 13:58:35 408 1

原创 Revit二次开发_快速切换快捷键的插件

以前在办公室总要去同事电脑排查问题,或者有时要用公用电脑进行Revit演示,但不同使用者的快捷键方案不一样 而Revit的快捷键管理只能通过手动导入导出的方式进行快捷键的批量替换 通过这个扩展工具,Revit可以保存多套快捷键方案,并可以很方便地进行切换使用方法:将RevitShortcutExpansion.addin和RevitShortcutExpansion.dll放到C:\ProgramData\Autodesk\Revit\Addins\\<你的Revit版本号>\里,

2022-05-23 15:35:30 376

原创 Revit二次开发_修改快捷键

目录示例代码Revit 2019命令ID快捷键设置规则保留的快捷键Revit官方的似乎并没有提供修改快捷键的api,感谢@魏无忌的这篇博文——Revit开发之快捷键相关类_魏无忌的博客-CSDN博客,在对应的dll里找到一些可用的方法。通过UIFramework.ShortcutsHelper类,以及UIFrameworkServices.ShortcutItem类,可以用代码对功能进行快捷键的指定与删除示例代码//获得 选择链接 命令的ShortcutItem对象S

2022-05-15 22:07:38 1939

原创 映射网络盘的批处理写法

需求公司更新了服务器共享盘,需要几十个同时映射新的网络盘,这个时候想到直接用批处理来完成这个工作,一方面可以统一盘符,另一方面新同事来了以后不需要过多的交代原理映射网络盘的批处理命令如下net use [盘符] [路径]例:将路径\\NASimfour\Public映射到h盘net use h: \\NASimfour\Public解决方案公司新的网络路径有三个,分别要映射到三个盘符,新建文本文档写入以下命令@echo offnet use P: \\XXXXXX

2021-06-25 02:23:14 3484 3

原创 Revit二次开发_关于TransactionMode标签

好久没写东西了,随便写点什么以前刚学Revit二次开发的时候并不是很理解为什么每个外部命令都要设置TransationMode,后面碰碰撞撞写了一些功能有了概念后才慢慢理解。using Autodesk.Revit.Attributes;using Autodesk.Revit.DB;using Autodesk.Revit.UI;namespace MyTest{ [Transaction(TransactionMode.Manual)] class Class1 :

2020-11-08 16:03:53 703

原创 Excel_项目节点对比图表

需求:在一个时间段内进行多个项目节点周期的对比,要求图表联动。表首行为固定的计划节点,首列为多个项目,次列为项目开始时间,表中数据为各个节点的完成日期。图横轴为日期;竖轴为时间;横向柱状堆积图;堆积图的每个颜色段表达每个节点周期,体现与总周期(柱总长度)的占比。演示核心思路堆积柱状图可以将多个数据堆积到一条柱中。先利用辅助表计算节点周期,与开始时间组合堆积到图中,然后将开始日期的色段设置为透明,即可只在图中表达节点周期,获得该图。制作步骤1. 原表格式..

2020-09-29 03:31:37 2935

原创 Revit二次开发_对参数进行文本替换、加前缀、加后缀

我一般都用Dynamo做简单的参数批量修改,但也不能要求项目上每个人都会用Dynamo,这需求偶尔又会有,于是写成插件。想慢慢写成一个通用一点的参数管理工具,批量写入或者修改什么的,看精力了。目前功能还是针对特定参数进行文本替换、加前缀、加后缀。代码: class ModifyValue : IExternalCommand { public Result Execute(ExternalCommandData commandData, ref strin

2020-06-07 01:46:11 926

原创 Dynamo_对图纸中的参数进行文本替换

Revit自带的文字替换功能只适用于注释文字,项目有时要对图纸编号和图名进行替换,Dynamo可以很快速地完成这个工作。环境Revit 2019 (19.0.0.405)Dynamo 2.0.3.8811逻辑思路Revit中图纸名称或图纸编号都是图纸的内置实例参数,首先使用Dynamo读取所有图纸,获取上述参数,通过字符编辑节点完成替换工作,然后将修改后的字符覆盖到上述对应的参数中。节点1.获得所有图纸2.获得图纸中的图纸名称参数3.通过String...

2020-06-07 00:54:34 1362

原创 Revit二次开发_打开与关闭插件功能页(Tab)的可见性

偶尔会写一些关于Revit的教程,为了避免产生疑惑,截图的时候一般展示原始的Revit界面。不想看到插件的功能页的话可以把插件的注册文件移走,避免插件加载,但这个方法相对来说还是有点繁琐,所以直接用API在Revit里进行tab页的显示与隐藏。要对tab进行管理的话,需要引用AdWindows.dll库,这个库可以在Revit程序的根目录找到。下面这段代码通过判断keyTip来区分原始Tab与插件Tab,然后切换插件Tab的可见性。代码:Autodesk.Windows.RibbonC

2020-06-06 20:06:06 1179 4

原创 Revit二次开发_为天花板平面设置工作平面

发现Revit创建的天花板平面默认是没有工作平面的,使用例如Selection.PickPoint()这类需要工作平面的方法会报错,需要设置一下工作平面。代码实现起来也很简单,读取天花板平面的标高,用标高生成一个SketchPlane,再将这个SketchPlane设置到视图中就可以了。代码:activeView.SketchPlane = SketchPlane.Create(doc, activeView.GenLevel.Id);一点强迫症,跑完命令后我希望把视图恢复到本

2020-06-06 18:06:53 1906 2

原创 阿里云Docker部署WikiJs

想试用一下其他的wiki引擎环境轻量应用服务器 单核,1GBcentos7.3镜像部署过程Docker安装设置Docker的镜像仓库yum install -y yum-utilsyum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo安装Dockeryum install docker-ce docker-ce-cli container

2020-05-29 17:48:53 1262 2

原创 Revit二次开发_对段落进行整体缩放

还是要多休息,用了甲方提供的项目样板,里面预设的设计说明图幅和项目对不上,调比例,导入CAD都碰到了不同的问题,于是直接上代码下面代码可以框选注释文字,进行整体缩放,没有考虑文字类型的重命名,使用的时候要注意将文字先复制到一个空项目,缩放后改类型名称粘回去 [Transaction(TransactionMode.Manual)] public cla...

2020-04-16 19:45:13 488

翻译 Typora中的Markdown语法

Typora中的Markdown语法Typora自带了其语法的英文版帮助文档,试着翻译成了中文,顺便也可以练一下Typora的使用。概述Markdown 的原始指引发布在Daring Fireball博客1,你可点击这里查看。在不同的解析器或编辑器中,使用的Markdown语法并不完全相同。Typora使用GitHub Flavored Markdown2作为其语法标准。文章目录Typor...

2020-03-18 00:51:38 784

原创 Dynamo_引用RevitAPI的常规模板

在Dynamo中引用RevitAPI的常规模板import clrclr.AddReference('ProtoGeometry')from Autodesk.DesignScript.Geometry import *clr.AddReference('RevitAPI')clr.AddReference('RevitAPIUI')import Autodeskfrom Au...

2020-03-17 19:39:51 644

原创 Dynamo_参数化造型3

之前看见过一些设计是利用格栅天花的多个缝隙填充成一个品牌LOGO的,忽然有一个想法想用图片生成这种格栅内的造型,然而功力不够,按照思路做出来的东西和想象的相差还是有点大,这里还是把这次的失败记录下来。演示思路开始思路是将图片读取进Dynamo,通过Dynamo获取图片的明度信息(使用的图片LOGO为白色,背景为黑色),结合图片的尺寸,在有明度的位置创建一系列...

2019-11-22 02:51:52 1194

原创 Excel_使用条件格式制作甘特图

之前想用Excel做一个可以反映项目进度计划的自动甘特图,网上查了一些教程,但都只能反映计划,不能反映项目进度情况。然后发现Excel的联机模板里面就有一个比较好的甘特图模板,于是参考其原理仿做了一个简单的Excel甘特图。原资料分析参考的Excel联机模板这个甘特图模板有几个特点:可以反映出计划周期与实际周期的关系 日期高亮 百分比换算表示实...

2019-10-19 21:59:02 7067 3

原创 Dynamo_参数化造型2

看到一个商场的造型柱子,觉得有点意思,便尝试使用Dynamo进行了参数化建模参数化演示创建思路如下1、创建两个圆圈,用作控制柱体的高度及半径2、在上下两个圆圈上分割出若干个点,将这些点相连则获得基础的组成柱体的装饰木条路径,木条的数量可以由过木条的宽度及柱子的周长计算获得3、按相隔1条的原则,过滤出需表现造型的木条路径4、使用两个...

2019-10-11 03:17:57 1982

原创 Epplus获取数据区域的第一行或最后一行

使用Epplus编辑表格文件时,有时需要知道表格中数据的第一行或最后一行,以便追加数据。此时可通过下列方法获取: //获得有数据的区域 var lastAddress = worksheet.Dimension.Address; //获得有数据的区域最上且最左的单元格 ...

2019-09-24 01:23:24 4895 4

原创 Dynamo_参数化造型1

使用Dynamo制作的参数化造型墙,可以通过调整曲线,控制弯曲位置,通过调整数据,控制造型的数量及弯曲程度。Dynamo节点:以下为解析:整个逻辑其实比较简单,用到节点也不多。首先需要在Revit里面创建3根线,我们通过这3根线来控制整个造型。使用Dynamo选择这三根线,获取其curver将上下两根直线按数量均分...

2019-09-15 01:43:27 1341

原创 Dynamo_在Revit参数间复制数据

在Revit中有时需要将一个参数的数据复制到另外一个参数中,这时可以使用Dynamo快速批量地完成这个工作。下面讲述如何使用Dynamo实现类型参数与实例参数之间的数据复制,类型参数间或者实例参数间的参数数据复制相对更加简单,参考相同逻辑即可。我使用自带的案例作为例子,自带案例【rac_basic_sample_project】中树的类型中有一个说明的参数,我要将这个参数数据复...

2019-09-11 23:48:24 1591

原创 Revit二次开发_轴网快速标注

通过Revit二次开发实现对平行轴网的快速标注。交互操作是框选轴网->点选尺寸标注出现的位置->生成两道尺寸标注。要达到设想的结果一些地方需要特殊考虑:框选操作容易误选轴网,起码要把与所选轴网不平行的轴网过滤出来。选用了第二步操作所选点的最近轴网作为轴网平行的参考基准。遍历所有框选的轴网,如果轴网与基准轴网的向量相同或相反,则判定为平行轴网; 外侧的尺寸标注需...

2019-06-29 01:00:46 2615

原创 Revit二次开发_重复执行命令直至使用Esc结束

Revit有部分创建元素的命令有一个特点,就是创建命令执行完后会重新调用这个命令,除非使用Esc或者右键取消这个命令。例如创建门,常规交互是这样的:点击门按钮->进入选择状态->选择一面墙->门族被创建->重新进入选择状态。如果编写的插件也想实现类似的交互效果,其实也很简单,只需要把命令写到一个方法内部,方法最后重新调用本身即可。要注意的是当在选择状态取消命令时会出现O...

2019-06-22 00:57:10 2952 2

原创 Python_定时自动发送邮件

虽然主流邮箱都可以定时发送邮件,但还是尝试用python写了一个定时发送邮件的脚本,设定好一个发送时间后,可以按下面步骤将文件通过QQ邮箱发送出去。文件的最后修改及最后访问时间随机调整为发邮件前20~25分钟; 文件超过10M或是一个文件夹时,则自动生成zip压缩包; 通过邮箱自动发送。有几个点需要特别注意一下:修改文件的时间属性需要用到win32API的SetFileTime,所以...

2019-06-17 03:01:39 3523

原创 Revit二次开发_调用Revit的图元创建界面创建图元

RevitAPI中有许多特定图元的创建方法,例如Wall.Create,Document.NewFamilyInstance等等,调用这些方法后会在文档中直接创建出对应的图元,但有时候希望使用Revit的创建界面进行图元的创建:先点击图元创建按钮->选择类型或调整参数->鼠标移到工作界面中预览创建图元->鼠标点击生成。这时可以使用UIDocument.PostRequestFor...

2019-04-13 03:00:10 1118

原创 Revit二次开发_项目文件分离

赶项目节点的时候觉得导图纸、分离模型这种工作实在是太难受了,图纸量大的时候即麻烦又容易出错,于是通过二次开发的方法直接将导CAD、PDF、分离模型的工作整合成批量导出,并且自动放到对应的路径。写到分离模型的时候发现了一些API里面不太友好的地方,首先是项目不能直接由当前文档分离,需要先把当前文档关掉,通过打开的方式分离;但是API又不支持直接关掉当前文档,而且又没有给出直接切换文档的方法…最后解决...

2019-03-05 20:55:26 2000 1

原创 Revit二次开发_末端点位修改检查

这段时间一直在忙项目,加上过年休息了一段时间,重新接触代码的时候竟感到有点陌生,思绪也有点乱,看来状态还是要慢慢调整回来呀。因为软件及协同方式的原因,Revit相对Cad来说会更容易出现误删除元素的情况,这段时间做项目的时候出现了两次电气末端点位误删除或误修改的情况,所以想通过二次开发来对这些点位进行检查,降低项目的审核成本。思路其实很简单,首先在第一次点位确定后,读取点位的ID与位置信息...

2019-02-17 18:57:13 768

原创 Revit宏的使用

Revit自带的宏功能也是很强大的。我认为宏功能有两个比较大的优势,一个是可以直接保存在项目文件中,即使将文件发送给其他人后,其他人不需要安装其他工具也可以直接使用编写好的宏功能;另外一个是对于一些简单功能的开发或者进行简单的可行性探究时,直接使用宏比使用其他IDE会更直接更方便。这里记录一个使用C#编写Revit宏的例子。将关键代码复制到ThisDocument中,运行宏后,可以将视图中基于...

2018-12-11 01:05:39 2784

原创 Dynamo_图纸序号简单调整

最近接手的一个BIM项目,使用的Revit出图。需要在原来的图纸里增加一些图纸,但是由于原来的每张图纸都有一个序号,增加图纸意味着需要对所有序号重排,而图纸量又比较大,于是使用Dynamo完成这个简单的排序工作。逻辑其实比较简单,就是输入一个数字,然后将序号大于这个数字的所有图纸过滤出来,再将图纸的序号+1,这样新的图纸就可以直接插入了。节点:...

2018-11-20 01:15:02 1151

原创 Python_简单网络爬虫获取网页数据

写了一个简单的网络爬虫,用于获取智联招聘上一线及新一线城市所有与BIM相关的工作信息以便做一些数据分析。首先通过chrome在智联招聘上搜索BIM的职位,跳出页面后ctrl+u查看网页源代码,然而并没有找到当前页面的职位信息。然后快捷键F12打开开发者工具窗口,刷新页面,通过关键字过滤文件,找到一个包含职位的数据包。 查看这个文件的请求URL,分析其构造发现数据包的请求URL由‘http...

2018-10-14 14:38:35 12223

原创 Excel_通过VBA高亮选择单元格的行列

WPS有一个比较有意思的功能叫十字光标,就是可以亮显选择单元格的行列,数据量比较多的时候可以方便查看数据,可惜Excel原生并没有类似的功能,网上搜索了一下,发现可以通过VBA完成类似的功能,便尝试了一下。思路是通过VBA获得选择区域的行与列,在行列中添加条件格式,通过条件格式改变行与列单元格的填充。当选择区域发生更改的时候,清除掉单元格的条件格式,重复取得行列,添加条件格式的步骤。美中不...

2018-10-10 01:28:48 5524

原创 Revit二次开发_将数据导入Excel

有时需要将Revit模型的一些信息提取到Excel中进行处理或者是作为记录进行储存,但也许是因为Revit的数据结构相对复杂,并不支持直接将数据导出Excel,所以平时通过二次开发将信息输出到Excel中。常使用的输出方法有三个,分别是com组件;NPOI库;Epplus库。com组件需要电脑安装Excel软件,由于Excel版本比较多,导出的时候要注意版本的问题。下面的代码通过com组件...

2018-10-07 18:17:20 5594 2

原创 Revit二次开发_通过改变族扩展名限制族的使用

使用SaveAs保存族文档的时候尝试将文件保存成其他后缀,发现保存出来的文件依然可以使用Revit打开,但会缺失一些功能:1、文件不显示缩略图;2、无法通过常规手段将族载入到项目中(例如拖拽文件到项目中、项目中的载入族、族中的载入到项目);3、使用Revit打开后,无法将其另存为rfa后缀的族文件;4、直接修改文件后缀的方法当然也是无法变回来的。除了这些功能的限制,转换后的文件...

2018-09-10 02:37:02 1372 5

Markdown Reference中文.md

Typora自带了其语法的英文版帮助文档,试着翻译成了中文,顺便也可以练一下Typora的使用。

2020-03-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除