How to make a Light object?

From ARCHICAD 18 the Lightworks rendering engine has been replaced to Cinema 4D rendering engine. This post is about creating new Lamp and Light objects working with the new rendering engine.

Process of Light object creation

  • Create the geometry of the lamp with the 2D and 3D commands, in which the light source should be placed
  • The new object should be under the Light subtype, otherwise the light handling controls would not work
  • Depending on the requirement you can chose between two options:
    • If similar features as in the Lamp objects in ARCHICAD Library fulfills the requirement, the light sources can be created by calling the “lightMacro_m” from the ARCHICAD Library. For an overview of the Light sources used in ARCHICAD Library check the Light sources and objects in ARCHICAD Library post.
    • New Light source can be created by using the LIGHT command with all the functions the Cinema 4D rendering engine. This method requires rendering light handling knowledge and well-known parametrisation of the LIGHT command. Its advantage is that all of the functions of the Cinema 4D engine can be used. For more information about this method check the Cinema 4D Documentation.

Light object creation with existing macros

The Light and Lamp objects in ARCHICAD Library use the “lightMacro_m”, which contains the parametrisation of the LIGHT command for basic light sources. In the macro call the lightgroup type should be defined by giving value for the “iLightGroupType” Integer parameter. These lightgroup type values have named variables in the “lightMacro_m”:

  • 1 – LIGHTGROUP_GENERAL_LIGHT: Creates a General Light Source. The basic light source can be defined in the iC4dGenType parameter. For more information about the General Light Sources and basic light sources in ARCHICAD Library check the Light sources and objects in ARCHICAD Library post.
  • 2 – LIGHTGROUP_BUILTIN_OMNI: Creates a light source based on Omni light source type.
  • 3 – LIGHTGROUP_BUILTIN_SPOT: Creates a light source based on Spot light source type.
  • 4 – LIGHTGROUP_BUILTIN_VIS_AREA: Creates a realistic surface for the illuminator based on Area light source type.
  • 5 – LIGHTGROUP_BUILTIN_NONVIS_AREA: Creates a non-visible light source based on Area light source type.
  • 6 – LIGHTGROUP_BUILTIN_FALLOFF: Creates the three-dimensional light cone.

Lamp object examples with “lightMacro_m” macro call

In the following examples no further effects have been used for the example picture renderings.

Usage of Built-in Omni Light source

TipsAndTricks_MakeLight_Ex_omni

! ======================================================================
! Omni Light
! ======================================================================

    ! ----------------------------------------------------------------------
    ! Initialise lightgroup types
    ! ----------------------------------------------------------------------
    LIGHTGROUP_GENERAL_LIGHT        = 1
    LIGHTGROUP_BUILTIN_OMNI         = 2
    LIGHTGROUP_BUILTIN_SPOT         = 3
    LIGHTGROUP_BUILTIN_VIS_AREA     = 4
    LIGHTGROUP_BUILTIN_NONVIS_AREA  = 5
    LIGHTGROUP_BUILTIN_FALLOFF      = 6

    ! ----------------------------------------------------------------------
    ! Initialise photometric unit types
    ! ----------------------------------------------------------------------
    PHOTOUNIT_LUMEN                 = 1
    PHOTOUNIT_CANDELA               = 2

    ! ----------------------------------------------------------------------
    ! Input parameters:
    ! ----------------------------------------------------------------------
    ! gs_light_switch         (Boolean): to set the light ON/OFF
    ! gs_color_red            (Integer): to set the red component of the light (0.0-1.0)
    ! gs_color_green          (Integer): to set the green component of the 
    !                                    light (0.0-1.0)
    ! gs_color_blue           (Integer): to set the blue component of the light (0.0-1.0)
    ! gs_light_intensity      (Integer): to set the strength of the light beam ON/OFF
    ! iLightGroupType         (Integer): to set lightgroup type
    !                                    - (must set to LIGHTGROUP_BUILTIN_OMNI)
    ! bGenShadow              (Boolean): to set shadow casting ON/OFF
    ! iShadowQuality          (Integer): to set shadow quality (1-10)
    ! iShadowQualityGroupType (Integer): to set shadow quality group type (1-4)
    ! bDetShowFalloff         (Boolean): to set falloff ON/OFF
    !                                    - reduce light intensity over distance
    ! c4dDetRadius            (Length):  to set distance of the light falloff
    ! c4dPhoPhotometric       (Boolean): to set photometric light ON/OFF
    ! iC4dPhoUnit             (Integer): to set photometric unit type (lumen/candela)
    ! photoIntensityLumen     (RealNum): to set lumen intensity value
    ! photoIntensityCandela   (RealNum): to set candela intensity value
    ! lightUnID               (Integer): to set hotspot ID
    ! ----------------------------------------------------------------------

    call "lightMacro_m" parameters  gs_light_switch         = gs_light_switch,
                                    gs_color_red            = gs_color_red,
                                    gs_color_green          = gs_color_green,
                                    gs_color_blue           = gs_color_blue,
                                    gs_light_intensity      = gs_light_intensity,
                                    iLightGroupType         = LIGHTGROUP_BUILTIN_OMNI,
                                    bGenShadow              = 1,
                                    iShadowQuality          = 5,
                                    iShadowQualityGroupType = 2,
                                    bDetShowFalloff         = 1,
                                    c4dDetRadius            = 1.5,
                                    c4dPhoPhotometric       = 0,
                                    iC4dPhoUnit             = PHOTOUNIT_LUMEN,
                                    photoIntensityLumen     = 12000,
                                    photoIntensityCandela   = 1000,
                                    lightUnID               = 100

