几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量

几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量 (http://www.dimcax.com/hust/index.php)
-   DirectDWG (http://www.dimcax.com/hust/forumdisplay.php?f=89)
-   -   【转帖】read units values (http://www.dimcax.com/hust/showthread.php?t=18333)

yang686526 2009-05-07 12:26 PM

【转帖】read units values
 
read units values
read units values
hi,
i'm searching for a way to determine the measurement type (meters, inches, feet,...) of a dwg file. i already tryed to read from od*db::*units*value, but i am stuck with that. does anybody know a way to get measurement information out of a dwg file?
thank you!
oliver
where is a number of system variables stored in drawing which are responsible for units and their displaying. pay attention to dwg version in which they were introduced. early file versions do not store some variables and they are assigned default values while loading a drawing file of early version.
measurement - read-only variable introduced in r14.
oddb::measurementvalue oddbdatabase::getmeasurement()
the values returned: kenglish or kmetric.
controls hatch pattern and linetype files used in the drawing.
kenglish - use files with ansi hatch and linetype definitions (acad.pat and acad.lin)
kmetric - use files with iso hatch and linetype definitions acadiso.pat and acadiso.lin)
--------------------------------------------------------------------------------------------------------
insunits - introduced in r15 (ac2000)
oddb::unitsvalue oddbdatabase::getinsunits()
values returned:
kunitsundefined = 0,
kunitsinches = 1,
kunitsfeet = 2,
kunitsmiles = 3,
kunitsmillimeters = 4,
kunitscentimeters = 5,
kunitsmeters = 6,
kunitskilometers = 7,
kunitsmicroinches = 8,
kunitsmils = 9,
kunitsyards = 10,
kunitsangstroms = 11,
kunitsnanometers = 12,
kunitsmicrons = 13,
kunitsdecimeters = 14,
kunitsdekameters = 15,
kunitshectometers = 16,
kunitsgigameters = 17,
kunitsastronomical = 18,
kunitslightyears = 19,
kunitsparsecs = 20,
kunitsmax = kunitsparsecs
the value of insunits variable is used for scaling during drag&drop, cut&paste etc. operations when objects are copied from one drawing to another.
---------------------------------------------------------------------------------------------------------
aunits (introduced before r12) controls how angle values are displayed (decimal degrees, degrees/minutes/seconds, radians)
this variable effects only displaying values. api functions always return angles in radians.
----
lunits (introduced before r12) controls how coordinate values are displayed (scientific, decimal, engineering etc.)
this variable effects only displaying values. api functions always return coordinate values as they are stored in drawing without any scaling.
note: altering values of insunits, lunits, aunits do not effect any coordinates stored in drawing. the contents of drawing is not scaled.
sergey slezkin


所有的时间均为北京时间。 现在的时间是 08:49 AM.