一键放置柱子护角,你get了吗?

今天写个番外篇,给柱子添加护角。

记得几年前刚开始做BIM的时候,有次做车库导视方案模型,记得好像是鼎伦设计的车库一体化方案,当时柱子护角就给了两种方案,而且基本上每颗柱子上都要放护角,然后甲方竟然要求把护角模型都放进去,当时只是刚入门,没有啥简便方法,就做了个护角的族,一个一个柱子的放,现在想想真是脑残啊当时,地下三层几千个柱子,挨个摆。。。。。。

当时好像是这样一个护角,几千个柱子,求心理阴影面积。。。。。

现在,有了Dynamo插件,情况就不一样了,可以解决很多重复性工作,于是,我就想写个小程序,一键放置柱子护角,说干就干:

第一步:将所有柱子变成Dynamo图元,然后获取柱子的BoundingBox。

第二步:我们主需要柱子的底部轮廓即可,这里用到Clockwork里的节点,获取BoudingBox在指定平面上的曲线。
 

由下图我们可以看出,我们得到的曲线是柱子的四条边线,然后我们获取曲线的起点或者终点,这里任选其一即可。这样我们就将四条边线转换成了四个顶点,当然这个点就是我们放置族所需的点。
 

第三步:接下来要分两步走,一个是在点的位置放置族,另一个是旋转族。
 

首先,放置族:
 

然后,我们思考下族的旋转角度,由于我之前选择的是曲线的终点,所以通过点击点的列表,我们得出护角族的顺序以及应该旋转多大的角度。


 

由上图我们可以看出,左下角的点是第一四个,那么我们的顺序就是由左下角开始,顺时针计数,分别是0-1-2-3,所以我简单做个护角族,对应旋转的角度是0-90-180-270度。

这样就很明了了,我们只需要创建对应数量的一个列表,分别是0-90-180-270度的循环即可。

于是,我们将点列表降低一个维度,然后获取项数,再用codeblock创建一个角度的列表,然后通过List.OfRepeateditem来匹配列表长度,这样就得到一个对应的角度列表:

第四步:将列表拍平,然后将放置的护角族旋转对应角度即可。

好了,今天的教程就到这里了~~,来看下效果:

有时候思考思考以前做过的项目,会发现当年用的方法是多么的低级,用好插件,让工作效率翻倍吧~~

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

容斥原理基础

文章目录 容斥原理的引入从集合的角度考虑推广例子不被2、3、5整除的数错排问题求不定方程的解Devu和鲜花 容斥原理的引入 从一个小学奥数问题引入: 一个班级有50人 喜欢语文的人有20人 喜欢数学的人有30人 同时喜欢语文数学的人有10人。 问题: 两门都不…

10个简单有效的编辑PDF文件工具分享

10个编辑PDF文件工具作为作家、编辑或专业人士,您可能经常发现自己在处理 PDF 文件。无论您是审阅文档、创建报告还是与他人共享工作,拥有一个可靠的 PDF 编辑器供您使用都非常重要。 10个简单适用的编辑PDF文件工具 在本文中,我们将介绍当今…

详细分析python中的 async 和 await(附Demo)

目录 前言1. 基本知识2. Demo2.1 Demo1(同步)2.2 Demo2(错误)2.3 Demo3(不正确的异步)2.4 Demo4(正确异步) 3. 完整版4. 拓展4.1 asyncio.create_task(coroutine)4.2 asyncio.gather…

FXTM富拓监管变更!2024开年连续3家交易商注销牌照

交易商的监管信息是经常发生变更的,即使第一次投资时查询平台监管牌照,投资者仍需持续关注其监管动态。千万不要以为第一步审核好后就万事大吉了! 2024年开年,就有3家交易商的重要信息发生变更,注销其金融监管牌照&…

Java 将TXT文本文件转换为PDF文件

与TXT文本文件,PDF文件更加专业也更适合传输,常用于正式报告、简历、合同等场合。项目中如果有使用Java将TXT文本文件转为PDF文件的需求,可以查看本文中介绍的免费实现方法。 免费Java PDF库 本文介绍的方法需要用到Free Spire.PDF for Java…

编程实例分享,宠物诊所电子处方怎么开,兽医电子处方模板电子版操作教程