The “lightMacro_m” provides the possibility to display the 3D light cone in an other macro call:

! ======================================================================
! Additional Omni Light Falloff Contour Geometry
! ======================================================================

    ! ----------------------------------------------------------------------
    ! Initialise falloff geometry types
    ! ----------------------------------------------------------------------
    FALLOFFTYPE_OMNI       = 1
    FALLOFFTYPE_SPOT       = 2
    FALLOFFTYPE_AREA       = 3
    FALLOFFTYPE_CONE       = 4
    FALLOFFTYPE_PYRAMID    = 5
 
    ! ----------------------------------------------------------------------
    ! Initialise model types
    ! ----------------------------------------------------------------------
    MODEL_WIREFRAME        = 1
    MODEL_SHADED           = 2

    ! ----------------------------------------------------------------------
    ! Input parameters:
    ! ----------------------------------------------------------------------
    ! iLightGroupType     (Integer): to set light group type
    !                                - (must set to LIGHTGROUP_BUILTIN_FALLOFF)
    ! iFalloffType        (Integer): to set falloff geometry type
    !                                - (must set to FALLOFFTYPE_OMNI)
    ! c4dDetAreaX         (Length):  to set "X" size of the falloff start geometry
    ! c4dDetAreaY         (Length):  to set "Y" size of the falloff start geometry
    ! c4dDetRadius        (Length):  to set distance of the light falloff
    ! c4dDetFalloffAngle  (Angle):   to set the angle of the falloff geometry
    ! bShowIllumination3D (Boolean): to set 3D representation of the geometry ON/OFF
    ! penIllumination     (Pen):     to set 3D pen of the falloff geometry
    ! iModelType          (Integer): to set 3D representation of the falloff geometry
    ! gs_resol            (Integer): to set 3D Resolution of the falloff geometry
    ! lightUnID           (Integer): to set hotspot ID
    ! ----------------------------------------------------------------------

    call "lightMacro_m" parameters   iLightGroupType     = LIGHTGROUP_BUILTIN_FALLOFF,
                                     iFalloffType        = FALLOFFTYPE_OMNI,
                                     c4dDetAreaX         = 0.25,
                                     c4dDetAreaY         = 0.25,
                                     c4dDetRadius        = 1.5,
                                     c4dDetFalloffAngle  = 90,
                                     bShowIllumination3D = 1,
                                     penIllumination     = 10,
                                     iModelType          = MODEL_WIREFRAME,
                                     gs_resol            = 32,
                                     lightUnID           = 200

Usage of Built-in Spot Light source

TipsAndTricks_MakeLight_Ex_spot

