话不多说,直接上代码! public class WorkSetHelper { public void AddElementsToWorkSet(Document doc, List<Element> elements) { if (doc.IsWorkshared == true) { var workset = GetWorkset(doc); if (workset != null) { var worksetID = workset.Id.IntegerValue; using (T…
start ;             )                 {                     eId = item;                 }             }             tag = doc.get_Element(eId) as IndependentTag;         }         catch (Exception)         {             ts.Dispose();             retu…
start [Transaction(TransactionMode.Manual)] [Regeneration(RegenerationOption.Manual)]  / ;         ;         }         cs.SetLayerWidth(iIdx,  / 304.8);         //调用更新         wall.WallType.SetCompoundStructure(cs);         ts.Commit();         retur…
本课程演示创建一个拷贝房间内对象布局命令,完整演示步骤和代码.这个命令把选中房间内的对象复制到其它选中的一个或多个房间中,而且保持与源房间一致的相对位置.通过本讲座使听众知道创建一个二次开发程序很简单,创建一个实用的命令也很快. );             Solid roomSolid = geoObject as Solid;             XYZ centriod = roomSolid.ComputeCentroid();             XYZ roomCenter…
几何实体的创建方法之一:构成封闭底面,指定拉伸方向与拉伸高度.GeometryCreationUtilities ;         , pt.Y - dBoxLength / , pt.Z);         XYZ pt2 = , pt.Y - dBoxLength / , pt.Z);         XYZ pt3 = , pt.Y + dBoxLength / , pt.Z);         XYZ pt4 = , pt.Y + dBoxLength / , pt.Z);      …
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Autodesk.Revit.UI; using Autodesk.Revit.DB; using Autodesk.Revit.Attributes; using Autodesk.Revit.ApplicationServices; namespace…
start //创建详图视图 Transaction ts = new Transaction(doc, "http://greatverve.cnblogs.com"); ts.Start(); Reference refElem = selection.PickObject(ObjectType.Element, "选择"); Element elem = doc.GetElement(refElem); BoundingBoxXYZ bBox = elem.g…
一业内朋友让我写个快速创建标高的插件. ;             ; i <= iNum; i++)             {                 Level level = doc.Create.NewLevel(dStart + i * dDis);                 level.Name = XmlTools.levelPre + (i + );             }             ts.Commit();         }         …
  [Transaction(TransactionMode.Manual)] [Regeneration(RegenerationOption.Manual)] public class cmd : IExternalCommand {     public Result Execute(ExternalCommandData cmdData, ref string msg, ElementSet elements)     {         UIDocument uiDoc = cmdDa…
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Autodesk.Revit.Attributes; using Autodesk.Revit.DB; using Autodesk.Revit.UI; using Autodesk.Revit.DB.Architecture; namespace Cre…
使用API来编辑族时,使用doc.FamilyCreate.NewReferencePlane();创建参考平面. )         {  ];         }         // cannot find it.         return null;     } } from:http://greatverve.cnblogs.com/p/NewReferencePlane.html…
Revit共享参数是通过创建一个.txt类型的文件来保存相关信息,一旦与项目保存完毕之后,共享参数也就变成了项目参数(项目参数无法通过API创建),项目参数是保存在Revit项目里面的,所以此时这个.txt文件是可以删除的. using Autodesk.Revit.DB; using System; using System.IO; using System.Reflection; namespace HelloRevit { public class RevitApiUtils { ///…
一.前言         应该是第二次写关于Revit API的博文了.虽然在BIM企业中工作,从事桌面BIM软件开发,但是我是不怎么喜欢写Revit API相关的代码.平时更多的是在写界面展示,架构维护,授权验证这块.为什么不喜欢Revit API呢?其实Autodesk封装的这套API是不错的(我在之后的工作中用起来挺舒服的),可能还是人比较懒吧,老查英文的API手册有点烦,而且这手册界面让我想起了上学时帮导师写ObjectARX的痛苦经历... 吐槽完之后,开始上干货.为什么需要去判断梁构…
查看 Revit API.发现有Element::IsHidden这个方法.通过UI创建一个element,注意要使得这个element在某些视图可见,但是在另一些视图不可见.运行下面的方法,你会发现几乎所有的视图都会返回true,这个结果并不是我们想要的. public void ishide() { Element elem = Document.GetElement()); FilteredElementCollector fec = new FilteredElementCollecto…
在Revit API中加载族可以使用Doc.LoadFamily方法,传入要加载的族文件路径名,但是这种方式有一种缺点,就是如果族文件在当前工程中没有加载的话则返回成功,如果已经加载过,则返回失败,也就是拿不到FamilySymbol实例,而根据族生成实例图元又需要这个FamilySymbol.网上看到有些帖子说可以传入IFamilyLoadOptions实例就可以,但是笔者多次尝试,该方法均没有成功,始终返回失败,无奈放弃这种方法,改为在当前工程中查找该族是否加载过,如果加载则直接返回Fami…
Hollis Yao, Shihao Rong  使用REST API创建虚拟机之前,首先要确保Azure订阅中已经建好了"云服务"和"存储账号".如果没有的话,可以使用Azure管理页面,或Powershell命令行工具,或REST API来创建云服务和存储账号. https://msdn.microsoft.com/library/gg441304.aspx https://azure.microsoft.com/zh-cn/documentation/arti…
1.获取共享参数 private string GetSharInfo(Autodesk.Revit.ApplicationServices.Application revitApp) { StringBuilder str = new StringBuilder(); DefinitionFile definitionFile = revitApp.OpenSharedParameterFile(); DefinitionGroups groups = definitionFile.Group…
Revit API提供根据射线来寻找经过的元素.方法是固定模式,没什么好说.关键代码:doc.FindReferencesWithContextByDirection(ptStart, (ptEnd - ptStart), view3d) );         XYZ ptEnd = curve.get_EndPoint();         , , 0.01);//向量偏移的方法,这里向下偏移.         ptStart = ptStart - offset;         ptEnd…
使用 Native API 创建进程 最近几个星期一直在研究这个题目.因为关于方面的资料比较多(可以看下面的参考文章),所以开始时以为很快就结束了.谁知道真正动起手来才发现有很多要考虑的地方,不过还好今天终于成功了,还是很高兴的.写下来,做个小结吧.(纸上得来终觉浅 , 须知此事要躬行.) 我们一般是使用 CreateProcess 来创建进程的,而使用 Native API 来创建进程其实说白了就是模拟 CreateProcess 的实现.一开始我以为 CreateProcess 就是调用 N…
TFS API:二.TFS  代码查询工作项 首先我们需要认识TFS的两大获取服务对象的类. 他们分别为TfsConfigurationServer和TfsTeamProjectCollection,他们的不同点在于可以获取不同的TFS API服务类.他们的区别如下: 服务 TfsConfigurationServer (服务器级别) TfsTeamProjectCollection (集合级别) ITeamFoundationRegistry  √  √ IIdentityManagement…
/usr/lib/jvm/java-7-openjdk-amd64/bin/java -Didea.launcher.port=7538 -Didea.launcher.bin.path=/usr/local/idea-IC-139.225.3/bin -Dfile.encoding=UTF-8 -classpath /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/rhino.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/…
(译)iPhone: 用公开API创建带小数点的数字键盘 (OS 3.0, OS 4.0) 更新:ios4.1现在已经将这个做到SDK了.你可以设置键盘类型为UIKeyboardTypeDecimalPad!完成! 在开发iphone程序的时候你可以选择各种键盘.其中的数字面板却没有带小数点.在底部的左下角有一个空白按钮,什么作用都没有.所以我将向你展示怎么将一个小数点按钮放在那里,看起来像这样的: 有一些其他的教程向你展示如何做到这样,但是我相信我的更好.因为代码简单易用,更灵活,并且UI颜色…
11.1Criteria和Metamodel API概述16811.2使用Metamodel API为实体类建模170 11.2.1使用元模型类17011.3使用Criteria API和Metamodel API创建基本的类型安全查询171 11.3.1创建Criteria查询171 11.3.2查询根172 11.3.3使用联接查询关系172 11.3.4Criteria查询中的路径导航173 11.3.5限制Criteria查询结果173 11.3.6管理Criteria查询结果175 1…
前一阵突然想起了9月份电面某公司实习时的二面题,大概就是说怎么用Win32 API实现一个透明的窗口,估计当时我的脑残答案肯定让面试官哭笑不得吧.所以本人决定好好研究下这个问题.经过一下午的摸索,基本掌握了使用Win32 API创建各种匪夷所思的窗口的基本思路. (以下文字基于本人的个人理解,由于本人技术和经验原因不保证正确性,希望各位不吝指正) 首先我们需要了解一些基础知识. 1.Layered Windows.这是Windows2000开始引入的新概念,重新定义了窗口的Hit Testing…
Yii2 restful api创建,认证授权以及速率控制 下面是对restful从创建到速率控制的一个详细流程介绍,里面的步骤以及截图尽可能详细,熟悉restful的盆友可能觉得过于繁琐,新手不妨耐心仔细看一下. 一.Api的创建 1.复制一个frontend或者backend,将其重命名为api放在同级目录下 2.然后删除controllers和views文件夹,然后将api文件中的frontend替换为api(比如命名空间,相关配置等),这点非常重要!!! 3.打开cmd命令行,cd进入项…
start [Transaction(TransactionMode.Manual)] [Regeneration(RegenerationOption.Manual)] ].Origin, listConn0[].Origin);             Line line1 = Line.get_Bound(listConn1[].Origin, listConn1[].Origin);             )););         XYZ endPoint0 = line0.get_…
方法在Win10 + VS2017(MVC5)测试通过 1.建立 WebApi项目: 选择菜单 “文件->新建醒目->web ->ASP.NET Web 应用程序” 输入项目名称和位置,确定,进入模板选择页面. 选择 WEB API 模板(选择Web API 时会添加对MVC 的支持) 2.添加ApiController 查看生产的目录结构,发现WebAPI 的结构和普通MVC程序结构是非常类似的. 默认VS会在Controllers 文件夹下创建一个示例控制器: ValuesContr…
大家可能经常看到一些微信公众号具有功能强大的自定义菜单,点击之后可以访问很多有用的功能. 这篇教程就教大家如何动手做一做. 这个教程最后实现的效果是:创建一个一级菜单"UI5", 点击之后弹出两个二级菜单,如下图蓝色区域所示.每个二级菜单都能完成一些任务. 那么用什么API创建这些自定义菜单呢?微信公众号平台技术文档中,点击"自定义菜单": 文档里给了创建自定义菜单需要维护参数的HTTPpost报文的格式: 回到我的例子,我用postman发送这个HTTP post…
日常使用Excel过程中,最多的操作无外乎单元格和工作表的操作,单元格的操作在前面已经有详细的辅助功能提供,此篇提供工作表相关的操作.这两项的操作若能有提速,日常大量的工作叠加起来真是省下不少时间. 文章出处说明 原文在简书上发表,再同步到Excel催化剂微信公众号或其他平台上,文章后续有修改和更新将在简书上操作, 其他平台不作同步修改更新,因此建议阅读其他出处的文章时,尽可能跳转回简书平台上查看. 业务场景 很悲哀的是,工作表的相关操作,本来按规范合理的制表方式来使用Excel的话,其实也不见…
原文:Creating Windows Services In .NET Core – Part 3 – The ".NET Core Worker" Way 作者:Dotnet Core Tutorials 译者:Lamond Lu 译文:使用.NET Core创建Windows服务 - 使用.NET Core工作器方式 使用.NET Core创建Windows服务 使用微软推荐方式 使用Topshelf方式 安装步骤 这里首先你要确保你已经安装了.NET Core 3.0或以上版本…