Get and Set Sunlight Source Property Values Example (C#)
This example shows how to get and set sunlight source property values.
//----------------------------------------------------------------------------
// Preconditions: Open a part with a sunlight source.
//
// Postconditions: Inspect the Immediate window for the sunlight source
// property values.
//
---------------------------------------------------------------------------
using
SolidWorks.Interop.sldworks;
using
SolidWorks.Interop.swconst;
using
System.Runtime.InteropServices;
using
System;
using
System.Diagnostics;
namespace
SunLight_CSharp.csproj
{
partial
class
SolidWorksMacro
{
ModelDoc2
swModelDoc;
ModelDocExtension
swModelDoxExt;
bool
retval;
MathVector
NorthDirection;
string
DateTime;
object
vVector;
double[]
nVector = new
double[3];
MathUtility
swMathUtil;
double
NorthLatitude;
double
EastLongitude;
double
TimeZone;
public
void Main()
{
swModelDoc = (ModelDoc2)swApp.ActiveDoc;
swModelDoxExt = swModelDoc.Extension;
//Get sunlight source property
values
retval = swModelDoxExt.GetSunLightSourcePropertyValues(out
NorthDirection, out
NorthLatitude, out
EastLongitude, out
TimeZone, out
DateTime);
Debug.Print("North
Direction : " + ((double[])(NorthDirection.ArrayData))[0]
+ "," +
((double[])(NorthDirection.ArrayData))[1]
+ "," +
((double[])(NorthDirection.ArrayData))[2]);
Debug.Print("NorthLatitude
: " + NorthLatitude);
Debug.Print("EastLongitude
: " + EastLongitude);
Debug.Print("TimeZone
: " + TimeZone);
Debug.Print("DateTime
: " + DateTime);
//Set sunlight source property
values
swMathUtil = (MathUtility)swApp.GetMathUtility();
nVector[0] = 1;
nVector[1] = 0;
nVector[2] = 0;
vVector = nVector;
NorthDirection = (MathVector)swMathUtil.CreateVector((vVector));
DateTime = "11/9/2012 2:48:13
PM";
NorthLatitude = NorthLatitude + 0.1;
EastLongitude = EastLongitude + 0.1;
TimeZone = TimeZone + 0.5;
retval = swModelDoxExt.SetSunLightSourcePropertyValues(NorthDirection,
NorthLatitude, EastLongitude, TimeZone, DateTime);
}
public
SldWorks
swApp;
}
}