Revit SDK 介绍:DistanceToPanels 根据距离设置参数

news2025/1/11 20:49:41

前言

这个例子展示如何计算距离,并将距离的值设置为参数。

内容

选中球形,运行程序,会设置控制高度的参数,距离越远参数值越大。效果如下所示:
在这里插入图片描述
核心逻辑:

  1. 得到选中物体的位置
  2. 遍历分割表面内部的 Panel
  3. 计算距离并设置参数

核心代码:

// 得到选中物体的位置
LocationPoint targetLocation = targetElement.Location as LocationPoint;
// 遍历分割表面 DividedSurface ds 内部的 Panel
GridNode gn = new GridNode();
int u = 0;
while (u < ds.NumberOfUGridlines){
   gn.UIndex = u;
   int v = 0;
   while (v < ds.NumberOfVGridlines){
      gn.VIndex = v;
      if (ds.IsSeedNode(gn)){
         FamilyInstance familyinstance = ds.GetTileFamilyInstance(gn, 0);
         param = familyinstance.LookupParameter("Distance");
         LocationPoint loc = familyinstance.Location as LocationPoint;
         XYZ panelPoint = loc.Point;
         // 计算距离并设置参数
         double d = Math.Sqrt(Math.Pow((targetPoint.X - panelPoint.X), 2) + Math.Pow((targetPoint.Y - panelPoint.Y), 2) + Math.Pow((targetPoint.Z - panelPoint.Z), 2));
         param.Set(d);
      }
      v = v + 1;
   }
   u = u + 1;
}

其它

相关博客:Dynamo For Revit: DividedPath & DividedSurface 分割路径和分割表面

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/961742.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

DAY07_Maven高级——分模块开发与设计依赖管理聚合与继承属性管理多环境配置与应用私服

目录 一 分模块开发与设计1. 分模块开发的意义问题导入模块拆分原则 2. 分模块开发问题导入2.1 创建Maven模块2.2 书写模块代码2.3 通过maven指令安装模块到本地仓库&#xff08;install指令&#xff09; 二 依赖管理1. 依赖传递问题导入 2. 可选依赖问题导入 3. 排除依赖问题导…

HVV行动之态势感知平台(一)

知攻善防&#xff0c;遇强则强&#xff01; 先介绍一下什么是HVV行动&#xff1a; 它是由公安部牵头的&#xff0c;通过组织红队和蓝队进行为期两周到三周的攻防对抗演习&#xff0c;来检测一些企业单位可能存在的网络漏洞和威胁&#xff0c;进而进行修复和加固&#xff0c;提…

go web之一:hello world快速上手+handle(http.Handle和http.HandleFunc的区别与联系)

前情提要&#xff1a; 需要安装好go的环境和VSCode的go插件。 hello world快速上手 1、创建go.mod 在项目根目录下打开命令行&#xff0c;或者直接用VSCode中的终端。输入命令 go mod init github.com/solenovex/web-tutorial 然后就能看到项目结构中多了一个go.mod 2、…

石油化工智慧安监方案:TSINGSEE青犀视频AI智能识别安全生产风险预警平台建设

一、行业背景 石油化工生产存储企业属于高温、高压、易燃、易爆、有毒的危险行业&#xff0c;其生产装置大型化、密集化、生产工艺复杂、生产过程紧密耦合。随着互联网技术的发展&#xff0c;运用先进的AI、物联网、大数据、云计算等技术手段不断提高石油化工行业的安全监管水…

postgis数据库导出csv表再导入postgis

1、导出csv表 from settings_Address import * from sqlalchemy import create_engine, MetaData import pandas as pd def create_conn(Postgis_user,Postgis_password,Postgis_host,Postgis_port,dbname_PG):# return create_engine(PostgispyPostgis://{}:{}{}:{}/{}.forma…

jmeter源码二次开发

本文以jmeter5.5为例&#xff0c;扩展“TCP Socket支持定长的返回字节流”功能。 一、 源码本地编译运行 1、在jmeter官网下载源码&#xff1a;jmeter各版本源码地址 2、在idea中用gradle导入jmeter源码&#xff0c;idea中要配置jdk&#xff0c;gradle&#xff0c;我用的是j…

使用flink sqlserver cdc 同步数据到StarRocks

前沿&#xff1a; flink cdc功能越发强大&#xff0c;支持的数据源也越多&#xff0c;本篇介绍使用flink cdc实现&#xff1a; sqlserver-》&#xff08;using flink cdc&#xff09;-〉flink -》&#xff08;using flink starrocks connector&#xff09;-〉starrocks整个流程…

SQL注入类型与技巧

目录 一、注入类型 1.联合查询注入 2.报错注入 3.bool注入(布尔盲注) 4.sleep注入(时间盲注) 二、注入技巧 1.科学计数法绕过正则 2.过滤information 3.无列名注入 一、注入类型 1.联合查询注入 MySQL联合查询注入利用union(联合查询)可以同时执行多条SQL语句的特点…