! ======================================================================
! Spot Light
! ======================================================================

    ! ----------------------------------------------------------------------
    ! Initialise lightgroup types
    ! ----------------------------------------------------------------------
    LIGHTGROUP_GENERAL_LIGHT       = 1
    LIGHTGROUP_BUILTIN_OMNI        = 2
    LIGHTGROUP_BUILTIN_SPOT        = 3
    LIGHTGROUP_BUILTIN_VIS_AREA    = 4
    LIGHTGROUP_BUILTIN_NONVIS_AREA = 5
    LIGHTGROUP_BUILTIN_FALLOFF     = 6

    ! ----------------------------------------------------------------------
    ! Initialise visible light types
    ! ----------------------------------------------------------------------
    VISLIGHT_NONE                  = 1
    VISLIGHT_VISIBLE               = 2
    VISLIGHT_VOLUMETRIC            = 3
    VISLIGHT_INVERSEVOLUMETRIC     = 4

    ! ----------------------------------------------------------------------
    ! Initialise shadow area shape type
    ! ----------------------------------------------------------------------
    AREASHAPE_DISC                 = 1
    AREASHAPE_RECT                 = 2
    AREASHAPE_SPHERE               = 3
    AREASHAPE_CYLIND               = 4
    AREASHAPE_CUBE                 = 5
    AREASHAPE_HEMISPHERE           = 6
    AREASHAPE_LINE                 = 7
    AREASHAPE_PCYLIND              = 8

      ! ----------------------------------------------------------------------
    ! Initialise photometric unit types
    ! ----------------------------------------------------------------------
    PHOTOUNIT_LUMEN                = 1
    PHOTOUNIT_CANDELA              = 2

    ! ----------------------------------------------------------------------
    ! Initialise falloff geometry types
    ! ----------------------------------------------------------------------
    FALLOFFTYPE_OMNI               = 1
    FALLOFFTYPE_SPOT               = 2
    FALLOFFTYPE_AREA               = 3
    FALLOFFTYPE_CONE               = 4
    FALLOFFTYPE_PYRAMID            = 5

    ! ----------------------------------------------------------------------
    ! Initialise model types
    ! ----------------------------------------------------------------------
    MODEL_WIREFRAME                = 1
    MODEL_SHADED                   = 2

    ! ----------------------------------------------------------------------
    ! Input parameters:
    ! ----------------------------------------------------------------------
    ! gs_light_switch         (Boolean): to set the light ON/OFF
    ! gs_color_red            (Integer): to set the red component of the light (0.0-1.0)
    ! gs_color_green          (Integer): to set the green component of the 
    !                                    light (0.0-1.0)
    ! gs_color_blue           (Integer): to set the blue component of the light (0.0-1.0)
    ! gs_light_intensity      (Integer): to set the strength of the light beam ON/OFF
    ! iLightGroupType         (Integer): to set lightgroup type 
    !                                    - (must set to LIGHTGROUP_BUILTIN_SPOT)
    ! c4dDetUseInner          (Boolean): to set the light cone fade out gradually ON/OFF
    ! c4dDetInnerAngle        (Angle):   to set the light cone 
    !                                    inner angle ( < c4dDetOuterAngle)
    ! innerConeAngleHalf      (Angle):   to set the light cone inner angle half
    !                                    (for 3D hotspot editing of the angle)
    ! innerConeRadius         (Length):  to set the light cone 
    !                                    inner radius ( < outerConeRadius)
    ! c4dDetOuterAngle        (Angle):   to set the light cone outer angle 
    !                                    (c4dDetInnerAngle < c4dDetOuterAngle < 180)
    ! outerConeAngleHalf      (Angle):   to set the light cone outer angle half 
    !                                    (for 3D hotspot editing of the angle)
    ! outerConeRadius         (Length):  to set the light cone outer radius 
    !                                  (innerConeRadius < outerConeRadius < c4dDetRadius)
    ! iC4dDetAreaShape        (Integer): to set shadow area shape type
    ! c4dDetAreaX             (Length):  to set shadow area shape "X" size
    ! c4dDetAreaY             (Length):  to set shadow area shape "Y" size
    ! c4dDetAreaZ             (Length):  to set shadow area shape "Z" size
    ! bGenShadow              (Boolean): to set shadow casting ON/OFF
    ! iShadowQuality          (Integer): to set shadow quality (1-10)
    ! iShadowQualityGroupType (Integer): to set shadow quality group type (1-4)
    ! bDetShowFalloff         (Boolean): to set falloff ON/OFF 
    !                                    - reduce light intensity over distance
    ! c4dDetRadius            (Length):  to set distance of the light falloff
    ! iC4dGenVisibility       (Integer): to set visible light type
    ! c4dVisBrightness        (Integer): to set visible light density (0-100)
    ! c4dPhoPhotometric       (Boolean): to set photometric light ON/OFF
    ! iC4dPhoUnit             (Integer): to set photometric unit type (lumen/candela)
    ! photoIntensityLumen     (RealNum): to set lumen intensity value
    ! photoIntensityCandela   (RealNum): to set candela intensity value
    ! bShowIllumination3D     (Boolean): to set 3D representation of the geometry ON/OFF
    ! penIllumination         (Pen):     to set 3D pen of the falloff geometry
    ! iModelType              (Integer): to set 3D representation of the falloff geometry
    ! gs_resol                (Integer): to set 3D Resolution
    ! lightUnID               (Integer): to set hotspot ID
    ! ----------------------------------------------------------------------

    call "lightMacro_m" parameters gs_light_switch         = gs_light_switch,
                                   gs_color_red            = gs_color_red,
                                   gs_color_green          = gs_color_green,
                                   gs_color_blue           = gs_color_blue,
                                   gs_light_intensity      = gs_light_intensity,
                                   iLightGroupType         = LIGHTGROUP_BUILTIN_SPOT,
                                   c4dDetUseInner          = 1,
                                   c4dDetInnerAngle        = 40,
                                   innerConeAngleHalf      = 20,
                                   innerConeRadius         = 1.1,
                                   c4dDetOuterAngle        = 60,
                                   outerConeAngleHalf      = 30,
                                   outerConeRadius         = 1.8,
                                   iC4dDetAreaShape        = AREASHAPE_SPHERE,
                                   c4dDetAreaX             = 0.03,
                                   c4dDetAreaY             = 0.03,
                                   c4dDetAreaZ             = 0.03,
                                   bGenShadow              = 1,
                                   iShadowQuality          = 5,
                                   iShadowQualityGroupType = 2,
                                   bDetShowFalloff         = 1,
                                   c4dDetRadius            = 1.5,
                                   iC4dGenVisibility       = VISLIGHT_VOLUMETRIC,
                                   c4dVisBrightness        = 100,
                                   c4dPhoPhotometric       = 0,
                                   iC4dPhoUnit             = PHOTOUNIT_LUMEN,
                                   photoIntensityLumen     = 12000,
                                   photoIntensityCandela   = 1000,
                                   bShowIllumination3D     = 1,
                                   iFalloffType            = FALLOFFTYPE_SPOT,
                                   penIllumination         = 10,
                                   iModelType              = MODEL_WIREFRAME,
                                   gs_resol                = 32,
                                   lightUnID               = 100

