Exit Full View
Up

/Furniture/NeoLight.foocad

NeoLight

The rose contains a power brick down to 5V. Pointing outwards are multiple "super bright" LEDs glued/soldered to a metal disk. These are powered via a normally open relay (maybe 2 or 3 circuits?), so they all turn on at the beginning.

Control via remote control, and/or via wifi

If the arms are metal, then they can be bent upwards.

So that we don't need to route the data wire back down each arm, use a multiplexer, and write to each arm in turn.

Print the cover using transparent PETG? With consentric circles?

FooCAD Source Code
import static uk.co.nickthecoder.foocad.layout.v1.Layout2d.*
import static uk.co.nickthecoder.foocad.layout.v1.Layout3d.*

class NeoLight : Model {
    
    val armSize = Vector3(300, 20, 7)

    val arms = 12

    val radius = 100

    val brickSize = Vector3(116, 45, 28 )

    fun rose() : Shape3d {
        val outside = (Circle( radius ) - Circle( radius - 10 )).extrude( 50 )
        val brick = Cube( brickSize ).centerXY().color("WhiteSmoke")
        val cover = Cylinder( 6, radius - 10 ).topTo(outside.top).color( "WhiteSmoke" ).opacity(0.5)

        return outside + brick + cover
    }

    override fun build() : Shape3d {
        val rose : Shape3d = rose()
        val arm = Cube( armSize ).centerY()

        return rose + arm.repeatAroundZ( arms )
    }
}