编程实例分享,宠物诊所电子处方怎么开,兽医电子处方模板电子版操作教程 一、前言 以下操作教程以 佳易王兽医电子处方软件V16.0为例说明 软件文件下载可以点击最下方官网卡片——软件下载——试用版软件下载 1、在系统 设置里可以设置打印参数&#x…

《动手学深度学习(PyTorch版)》笔记7.2

注:书中对代码的讲解并不详细,本文对很多细节做了详细注释。另外,书上的源代码是在Jupyter Notebook上运行的,较为分散,本文将代码集中起来,并加以完善,全部用vscode在python 3.9.18下测试通过&…

单片机学习笔记---LED点阵屏的工作原理

目录 LED点阵屏分类 LED点阵屏显示原理 74HC595的介绍 一片74HC595的工作原理 多片级联工作原理 总结 LED点阵屏由若干个独立的LED组成,LED以矩阵的形式排列,以灯珠亮灭来显示文字、图片、视频等。LED点阵屏广泛应用于各种公共场合,如汽…

go语言进阶篇——面向对象(一)

什么是面向对象 在我们设计代码时,比如写一个算法题或者写一个问题结局办法时,我们常常会使用面向过程的方式来书写代码,面向过程主要指的是以解决问题为中心,按照一步步具体的步骤来编写代码或者调用函数,他在问题规…

后端创建订单

package com.java1234.entity;import io.jsonwebtoken.Claims;/*** jwt验证信息* author java1234_小锋* site www.java1234.com* company Java知识分享网* create 2019-08-13 上午 10:00*/ public class CheckResult {private int errCode;private boolean success;private Cl…

Linux下的多线程

前面学习了进程、文件等概念,接下里为大家引入线程的概念 多线程 线程是什么?为什么要有线程?线程的优缺点Linux线程操作线程创建线程等待线程终止线程分离 线程间的私有和共享数据理解线程库和线程id深刻理解Linux多线程(重点&a…

2023年全国职业院校技能大赛软件测试赛题第3套

2023年全国职业院校技能大赛 软件测试赛题第3套 赛项名称: 软件测试 英文名称: Software Testing 赛项编号: GZ034 归属产业: 电子与信息大类 …

软件价值10-数字时钟

这是一个数字时钟程序: # importing whole module from tkinter import * from tkinter.ttk import *# importing strftime function to # retrieve systems time from time import strftime# creating tkinter window root Tk() root.title(Clock)# This functio…

Docker Compose实例

目录 一、前提说明 二、简单的Docker容器部署案例 1. Dockerfile 配置 2. docker-compose.yml 配置 3. application.properties 配置 4. pom.xml 配置 5. 上传文件 6. 创建基础Docker镜像 7. docker-compose.yml编排 8. 停止并删除容器编排 一、前提说明 在配置好Do…

【博云2023】乘龙一跃腾云海,侧目抬手摘星河

癸卯渐远,甲辰渐至,预示着被汗水浇灌的种子,必将顶开冻土,迎接阳光。 每逢春节,当亲友彼此问候,博云人总能自豪地说,我们认真地、努力地奋斗,让我们能自信地踏上新的征程。 我们的…

使用Python进行数据的描述性分析,用少量的描述性指标来概括大量的原始数据

在进行数据分析时,当研究者得到的数据量很小时,可以通过直接观察原始数据来获得所有的信息。但是,当得到的数据量很大时,就必须借助各种描述性指标来完成对数据的描述工作。用少量的描述性指标来概括大量的原始数据,对…

用户和文件权限管理

一、用户管理 1、创建用户 [rootmaster ~]# useradd maple [rootmaster ~]# ll /home total 0 drwx------ 2 maple maple 62 Feb 7 20:47 maple drwx------ 2 www www 62 Jan 17 21:05 www [rootmaster ~]# passwd maple Changing password for user maple. New passwor…

Swift Combine 发布者publisher的生命周期 从入门到精通四

Combine 系列 Swift Combine 从入门到精通一Swift Combine 发布者订阅者操作者 从入门到精通二Swift Combine 管道 从入门到精通三 1. 发布者和订阅者的生命周期 订阅者和发布者以明确定义的顺序进行通信,因此使得它们具有从开始到结束的生命周期: …

深度学习系列56:使用whisper进行语音转文字

1. openai-whisper 这应该是最快的使用方式了。安装pip install -U openai-whisper,接着安装ffmpeg,随后就可以使用了。模型清单如下: 第一种方式,使用命令行: whisper japanese.wav --language Japanese --model…