Hi,
in the RevitAPI.chm, there are a few code samples for LightType and its members.
For example on "LightFamily.SetLightDistributionStyle" page.
There you can see how to get LightTypes in the family document:
public void ModifyLightDistributionStyle(Document familyDoc)
{
// Get the light family from the static method.
LightFamily lightFamily = LightFamily.GetLightFamily(familyDoc);
// Set the light distribution style to PhotometricWeb
lightFamily.SetLightDistributionStyle(LightDistributionStyle.PhotometricWeb);
// After light shape style set to PhotometricWeb, each tyoe returns a CircleLightShape instance,
for (int index = 0; index < lightFamily.GetNumberOfLightTypes(); index++)
{
LightType lightData = lightFamily.GetLightType(index);
PhotometricWebLightDistribution lightDistribution =
lightData.GetLightDistribution() as PhotometricWebLightDistribution;
lightDistribution.PhotometricWebFile = @"C:\IES\1x4 2Lamp.ies"; // input a full file path here.
lightDistribution.TiltAngle = Math.PI / 6; // use radian value to set
lightData.SetLightDistribution(lightDistribution); // set back
}
}
Once you have a LightType, you can set its properties, for example the initial intensity.
Depending on which BuiltInParameter you want to adress, use
FBX_LIGHT_LIMUNOUS_FLUX
lightData.SetInitialIntensity(new InitialFluxIntensity(lumen));
FBX_LIGHT_LIMUNOUS_INTENSITY
lightData.SetInitialIntensity(new InitialIlluminanceIntensity(1, candela));
FBX_LIGHT_WATTAGE
lightData.SetInitialIntensity(new InitialWattageIntensity(1, watt));
FBX_LIGHT_EFFICACY
lightData.SetInitialIntensity(new InitialLuminousIntensity(lumenPerWatt));
Also, there is a code sample for setting the initial color, on page "LightType.SetInitialColor":
public void SetInitialColorProperty(LightType lightType)
{
InitialColor initialColor = lightType.GetInitialColor();
if (initialColor is CustomInitialColor)
{
CustomInitialColor custom = initialColor as CustomInitialColor;
double colorTemperature = custom.Temperature;
// Set new value for color temperature and set modified initial color to LightType.
custom.Temperature = 3450.0;
lightType.SetInitialColor(custom);
// Create a PresetInitialColor and set it to LightType.
PresetInitialColor preset = new PresetInitialColor(ColorPreset.Halogen);
lightType.SetInitialColor(preset);
}
}
And so on.
RevitAPI.chm says "Since: 2013".
Revitalizer