try { // create a british 1936 foot var britFoot = LinearUnit.CreateLinearUnit(9095); string unitName = britFoot.Name; // "Foot_British_1936" double conversionFactor = britFoot.ConversionFactor; // 0.3048007491 double metersPerUnit = britFoot.MetersPerUnit; int factoryCode = britFoot.FactoryCode; // 9095 // convert 10 british 1936 feet to centimeters double val = britFoot.ConvertTo(10, LinearUnit.Centimeters); // convert 10 m to british 1936 feet val = britFoot.ConvertFromMeters(10); } catch (ArgumentException) { // ArgumentException will be thrown by CreateLinearUnit // in the following scenarios: // - if the factory code used is a non-linear factory code // (i.e. it corresponds to square meters which is an area unit code) // - if the factory code used is invalid // (i.e. it is negative or doesn't correspond to any factory code) }
// create a custom linear unit - there are 0.33 meters per myLinearUnit var myLinearUnit = LinearUnit.CreateLinearUnit("myCustomLinearUnit", 0.33); string name = myLinearUnit.Name; // myCustomLinearUnit double convFactor = myLinearUnit.ConversionFactor; // 0.33 int code = myLinearUnit.FactoryCode; // 0 for custom units double metersUnit = myLinearUnit.MetersPerUnit; // 0.33 string toString = myLinearUnit.ToString(); // same as Name - myCustomLinearUnit // convert 10 centimeters to myLinearUnit double convertedVal = LinearUnit.Centimeters.ConvertTo(10, myLinearUnit); // get the wkt string lu_wkt = myLinearUnit.Wkt; // create an angular unit from this wkt var anotherLinearUnit = LinearUnit.CreateLinearUnit(lu_wkt); // anotherLinearUnit.ConversionFactor = 0.33 // anotherLinearUnit.FactoryCode = 0 // anotherLinearUnit.MetersPerUnit = 0.33
Target Platforms: Windows 11, Windows 10