Please or 注册 to create posts and topics.

需要帮助使用规则包制作3D空心圆形涵洞

需要帮助使用规则包制作3D空心圆形涵洞

我想使用规则包在城市发动机中制作3D圆形涵洞。我制作了一个坚固的3D圆形涵洞,但我想要一个空心的3D圆形涵洞。所以有人请帮助我完成这项任务。我该怎么做?

这是CGA代码,可创建一个primitiveSk  ,然后使用偏移操作 将其空置。
然后 将挤出操作 应用于环上以形成涵洞。最后, 使用固定的操作将内部和外壁的正态设置为软。

 

version "2024.1"

@Description("Inner diameter") @Distance @Range(min=0.1, max=5)
attr diameter = 1
@Description("Culvert length") @Distance @Range(min=0.1, max=20)
attr length = 2
@Description("Wall thickness") @Distance @Range(min=0.1, max=1)
attr thickness = 0.1
@Description("Number of subdivisions of the outer mantle")
attr sides = min(128,max(16,floor(8*diameter)*4))

@StartRule
Culvert --> Annulus

Annulus -->
	primitiveDisk(sides, diameter+thickness)
	offset(-thickness)
	comp(f) { border = Extrude}
	
Extrude -->
	extrude (length)
	comp(f) { side = setNormals(soft) Culvert. | all : Culvert. }
	

 

thomasfuchs_0-1740663847514.png

 

在原始帖子中查看解决方案

这是CGA代码,可创建一个primitiveSk  ,然后使用偏移操作 将其空置。
然后 将挤出操作 应用于环上以形成涵洞。最后, 使用固定的操作将内部和外壁的正态设置为软。

 

version "2024.1"

@Description("Inner diameter") @Distance @Range(min=0.1, max=5)
attr diameter = 1
@Description("Culvert length") @Distance @Range(min=0.1, max=20)
attr length = 2
@Description("Wall thickness") @Distance @Range(min=0.1, max=1)
attr thickness = 0.1
@Description("Number of subdivisions of the outer mantle")
attr sides = min(128,max(16,floor(8*diameter)*4))

@StartRule
Culvert --> Annulus

Annulus -->
	primitiveDisk(sides, diameter+thickness)
	offset(-thickness)
	comp(f) { border = Extrude}
	
Extrude -->
	extrude (length)
	comp(f) { side = setNormals(soft) Culvert. | all : Culvert. }
	

 

thomasfuchs_0-1740663847514.png