计算 split.index 的总和

引用于 Macwinlin 在 2025年4月14日, 下午7:07大家好。有没有办法用 split.index 命令计算除法命令生成的数字之和?例如,我们有一栋 5 层楼,如果使用 split.index 命令,楼层数从 0 开始,最终第 5 层的数字是 4,总和为 10,即 0+1+2+3+4 = 10。
大家好。有没有办法用 split.index 命令计算除法命令生成的数字之和?例如,我们有一栋 5 层楼,如果使用 split.index 命令,楼层数从 0 开始,最终第 5 层的数字是 4,总和为 10,即 0+1+2+3+4 = 10。

引用于 UrbanEngine 在 2025年4月14日, 下午7:08我很好奇您的目标是否只是计算 split.index 值的总和,
或者您是否还想将该总和传递到其他规则中以供进一步使用。如果您的目标只是计算总和,则可以使用公式 “(split.total - 1)* split.total / 2”
如果您想将计算出的值传递给其他规则并在那里使用它,您可以这样写:
attr unitHeight = 2 // Height of each split section @StartRule Lot --> extrude(10) // Give height to the lot split(y){ ~unitHeight : Section }* // Split along Y into equal parts // Use 'with' to define sum_n as the sum of split.index values Section with ( sum_n := (split.total - 1) * split.total / 2 ) --> case split.index == 0 : Something_A(sum_n) .. ... .... else : Something_Else(sum_n)
解决这个问题的方法可能有多种,因此请仅将其作为参考。
我很好奇您的目标是否只是计算 split.index 值的总和,
或者您是否还想将该总和传递到其他规则中以供进一步使用。
如果您的目标只是计算总和,则可以使用公式 “(split.total - 1)* split.total / 2”
如果您想将计算出的值传递给其他规则并在那里使用它,您可以这样写:
attr unitHeight = 2 // Height of each split section
@StartRule
Lot -->
extrude(10) // Give height to the lot
split(y){ ~unitHeight : Section }* // Split along Y into equal parts
// Use 'with' to define sum_n as the sum of split.index values
Section
with ( sum_n := (split.total - 1) * split.total / 2 )
-->
case split.index == 0 :
Something_A(sum_n)
..
...
....
else :
Something_Else(sum_n)
解决这个问题的方法可能有多种,因此请仅将其作为参考。


引用于 Macwinlin 在 2025年4月14日, 下午7:09我很好奇您的目标是否只是计算 split.index 值的总和,
或者您是否还想将该总和传递到其他规则中以供进一步使用。如果您的目标只是计算总和,则可以使用公式 “(split.total - 1)* split.total / 2”
如果您想将计算出的值传递给其他规则并在那里使用它,您可以这样写:
attr unitHeight = 2 // Height of each split section @StartRule Lot --> extrude(10) // Give height to the lot split(y){ ~unitHeight : Section }* // Split along Y into equal parts // Use 'with' to define sum_n as the sum of split.index values Section with ( sum_n := (split.total - 1) * split.total / 2 ) --> case split.index == 0 : Something_A(sum_n) .. ... .... else : Something_Else(sum_n)
解决这个问题的方法可能有多种,因此请仅将其作为参考。
引用于 Macwinlin 在 2025年4月14日, 下午7:09我相信split.total形状属性正是您想要的。假设您将质量分成三部分,则split.index为 0,1,2,split.total为 3。
我很好奇您的目标是否只是计算 split.index 值的总和,
或者您是否还想将该总和传递到其他规则中以供进一步使用。
如果您的目标只是计算总和,则可以使用公式 “(split.total - 1)* split.total / 2”
如果您想将计算出的值传递给其他规则并在那里使用它,您可以这样写:
attr unitHeight = 2 // Height of each split section
@StartRule
Lot -->
extrude(10) // Give height to the lot
split(y){ ~unitHeight : Section }* // Split along Y into equal parts
// Use 'with' to define sum_n as the sum of split.index values
Section
with ( sum_n := (split.total - 1) * split.total / 2 )
-->
case split.index == 0 :
Something_A(sum_n)
..
...
....
else :
Something_Else(sum_n)
解决这个问题的方法可能有多种,因此请仅将其作为参考。
引用于 Macwinlin 在 2025年4月14日, 下午7:09我相信split.total形状属性正是您想要的。假设您将质量分成三部分,则split.index为 0,1,2,split.total为 3。

引用于 UrbanEngine 在 2025年4月14日, 下午7:10引用于 Macwinlin 在 2025年4月14日, 下午7:09我很好奇您的目标是否只是计算 split.index 值的总和,
或者您是否还想将该总和传递到其他规则中以供进一步使用。如果您的目标只是计算总和,则可以使用公式 “(split.total - 1)* split.total / 2”
如果您想将计算出的值传递给其他规则并在那里使用它,您可以这样写:
attr unitHeight = 2 // Height of each split section @StartRule Lot --> extrude(10) // Give height to the lot split(y){ ~unitHeight : Section }* // Split along Y into equal parts // Use 'with' to define sum_n as the sum of split.index values Section with ( sum_n := (split.total - 1) * split.total / 2 ) --> case split.index == 0 : Something_A(sum_n) .. ... .... else : Something_Else(sum_n)
解决这个问题的方法可能有多种,因此请仅将其作为参考。
引用于 Macwinlin 在 2025年4月14日, 下午7:09我相信split.total形状属性正是您想要的。假设您将质量分成三部分,则split.index为 0,1,2,split.total为 3。
感谢您的回答 - 我想获取各楼层的总用电量,然后将其显示在建筑物顶部的报告面板中。我用了和您一样的方法,但结果却不对。我想我需要找到一种方法,通过 set 命令将每层楼的用电量与数值索引 split.index 关联起来。如果您对此有任何想法,我很乐意听取。
引用于 Macwinlin 在 2025年4月14日, 下午7:09我很好奇您的目标是否只是计算 split.index 值的总和,
或者您是否还想将该总和传递到其他规则中以供进一步使用。如果您的目标只是计算总和,则可以使用公式 “(split.total - 1)* split.total / 2”
如果您想将计算出的值传递给其他规则并在那里使用它,您可以这样写:
attr unitHeight = 2 // Height of each split section @StartRule Lot --> extrude(10) // Give height to the lot split(y){ ~unitHeight : Section }* // Split along Y into equal parts // Use 'with' to define sum_n as the sum of split.index values Section with ( sum_n := (split.total - 1) * split.total / 2 ) --> case split.index == 0 : Something_A(sum_n) .. ... .... else : Something_Else(sum_n)
解决这个问题的方法可能有多种,因此请仅将其作为参考。
引用于 Macwinlin 在 2025年4月14日, 下午7:09我相信split.total形状属性正是您想要的。假设您将质量分成三部分,则split.index为 0,1,2,split.total为 3。
感谢您的回答 - 我想获取各楼层的总用电量,然后将其显示在建筑物顶部的报告面板中。我用了和您一样的方法,但结果却不对。我想我需要找到一种方法,通过 set 命令将每层楼的用电量与数值索引 split.index 关联起来。如果您对此有任何想法,我很乐意听取。