UNPKG

@mlightcad/data-model

Version:

The data-model package provides the core classes for interacting with AutoCAD's database and entities. This package mimics AutoCAD ObjectARX's AcDb (Database) classes and implements the drawing database structure that AutoCAD developers are familiar with.

121 lines 5.07 kB
/** * Enumeration of linear units used in AutoCAD drawings. * * This enum defines the various units that can be used to represent * linear measurements in AutoCAD drawings, including metric, imperial, * and survey units. */ export var AcDbUnitsValue; (function (AcDbUnitsValue) { /** Undefined or unitless */ AcDbUnitsValue[AcDbUnitsValue["Undefined"] = 0] = "Undefined"; /** Inches */ AcDbUnitsValue[AcDbUnitsValue["Inches"] = 1] = "Inches"; /** Feet */ AcDbUnitsValue[AcDbUnitsValue["Feet"] = 2] = "Feet"; /** Miles */ AcDbUnitsValue[AcDbUnitsValue["Miles"] = 3] = "Miles"; /** Millimeters */ AcDbUnitsValue[AcDbUnitsValue["Millimeters"] = 4] = "Millimeters"; /** Centimeters */ AcDbUnitsValue[AcDbUnitsValue["Centimeters"] = 5] = "Centimeters"; /** Meters */ AcDbUnitsValue[AcDbUnitsValue["Meters"] = 6] = "Meters"; /** Kilometers */ AcDbUnitsValue[AcDbUnitsValue["Kilometers"] = 7] = "Kilometers"; /** Microinches */ AcDbUnitsValue[AcDbUnitsValue["Microinches"] = 8] = "Microinches"; /** Mils (thousandths of an inch) */ AcDbUnitsValue[AcDbUnitsValue["Mils"] = 9] = "Mils"; /** Yards */ AcDbUnitsValue[AcDbUnitsValue["Yards"] = 10] = "Yards"; /** Angstroms */ AcDbUnitsValue[AcDbUnitsValue["Angstroms"] = 11] = "Angstroms"; /** Nanometers */ AcDbUnitsValue[AcDbUnitsValue["Nanometers"] = 12] = "Nanometers"; /** Microns (micrometers) */ AcDbUnitsValue[AcDbUnitsValue["Microns"] = 13] = "Microns"; /** Decimeters */ AcDbUnitsValue[AcDbUnitsValue["Decimeters"] = 14] = "Decimeters"; /** Dekameters */ AcDbUnitsValue[AcDbUnitsValue["Dekameters"] = 15] = "Dekameters"; /** Hectometers */ AcDbUnitsValue[AcDbUnitsValue["Hectometers"] = 16] = "Hectometers"; /** Gigameters */ AcDbUnitsValue[AcDbUnitsValue["Gigameters"] = 17] = "Gigameters"; /** Astronomical units */ AcDbUnitsValue[AcDbUnitsValue["Astronomical"] = 18] = "Astronomical"; /** Light years */ AcDbUnitsValue[AcDbUnitsValue["LightYears"] = 19] = "LightYears"; /** Parsecs */ AcDbUnitsValue[AcDbUnitsValue["Parsecs"] = 20] = "Parsecs"; /** * US Survey Feet - a historical survey unit that's about 2 parts per million larger than * the International Feet unit. This difference is significant only at scales used for mapping in * the U.S. The US Survey Feet setting is supported only for inserting or attaching drawings * starting with AutoCAD 2017-based products. Drawings opened in prior versions will treat the US * Survey Feet setting as Unitless. */ AcDbUnitsValue[AcDbUnitsValue["USSurveyFeet"] = 21] = "USSurveyFeet"; /** US Survey Inches */ AcDbUnitsValue[AcDbUnitsValue["USSurveyInch"] = 22] = "USSurveyInch"; /** US Survey Yards */ AcDbUnitsValue[AcDbUnitsValue["USSurveyYard"] = 23] = "USSurveyYard"; /** US Survey Miles */ AcDbUnitsValue[AcDbUnitsValue["USSurveyMile"] = 24] = "USSurveyMile"; /** Maximum value for units */ AcDbUnitsValue[AcDbUnitsValue["Max"] = 24] = "Max"; })(AcDbUnitsValue || (AcDbUnitsValue = {})); /** * Checks if the specified units value represents metric units. * * This function returns true if the units are part of the metric system, * including millimeters, centimeters, meters, kilometers, and their * decimal multiples and submultiples. * * @param units - The units value to check * @returns True if the units are metric, false otherwise * * @example * ```typescript * const isMetric = isMetricUnits(AcDbUnitsValue.Millimeters); // true * const isMetric2 = isMetricUnits(AcDbUnitsValue.Inches); // false * ``` */ export function isMetricUnits(units) { return (units == AcDbUnitsValue.Millimeters || units == AcDbUnitsValue.Centimeters || units == AcDbUnitsValue.Meters || units == AcDbUnitsValue.Kilometers || units == AcDbUnitsValue.Nanometers || units == AcDbUnitsValue.Microns || units == AcDbUnitsValue.Decimeters || units == AcDbUnitsValue.Dekameters || units == AcDbUnitsValue.Hectometers || units == AcDbUnitsValue.Gigameters); } /** * Checks if the specified units value represents imperial units. * * This function returns true if the units are part of the imperial system, * including inches, feet, miles, yards, and US survey units. * * @param units - The units value to check * @returns True if the units are imperial, false otherwise * * @example * ```typescript * const isImperial = isImperialUnits(AcDbUnitsValue.Inches); // true * const isImperial2 = isImperialUnits(AcDbUnitsValue.Millimeters); // false * ``` */ export function isImperialUnits(units) { return (units == AcDbUnitsValue.Inches || units == AcDbUnitsValue.Feet || units == AcDbUnitsValue.Miles || units == AcDbUnitsValue.Microinches || units == AcDbUnitsValue.Mils || units == AcDbUnitsValue.Yards || units == AcDbUnitsValue.USSurveyFeet); } //# sourceMappingURL=AcDbUnitsValue.js.map