Revit SDK 内容摘要: 8.0 -8.1
前提
不包含已单独写博客部分。
Revit SDK Samples
8.0
AnalyticalViewer
分析模型,VB,略。
namespace Autodesk.Revit.DB.Structure
{public class AnalyticalModel : Element{public AnalyticalRigidLinksOption RigidLinksOption { get; set; }public void Approximate(bool enableApproximation);public bool CanApproximate();public bool CanDisableAutoDetect(AnalyticalDirection direction);public bool CanHaveRigidLinks();public bool CanUseHardPoints();public void CloneAdjustment(AnalyticalModel source, int end);public void Disconnect(AnalyticalElementSelector selector);public void Enable(bool enable);public void EnableAutoDetect(AnalyticalDirection direction, bool enabled);public IList<AnalyticalModelSketchComponent> GetAnalyticalModelSketchComponents();public IList<AnalyticalModelSupport> GetAnalyticalModelSupports();public AnalyzeAs GetAnalyzeAs();public double GetApproximationDeviation();public ICollection<ElementId> GetAutoDetectMatchedElements(AnalyticalDirection direction);public Curve GetCurve();public IList<Curve> GetCurves(AnalyticalCurveType curveType);public ElementId GetElementId();public Transform GetLocalCoordinateSystem();public ICollection<ElementId> GetManualAdjustmentMatchedElements();public XYZ GetOffset(AnalyticalElementSelector selector);public XYZ GetPoint();public Reference GetReference(AnalyticalModelSelector selector);public Curve GetRigidLink(AnalyticalModelSelector selector);public bool HasDeletedLinks();public bool HasRigidLinksWith(ElementId neighborId);public bool IsAnalyzeAsValid(AnalyzeAs analyzeAs);public bool IsApproximated();public bool IsAutoDetectEnabled(AnalyticalDirection direction);public bool IsElementFullySupported();public bool IsEnabled();public bool IsManuallyAdjusted();public bool IsModified();public bool IsSingleCurve();public bool IsSinglePoint();public bool IsValidDirectionForAutoDetect(AnalyticalDirection direction);public bool IsValidForManualAdjustment(Reference reference);public bool IsValidManualAdjustmentSource(Reference source, AnalyticalDirection adjustmentDirection);public bool IsValidManualAdjustmentTarget(Reference target, Reference source, AnalyticalDirection direction);public bool IsValidRigidLinksOption(AnalyticalRigidLinksOption rigidLinksOption);public bool IsValidSelector(AnalyticalModelSelector selector);public bool ManuallyAdjust(Reference source, Reference target);public void ResetLinks();public bool ResetManualAdjustment();public void SetAnalyzeAs(AnalyzeAs analyzeAs);public void SetApproximationDeviation(double deviation);public void SetOffset(AnalyticalElementSelector selector, XYZ offset);public void SetUsesHardPoints(bool hardPoints);public bool SupportsManualAdjustment();public bool UsesHardPoints();}
}
ArchSample
导出文档信息到Excel。
BrowseBindings
VB.略。
CreateShared
创建共享参数,略。
ElementViewer
FireRating
PhysicalProp
RevitViewer
RoomViewer
查询设计参数,略。
MoveLinear
设置位置线,改变位置。
Autodesk.Revit.DB.LocationCurve lineLoc;
lineLoc = element.Location as LocationCurve;
Autodesk.Revit.DB.Line line;
Autodesk.Revit.DB.XYZ newStart = new XYZ(lineLoc.Curve.GetEndPoint(0).X + 100,lineLoc.Curve.GetEndPoint(0).Y,lineLoc.Curve.GetEndPoint(0).Z);
Autodesk.Revit.DB.XYZ newEnd = new XYZ(lineLoc.Curve.GetEndPoint(1).X,lineLoc.Curve.GetEndPoint(1).Y + 100,lineLoc.Curve.GetEndPoint(1).Z);
line = Line.CreateBound(newStart, newEnd);
lineLoc.Curve = line;
RevitCommands
通过 UIApplication::PostCommand 触发和UI一样的命令。
StructSample
创建柱子等结构元素。
TypeSelector
VB,略。根据类型选择元素。
8.1
DeckProperties
参考 Revit SDK 介绍:CompoundStructure 复合结构
HelloRevit
Hello World,略。
InvisibleParam
设置参数可见性:
//cache application handle
Application revitApp = commandData.Application.Application;
//prepare shared parameter file
commandData.Application.Application.SharedParametersFilename = newPath;//Open shared parameter file
DefinitionFile parafile = revitApp.OpenSharedParameterFile();//get walls category
Category wallCat = commandData.Application.ActiveUIDocument.Document.Settings.Categories.get_Item(BuiltInCategory.OST_Walls);
CategorySet categories = revitApp.Create.NewCategorySet();
categories.Insert(wallCat);InstanceBinding binding = revitApp.Create.NewInstanceBinding(categories);//Create a group
DefinitionGroup apiGroup = parafile.Groups.Create("APIGroup");//Create a visible "VisibleParam" of text type.
ExternalDefinitionCreationOptions ExternalDefinitionCreationOptions1 = new ExternalDefinitionCreationOptions("VisibleParam", ParameterType.Text);
Definition visibleParamDef = apiGroup.Definitions.Create(ExternalDefinitionCreationOptions1);;BindingMap bindingMap = commandData.Application.ActiveUIDocument.Document.ParameterBindings;
bindingMap.Insert(visibleParamDef, binding);//Create a invisible "InvisibleParam" of text type.
ExternalDefinitionCreationOptions ExternalDefinitionCreationOptions2 = new ExternalDefinitionCreationOptions("InvisibleParam", ParameterType.Text);
ExternalDefinitionCreationOptions2.Visible = false;
Definition invisibleParamDef = apiGroup.Definitions.Create(ExternalDefinitionCreationOptions2);
bindingMap.Insert(invisibleParamDef, binding);
ParameterUtils
获取参数,略。
SpanDirection
Floor floor = flr;
String spanDirAngle = "Span direction angle: " + floor.SpanDirectionAngle.ToString() + "\r\n";// get span direction symbols of Floor(Slab)
String symbols = "Span direction symbols: \r\n\t";
System.Collections.Generic.ICollection<ElementId> symbolArray = floor.GetSpanDirectionSymbolIds();
foreach (ElementId eid in symbolArray){Element elem = m_docment.GetElement(eid);if (elem != null) {symbols += (m_docment.GetElement(elem.GetTypeId()) as ElementType).Name + "\r\n";}
}
相关文章:
Revit SDK 内容摘要: 8.0 -8.1
前提 不包含已单独写博客部分。 Revit SDK Samples 8.0 AnalyticalViewer 分析模型,VB,略。 namespace Autodesk.Revit.DB.Structure {public class AnalyticalModel : Element{public AnalyticalRigidLinksOption RigidLinksOption { get; set; }p…...
列表和字典练习
定义四个学生信息 在Python环境下,用列表定义: >>> stu1[xiaoming,True,21,79.9] >>> stu1[lihong,False,22,69.9] >>> stu1[zhangqiang,True,20,89.9] >>> stu1[EMT,True,23,99.9]如图,定义了四个列表…...
iwebsec靶场 文件包含漏洞通关笔记2-文件包含绕过(截断法)
目录 前言 1.%00截断 2.文件字符长度截断法(又名超长文件截断) 方法1(路径截断法) 方法2(点号截断法) 第02关 文件包含绕过 1.打开靶场 2.源码分析 3.00文件截断原理 4.00截断的条件 5.文件包含00截断绕过 …...
【基于Cocos Creator实现的赛车游戏】9.实现汽车节点的控制逻辑
转载知识星球 | 深度连接铁杆粉丝,运营高品质社群,知识变现的工具 项目地址:赛车小游戏-基于Cocos Creator 3.5版本实现: 课程的源码,基于Cocos Creator 3.5版本实现 在上一节的课程中,您已经实现了通过触控给刚体施…...
蓝蓝设计为教育行业提供软件UI交互设计服务
在教育行业,软件的用户体验设计对于提供优质教育体验至关重要。教育行业软件用户体验设计需要考虑到学生和教师的需求,以及教育环境的特殊性。为了确保设计的成功,选择一家专业的设计公司是至关重要的,而北京蓝蓝设计公司就是您的…...
Java从入门到精通-类和对象(二)
0. 类和对象 3. 类的构造方法 构造方法是一种特殊的方法,用于创建和初始化对象。构造方法的名称必须与类名相同,它没有返回值,并且在创建对象时自动调用。构造方法的主要作用是确保对象在创建时具有合适的初始状态。 以下是构造方法的基本概…...
Python解析MDX词典数据并保存到Excel
原始数据和处理结果: https://gitcode.net/as604049322/blog_data/-/tree/master/mdx 下载help.mdx词典后,我们无法直接查看,我们可以使用readmdict库来完成对mdx文件的读取。 安装库: pip install readmdict对于Windows平台还…...
线性代数的本质(四)
文章目录 行列式二阶行列式 n n n 阶行列式行列式的性质克拉默法则行列式的几何理解 行列式 二阶行列式 行列式引自对线性方程组的求解。考虑两个方程的二元线性方程组 { a 11 x 1 a 12 x 2 b 1 a 21 x 1 a 22 x 2 b 2 \begin{cases} a_{11}x_1a_{12}x_2b_1 \\ a_{21}x_…...
FreeMarker详细介绍
FreeMarker详细介绍 FreeMarker FreeMarker概述 FreeMarker概念 FreeMarker 是一款 模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页,电子邮件,配置文件,源代码等)的通用工具。 是一个Java类库…...
房地产小程序 | 小程序赋能,房地产业务数字化升级
随着科技的不断发展,房地产行业正逐渐向数字化转型。在这个过程中,房地产小程序成为了一种重要的工具,可以帮助房地产企业提供更好的购房体验、增加销售额,并实现管理的便捷化。 优点 便捷购房体验:房地产小程序为用户…...
Databend 开源周报第 110 期
Databend 是一款现代云数仓。专为弹性和高效设计,为您的大规模分析需求保驾护航。自由且开源。即刻体验云服务:https://app.databend.cn 。 Whats On In Databend 探索 Databend 本周新进展,遇到更贴近你心意的 Databend 。 使用 BendSQL 管…...
开源大模型ChatGLM2-6B 1. 租一台GPU服务器测试下
0. 环境 租用了1台GPU服务器,系统 ubuntu20,GeForce RTX 3090 24G。过程略。本人测试了ai-galaxy的,今天发现网友也有推荐autodl的。 (GPU服务器已经关闭,因此这些信息已经失效) SSH地址:* 端…...
SQL10 用where过滤空值练习
描述 题目:现在运营想要对用户的年龄分布开展分析,在分析时想要剔除没有获取到年龄的用户,请你取出所有年龄值不为空的用户的设备ID,性别,年龄,学校的信息。 示例:user_profile iddevice_idge…...
JVM--Hotspot Architecture 详解
一、Java Virtual Machine (JVM)概述 Java Virtual Machine 虚拟机 (JVM) 是一种抽象的计算机。JVM本身也是一个程序,但是对于编写在其中执行的程序来说,它看起来像一台机器。对于特定的操作系统ÿ…...
ThreadLocal功能实现
模拟ThreadLocal功能实现 当前线程任意方法内操作连接对象 一个栈对应一个线程 , 一个方法调用另一个方法都是在一个线程内 , 只有执行了线程的start方法才会创建一个线程 定义一个Map集合 , key是当前线程(Thread.currentThread) , value是要绑定的数据(Connection对象) 以…...
Linux编辑器-vim使用
文章目录 前言一、vim编辑器1、vim的基本概念2、vim的基本操作2.1 命令模式切换至插入模式2.2 插入模式切换至命令模式2.3 命令模式切换至底行模式 3、vim命令模式命令集3.1 移动光标3.2 删除文字3.3 复制与粘贴3.4 替换3.5 撤销上一次操作3.6 更改3.7 跳至指定的行 4、vim末行…...
自助式数据分析平台:JVS智能BI功能介绍(二)数据集管理
数据集是JVS-智能BI中承载数据、使用数据、管理数据的基础,同样也是构建数据分析的基础。可以通俗地将其理解为数据库中的普通的表,他来源于智能的ETL数据加工工具,可以将数据集进行分析图表、统计报表、数字大屏、数据服务等制作。 在整体的…...
《5G技术引领教育信息化新革命》
5G技术引领教育信息化新革命 随着5G技术的快速发展,教育领域也迎来了全新的信息化时代。5G技术为教育行业提供了更高速、更稳定、更智能的网络连接,使得教育信息化不再局限于传统的课堂教学,而是延伸到了线上、线下的全时空教育。本文将详细介…...
cmake学习过程记录
目录 基础命令学习配置opencvcmake (Windows版本) 基础命令学习 //设置最低版本号 cmake_minimum_required(VERSION 3.5)//设置项目名称 project (hello_headers)//递归遍历文件夹src中的cpp文件放到变量SOURCES中 file(GLOB_RECURSE SOURCES src/*.cpp)//设置目标exe名称…...
Vue3、Vite使用 html2canvas 把Html生成canvas转成图片并保存,以及填坑记录
这两天接到新需求就是生成海报分享,生成的格式虽然是一样的但是自己一点点画显然是不符合我摸鱼人的性格,就找到了html2canvas插件,开始动工。 安装 npm install html2canvas --save文档 options 的参数都在里面按照自己需求使用 https://a…...
Leetcode 3576. Transform Array to All Equal Elements
Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接:3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到…...
Spring Boot 实现流式响应(兼容 2.7.x)
在实际开发中,我们可能会遇到一些流式数据处理的场景,比如接收来自上游接口的 Server-Sent Events(SSE) 或 流式 JSON 内容,并将其原样中转给前端页面或客户端。这种情况下,传统的 RestTemplate 缓存机制会…...
逻辑回归:给不确定性划界的分类大师
想象你是一名医生。面对患者的检查报告(肿瘤大小、血液指标),你需要做出一个**决定性判断**:恶性还是良性?这种“非黑即白”的抉择,正是**逻辑回归(Logistic Regression)** 的战场&a…...
Python:操作 Excel 折叠
💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序
一、开发准备 环境搭建: 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 项目创建: File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...
[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...
关于 WASM:1. WASM 基础原理
一、WASM 简介 1.1 WebAssembly 是什么? WebAssembly(WASM) 是一种能在现代浏览器中高效运行的二进制指令格式,它不是传统的编程语言,而是一种 低级字节码格式,可由高级语言(如 C、C、Rust&am…...
NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合
在汽车智能化的汹涌浪潮中,车辆不再仅仅是传统的交通工具,而是逐步演变为高度智能的移动终端。这一转变的核心支撑,来自于车内关键技术的深度融合与协同创新。车载远程信息处理盒(T-Box)方案:NXP S32K146 与…...
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的“no matching...“系列算法协商失败问题
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的"no matching..."系列算法协商失败问题 摘要: 近期,在使用较新版本的OpenSSH客户端连接老旧SSH服务器时,会遇到 "no matching key exchange method found", "n…...
LRU 缓存机制详解与实现(Java版) + 力扣解决
📌 LRU 缓存机制详解与实现(Java版) 一、📖 问题背景 在日常开发中,我们经常会使用 缓存(Cache) 来提升性能。但由于内存有限,缓存不可能无限增长,于是需要策略决定&am…...