Basically one light source is used in the Lamp objects. However the surface of a closed lamp-shell around a light source can be simulated with a luminous surface. For this effect a visible Area light source can be used as an additional light source:

! ======================================================================
! Additional Visible Area Light
! ======================================================================

    ! ----------------------------------------------------------------------
    ! Initialise visible area shape type
    ! ----------------------------------------------------------------------
    AREASHAPE_DISC            = 1
    AREASHAPE_RECT            = 2
    AREASHAPE_SPHERE          = 3
    AREASHAPE_CYLIND          = 4
    AREASHAPE_CUBE            = 5
    AREASHAPE_HEMISPHERE      = 6
    AREASHAPE_LINE            = 7
    AREASHAPE_PCYLIND         = 8

    ! ----------------------------------------------------------------------
    ! Input parameters:
    ! ----------------------------------------------------------------------
    ! gs_light_switch         (Boolean): to set the light ON/OFF
    ! gs_color_red            (Integer): to set the red component of the light (0.0-1.0)
    ! gs_color_green          (Integer): to set the green component of the 
    !                                    light (0.0-1.0)
    ! gs_color_blue           (Integer): to set the blue component of the light (0.0-1.0)
    ! gs_light_intensity      (Integer): to set the strength of the light beam ON/OFF
    ! iLightGroupType         (Integer): to set lightgroup type 
    !                                    - (must set to LIGHTGROUP_BUILTIN_VIS_AREA)
    ! iC4dDetAreaShape        (Integer): to set visible area shape type
    ! c4dDetAreaX             (Length):  to set visible area shape "X" size
    ! c4dDetAreaY             (Length):  to set visible area shape "Y" size
    ! c4dDetAreaZ             (Length):  to set visible area shape "Z" size
    ! bGenShadow              (Boolean): to set shadow casting ON/OFF
    ! iShadowQuality          (Integer): to set shadow quality (1-10)
    ! iShadowQualityGroupType (Integer): to set shadow quality group type (1-4)
    ! bDetShowFalloff         (Boolean): to set falloff ON/OFF - (must set to ON)
    ! iC4dGenVisibility       (Integer): to set visible light type 
    !                                    - (must set to VISLIGHT_NONE)
    ! gs_resol                (Integer): to set 3D Resolution of the visible area contour
    ! gs_cont_pen             (Pen):     to set 3D contour pen of the visible 
    !                                    area contour
    ! ----------------------------------------------------------------------

    addz 0.001
    call "lightMacro_m" parameters gs_light_switch         = gs_light_switch,
                                   gs_color_red            = gs_color_red,
                                   gs_color_green          = gs_color_green,
                                   gs_color_blue           = gs_color_blue,
                                   gs_light_intensity      = 400,
                                   iLightGroupType         = LIGHTGROUP_BUILTIN_VIS_AREA,
                                   iC4dDetAreaShape        = AREASHAPE_DISC,
                                   c4dDetAreaX             = 0.25,
                                   c4dDetAreaY             = 0.25,
                                   c4dDetAreaZ             = 0.25,
                                   bGenShadow              = 1,
                                   iShadowQuality          = 5,
                                   iShadowQualityGroupType = 2,
                                   bDetShowFalloff         = 1,
                                   iC4dGenVisibility       = VISLIGHT_NONE,
                                   gs_resol                = 32,
                                   gs_cont_pen             = 10
    del 1