error: ‘std::_hypot‘ has not been declared using std::hypot;

Cmake 使用qt的编译器 编译opencv时 执行mingw32-make时出现了错误 本质原因就是 _hypot 没有声明。所以找到对应的文件声明一下 就行了。 E:\*****\Qt5.14.1\Tools\mingw730_64\lib\gcc\x86_64-w64-mingw32\7.3.0\include\c 下面的math.h 文件。 可以看到这个文件有一个…

8月31日-9月1日 第六章 案例:MySQL主从复制与读写分离(面试重点,必记)

本章结构 案例概述 案例前置知识点 详细图示 1、什么是读写分离&#xff1f; 读写分离&#xff0c;基本的原理是让主数据库处理事务性增、改、删操作&#xff08;INSERT、UPDATE、DELETE&#xff09;&#xff0c;而从数据库处理SELECT查询操作。数据库复制被用来把事务性操作导…

python实现MQTT协议(发布者,订阅者,topic)

python实现MQTT协议 一、简介 1.1 概述 本文章针对物联网MQTT协议完成python实现 1.2 环境 Apache-apollo创建brokerPython实现发布者和订阅者 1.3 内容 MQTT协议架构说明 &#xff1a; 利用仿真服务体会 MQTT协议 针对MQTT协议进行测试 任务1&#xff1a;MQTT协议应…

关于Incapsula reese84加密的特征研究

最近研究了下reese84的加密算法&#xff0c;基本上两个参数的加密__utmvc和token&#xff0c;因为nodejs调用会有内存问题&#xff0c;没有采用补环境的方式解决&#xff0c;用python扣的算法 1:__utmvc参数的生成是一个ob混淆&#xff0c;ast处理之后调试难度不是很大 测试结…

说说IO多路复用

分析&回答 IO多路复用 I/O multiplexing 这里面的 multiplexing 指的其实是在单个线程通过记录跟踪每一个Sock(I/O流)的状态(对应空管塔里面的Fight progress strip槽)来同时管理多个I/O流。直白点说&#xff1a;多路指的是多个socket连接&#xff0c;复用指的是复用一个…

ROS 2官方文档(基于humble版本)学习笔记(二)

ROS 2官方文档&#xff08;基于humble版本&#xff09;学习笔记&#xff08;二&#xff09; 理解节点&#xff08;node&#xff09;ros2 runros2 node list重映射&#xff08;remap&#xff09;ros2 node info 理解话题&#xff08;topic&#xff09;rqt_graphros2 topic listr…

JVM工具-1. jps 虚拟机进程状态工具

文章目录 1. jps介绍2. jps命令格式3. jps工具主要选项4. jps -q5. jps -m6. jps -l7. jps -v 1. jps介绍 jps(JVM Process Status Tool)&#xff1a;虚拟机进程状态工具&#xff0c;可以列出正在运行的虚拟机进程&#xff0c;并显示虚拟机执行主类&#xff08;Main Class&…

【校招VIP】操作系统考点之sleep和wait

考点介绍&#xff1a; 多线程可以说是进阶必备的知识点&#xff0c;也是面试中必备的考点。 可能不少人能对多线程说上一二&#xff0c;但这还远远不够&#xff0c;如果碰到比较有经验的面试官再继续追问&#xff0c;很可能会被吊打。 操作系统考点之sleep和wait 相关题目及解…

2023-9-1-虚拟网卡学习

&#x1f37f;*★,*:.☆(&#xffe3;▽&#xffe3;)/$:*.★* &#x1f37f; &#x1f4a5;&#x1f4a5;&#x1f4a5;欢迎来到&#x1f91e;汤姆&#x1f91e;的csdn博文&#x1f4a5;&#x1f4a5;&#x1f4a5; &#x1f49f;&#x1f49f;喜欢的朋友可以关注一下&#xf…

使用boost::geometry::union_ 合并边界(内、外):方案二

使用boost::geometry::union_ 合并边界&#xff08;内、外&#xff09;&#xff1a;方案二 typedef boost::geometry::model::d2::point_xy<double> boost_point; typedef boost::geometry::model::polygon<boost_point> boost_Polygon;struct Point {float x;floa…

kubernetes进阶 (二) 搭建harbor仓库及镜像制作

我遇到的场景规模较大&#xff0c;F5后有很多个仓库。 并且仓库直接还存在同步关系&#xff0c;因为拉取镜像走的是F5&#xff0c;当碰到莫名其妙的原因(仓库挂了&#xff0c;或者维护、磁盘满了&#xff09;&#xff0c;上送到根仓库的镜像没有同步到其他所以的仓库&#xff0…

高版本springboot3.1配置Eureka客户端问题

只需要按上面配置好&#xff0c;然后高版本的Eureka&#xff0c;不需要EnableEurekaClient这个注解了&#xff0c;直接SpringBoot启动&#xff0c;就可以注册到注册中心。 /*********************************************************/ /** * 开启eureka客户端功能 */ //E…