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…...
golang循环变量捕获问题
在 Go 语言中,当在循环中启动协程(goroutine)时,如果在协程闭包中直接引用循环变量,可能会遇到一个常见的陷阱 - 循环变量捕获问题。让我详细解释一下: 问题背景 看这个代码片段: fo…...
PHP和Node.js哪个更爽?
先说结论,rust完胜。 php:laravel,swoole,webman,最开始在苏宁的时候写了几年php,当时觉得php真的是世界上最好的语言,因为当初活在舒适圈里,不愿意跳出来,就好比当初活在…...
Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility
Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility 1. 实验室环境1.1 实验室环境1.2 小测试 2. The Endor System2.1 部署应用2.2 检查现有策略 3. Cilium 策略实体3.1 创建 allow-all 网络策略3.2 在 Hubble CLI 中验证网络策略源3.3 …...
前端开发面试题总结-JavaScript篇(一)
文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包(Closure)?闭包有什么应用场景和潜在问题?2.解释 JavaScript 的作用域链(Scope Chain) 二、原型与继承3.原型链是什么?如何实现继承&a…...
sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!
简介 sipsak 是一个面向会话初始协议 (SIP) 应用程序开发人员和管理员的小型命令行工具。它可以用于对 SIP 应用程序和设备进行一些简单的测试。 sipsak 是一款 SIP 压力和诊断实用程序。它通过 sip-uri 向服务器发送 SIP 请求,并检查收到的响应。它以以下模式之一…...
NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合
在汽车智能化的汹涌浪潮中,车辆不再仅仅是传统的交通工具,而是逐步演变为高度智能的移动终端。这一转变的核心支撑,来自于车内关键技术的深度融合与协同创新。车载远程信息处理盒(T-Box)方案:NXP S32K146 与…...
动态 Web 开发技术入门篇
一、HTTP 协议核心 1.1 HTTP 基础 协议全称 :HyperText Transfer Protocol(超文本传输协议) 默认端口 :HTTP 使用 80 端口,HTTPS 使用 443 端口。 请求方法 : GET :用于获取资源,…...
Kafka入门-生产者
生产者 生产者发送流程: 延迟时间为0ms时,也就意味着每当有数据就会直接发送 异步发送API 异步发送和同步发送的不同在于:异步发送不需要等待结果,同步发送必须等待结果才能进行下一步发送。 普通异步发送 首先导入所需的k…...
比较数据迁移后MySQL数据库和OceanBase数据仓库中的表
设计一个MySQL数据库和OceanBase数据仓库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较…...
MySQL:分区的基本使用
目录 一、什么是分区二、有什么作用三、分类四、创建分区五、删除分区 一、什么是分区 MySQL 分区(Partitioning)是一种将单张表的数据逻辑上拆分成多个物理部分的技术。这些物理部分(分区)可以独立存储、管理和优化,…...