Usage of Built-in Non-visible Area Light source

TipsAndTricks_MakeLight_Ex_vis_area

! ======================================================================
! Non Visible Area Light
! ======================================================================

    ! ----------------------------------------------------------------------
    ! Initialise lightgroup types
    ! ----------------------------------------------------------------------
    LIGHTGROUP_GENERAL_LIGHT       = 1
    LIGHTGROUP_BUILTIN_OMNI        = 2
    LIGHTGROUP_BUILTIN_SPOT        = 3
    LIGHTGROUP_BUILTIN_VIS_AREA    = 4
    LIGHTGROUP_BUILTIN_NONVIS_AREA = 5
    LIGHTGROUP_BUILTIN_FALLOFF     = 6

    ! ----------------------------------------------------------------------
    ! Initialise visible light types
    ! ----------------------------------------------------------------------
    VISLIGHT_NONE                   = 1
    VISLIGHT_VISIBLE                = 2
    VISLIGHT_VOLUMETRIC             = 3
    VISLIGHT_INVERSEVOLUMETRIC      = 4

    ! ----------------------------------------------------------------------
    ! Initialise shadow area shape type
    ! ----------------------------------------------------------------------
    AREASHAPE_DISC                  = 1
    AREASHAPE_RECT                  = 2
    AREASHAPE_SPHERE                = 3
    AREASHAPE_CYLIND                = 4
    AREASHAPE_CUBE                  = 5
    AREASHAPE_HEMISPHERE            = 6
    AREASHAPE_LINE                  = 7
    AREASHAPE_PCYLIND               = 8

      ! ----------------------------------------------------------------------
    ! Initialise photometric unit types
    ! ----------------------------------------------------------------------
    PHOTOUNIT_LUMEN                  = 1
    PHOTOUNIT_CANDELA                = 2

    ! ----------------------------------------------------------------------
    ! Input parameters:
    ! ----------------------------------------------------------------------
    ! gs_light_switch         (Boolean): to set the light ON/OFF
    ! gs_color_red            (Integer): to set the red component of the light (0.0-1.0)
    ! gs_color_green          (Integer): to set the green component of the
    !                                    light (0.0-1.0)
    ! gs_color_blue           (Integer): to set the blue component of the light (0.0-1.0)
    ! gs_light_intensity      (Integer): to set the strength of the light beam ON/OFF
    ! iLightGroupType         (Integer): to set lightgroup type 
    !                                    - (must set to LIGHTGROUP_NONVIS_AREA)
    ! iC4dDetAreaShape        (Integer): to set shadow area shape type
    ! c4dDetAreaX             (Length):  to set shadow area shape "X" size
    ! c4dDetAreaY             (Length):  to set shadow area shape "Y" size
    ! c4dDetAreaZ             (Length):  to set shadow area shape "Z" size
    ! bGenShadow              (Boolean): to set shadow casting ON/OFF
    ! iShadowQuality          (Integer): to set shadow quality (1-10)
    ! iShadowQualityGroupType (Integer): to set shadow quality group type (1-4)
    ! bDetShowFalloff         (Boolean): to set falloff ON/OFF 
    !                                    - reduce light intensity over distance
    ! c4dDetRadius            (Length):  to set distance of the light falloff
    ! c4dDetFalloffAngle      (Angle):   to set the angle of the falloff geometry
    ! c4dPhoPhotometric       (Boolean): to set photometric light ON/OFF
    ! iC4dPhoUnit             (Integer): to set photometric unit type (lumen/candela)
    ! photoIntensityLumen     (RealNum): to set lumen intensity value
    ! photoIntensityCandela   (RealNum): to set candela intensity value
    ! lightUnID               (Integer): to set hotspot ID
    ! ----------------------------------------------------------------------

    call "lightMacro_m" parameters gs_light_switch         = gs_light_switch,
                                   gs_color_red            = gs_color_red,
                                   gs_color_green          = gs_color_green,
                                   gs_color_blue           = gs_color_blue,
                                   gs_light_intensity      = gs_light_intensity,
                                   iLightGroupType         = LIGHTGROUP_BUILTIN_NONVIS_AREA,
                                   iC4dDetAreaShape        = AREASHAPE_RECT,
                                   c4dDetAreaX             = 1,
                                   c4dDetAreaY             = 0.3,
                                   c4dDetAreaZ             = 0.05,
                                   bGenShadow              = 1,
                                   iShadowQuality          = 5,
                                   iShadowQualityGroupType = 3,
                                   bDetShowFalloff         = 1,
                                   c4dDetRadius            = 1.5,
                                   c4dDetFalloffAngle      = 120,
                                   c4dPhoPhotometric       = 0,
                                   iC4dPhoUnit             = PHOTOUNIT_LUMEN,
                                   photoIntensityLumen     = 12000,
                                   photoIntensityCandela   = 1000,
                                   lightUnID               = 100

    ! ======================================================================
    ! Additional Visible Area Light
    ! ======================================================================

    ! ----------------------------------------------------------------------
    ! Initialise visible area shape type
    ! ----------------------------------------------------------------------
    AREASHAPE_DISC        = 1
    AREASHAPE_RECT        = 2
    AREASHAPE_SPHERE      = 3
    AREASHAPE_CYLIND      = 4
    AREASHAPE_CUBE        = 5
    AREASHAPE_HEMISPHERE  = 6
    AREASHAPE_LINE        = 7
    AREASHAPE_PCYLIND     = 8

    ! ----------------------------------------------------------------------
    ! Input parameters:
    ! ----------------------------------------------------------------------
    ! gs_light_switch         (Boolean): to set the light ON/OFF
    ! gs_color_red            (Integer): to set the red component of the light (0.0-1.0)
    ! gs_color_green          (Integer): to set the green component of the 
    !                                    light (0.0-1.0)
    ! gs_color_blue           (Integer): to set the blue component of the light (0.0-1.0)
    ! gs_light_intensity      (Integer): to set the strength of the light beam ON/OFF
    ! iLightGroupType         (Integer): to set lightgroup type 
    !                                    - (must set to LIGHTGROUP_BUILTIN_VIS_AREA)
    ! iC4dDetAreaShape        (Integer): to set visible area shape type
    ! c4dDetAreaX             (Length):  to set visible area shape "X" size
    ! c4dDetAreaY             (Length):  to set visible area shape "Y" size
    ! c4dDetAreaZ             (Length):  to set visible area shape "Z" size
    ! bGenShadow              (Boolean): to set shadow casting ON/OFF
    ! iShadowQuality          (Integer): to set shadow quality (1-10)
    ! iShadowQualityGroupType (Integer): to set shadow quality group type (1-4)
    ! bDetShowFalloff         (Boolean): to set falloff ON/OFF - (must set to ON)
    ! iC4dGenVisibility       (Integer): to set visible light type 
    !                                    - (must set to VISLIGHT_NONE)
    ! gs_resol                (Integer): to set 3D Resolution of the visible area contour
    ! gs_cont_pen             (Pen):     to set 3D contour pen of the visible 
    !                                    area contour
    ! ----------------------------------------------------------------------

    addz 0.001
    call "lightMacro_m" parameters gs_light_switch         = gs_light_switch,
                                   gs_color_red            = gs_color_red,
                                   gs_color_green          = gs_color_green,
                                   gs_color_blue           = gs_color_blue,
                                   gs_light_intensity      = 400,
                                   iLightGroupType         = LIGHTGROUP_BUILTIN_VIS_AREA,
                                   iC4dDetAreaShape        = AREASHAPE_RECT,
                                   c4dDetAreaX             = 1,
                                   c4dDetAreaY             = 0.3,
                                   c4dDetAreaZ             = 0.05,
                                   bGenShadow              = 1,
                                   iShadowQuality          = 5,
                                   iShadowQualityGroupType = 2,
                                   bDetShowFalloff         = 1,
                                   iC4dGenVisibility       = VISLIGHT_NONE,
                                   gs_resol                = 32,
                                   gs_cont_pen             = 10
    del 1

    ! ======================================================================
    ! Additional Area Light Falloff Contour Geometry
    ! ======================================================================

    ! ----------------------------------------------------------------------
    ! Initialise falloff geometry types
    ! ----------------------------------------------------------------------
    FALLOFFTYPE_OMNI        = 1
    FALLOFFTYPE_SPOT        = 2
    FALLOFFTYPE_AREA        = 3
    FALLOFFTYPE_CONE        = 4
    FALLOFFTYPE_PYRAMID     = 5

    ! ----------------------------------------------------------------------
    ! Initialise model types
    ! ----------------------------------------------------------------------
    MODEL_WIREFRAME         = 1
    MODEL_SHADED            = 2

    ! ----------------------------------------------------------------------
    ! Input parameters:
    ! ----------------------------------------------------------------------
    ! iLightGroupType     (Integer): to set light group type
    !                                - (must set to LIGHTGROUP_BUILTIN_FALLOFF)
    ! iFalloffType        (Integer): to set falloff geometry type
    ! c4dDetAreaX         (Length):  to set "X" size of the falloff start geometry
    ! c4dDetAreaY         (Length):  to set "Y" size of the falloff start geometry
    ! c4dDetRadius        (Length):  to set distance of the light falloff
    ! c4dDetFalloffAngle  (Angle):   to set the angle of the falloff geometry
    ! bFixFalloffAngle    (Boolean): to set the falloff angle to fix 
    !                                - the angle is not editable by hotspot 
    !                                - (must set to ON)
    ! bShowIllumination3D (Boolean): to set 3D representation of the geometry ON/OFF
    ! penIllumination     (Pen):     to set 3D pen of the falloff geometry
    ! iModelType          (Integer): to set 3D representation of the falloff geometry
    ! gs_resol            (Integer): to set 3D Resolution of the falloff geometry
    ! lightUnID           (Integer): to set hotspot ID
    ! ----------------------------------------------------------------------

    call "lightMacro_m" parameters iLightGroupType     = LIGHTGROUP_BUILTIN_FALLOFF,
                                   iFalloffType        = FALLOFFTYPE_PYRAMID,
                                   c4dDetAreaX         = 1,
                                   c4dDetAreaY         = 0.3,
                                   c4dDetRadius        = 1.5,
                                   c4dDetFalloffAngle  = 120,
                                   bFixFalloffAngle    = 1,
                                   bShowIllumination3D = 1,
                                   penIllumination     = 10,
                                   iModelType          = MODEL_WIREFRAME,
                                   gs_resol            = 32,
                                   lightUnID           = 200