1

我创建了一条有几个点的曲线。现在我想根据其中一个属性(will_be_removed)删除一些点。

几何电子表格

如上图所示,那些i@will_be_removed设置为 1 的点将被删除。

我尝试使用下面的 VEX 代码,但它表示类型的下标无效:int.will_be_removed

if(@ptnum.will_be_removed == 1)
{
    removepoint(0, @ptnum);
}

如何正确引用这些点?

4

3 回答 3

1

此代码中的错误

if(@ptnum.will_be_removed == 1)
{
    removepoint(0, @ptnum);
}

是因为@ptnumVEX 类型 int@ptnum也可以写成i@ptnum明确指示它的类型,但由于它是一个众所周知的属性(请参阅链接中的文档),您也可以将其简写为@ptnum.

int类型是数字,不包含其他数据的集合。

关于属性,您还需要记住它们是顶点、点、图元还是细节属性

属性优先级

当同一几何中的两个组件具有同名属性时,使用几何“较低级别”上的属性,因此:

顶点属性,覆盖:

     点属性,覆盖:

         覆盖以下内容的原始属性:

                 细节(整个几何)属性

于 2019-08-24T18:23:48.133 回答
1

或者一个班轮牧马人将是

if (@will_be_deleted == 1) removepoint(0, @ptnum);
于 2021-02-08T18:14:02.177 回答
0

我想我想出了一个办法。使用@will_be_removed 代替@ptnum.will_be_removed:

if(@will_be_removed == 1)
{
    removepoint(0, @ptnum);
}
于 2019-08-06T09:16:22.703 回答