Dynamo中对构件通过某一规律排序

启用 Python 支持和加载 DesignScript 库

import clr
clr.AddReference(‘ProtoGeometry’)
from Autodesk.DesignScript.Geometry import *

该节点的输入内容将存储为 IN 变量中的一个列表。

dataEnteringNode = IN

将代码放在该行下面

sortNums=IN[0]
elements=IN[1]

#通过(用于编码的值,编码模型,是否反转从小到大或者从大到小)进行模型编码
def sortElement(sortNums,elements,IsReverse):
l = len(sortNums)
j=0
for i in range(1,l):
temp = sortNums[i]
tempa=elements[i]
for j in range(i-1, -1, -1):
if temp < sortNums[j]: #如果第i个元素大于前i个元素中的第j个
sortNums[j+1] = sortNums[j] #则第j个元素先后移1位
elements[j+1]=elements[j]
sortNums[j] = temp #将i个元素赋值给空着的位置
elements[j]=tempa
else: #如果第i个元素小于等于前i个元素中的第j个则结束循环
break

if(IsReverse):
	elements=elements
else:
	aa=[]
	for i in range(len(elements)):
		aa.append(elements.pop())
	elements=aa
return elements

将输出内容指定给 OUT 变量。

OUT = elements

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值