Rhino exports .DXF files with units always set to Imperial

Hi fellows,

I have a problem concerning units with files DXF
We send .dxf files to a laser cutter and my .dxf Rhinoceros 6 generated file, no matter what scheme I use, always writes and output file with IMPERIAL units set.
I tried scheme CAM Metric and CAM IMPERIAL and always get that file in INCHES.

There is a field called MEASUREMENT that sets that units to 0 - imperial/inches ou 1 - metric/mm

$MEASUREMENT
70
1 >>> OVERWRITTEN BY ME TO 1 (METRIC)

Input system always reads ok with 1 but not with 0. I am sending output files to CorelDraw (ok) and PowerShape (not ok) or directly to LASER (not ok).

how do I get and output file in mm? any clue?

I uploaded my outputs and the reference (autodesk) to the url:

https://drive.google.com/open?id=10EaGbWEdpGu3xE6RGUYb0gNeU-eUXAqt

The main problem here is that different products read DXF files in different ways - basically, AutoCAD files are unitless…

At some point, I was also under the impression that the MEASUREMENT setting should be used, but I think that it’s only INSUNITS that gets set.

Perhaps @lowell can provide more information.

Further reading:

I can set MEASUREMENT in exported files.

DWG/DXF files don’t really have a unit system setting equivalent to most cad systems.

INSUNITS at least has possible values for many unit systems. It’s meant for controlling scaling of inserted blocks, etc.

MEASUREMENT is much less specific, representing only Imperial or Metric. Measurement is meant for scaling hatch patterns and linetypes

Assuming Millimeters when MEASUREMENT is set to 1 may work for your specific case, but in general, it doesn’t represent a unit system.

From AutoCAD docs:

MEASUREMENT (System Variable)

Controls whether the current drawing uses imperial or metric hatch pattern and linetype files.

Type: Integer
Saved in: Drawing
Initial value: 0 (imperial) or 1 (metric)
Value Description
0 Imperial; uses the hatch pattern file and linetype file designated by the ANSIHatch and ANSILinetype registry settings
1 Metric; uses the hatch pattern file and linetype file designated by the ISOHatch and ISOLinetype registry settings

INSUNITS (System Variable)

Specifies a drawing-units value for automatic scaling of blocks, images, or xrefs when inserted or attached to a drawing.

Type: Integer
Saved in: Drawing
Initial value: 1 (imperial) or 4 (metric)

Note: The INSUNITS setting is ignored when inserting annotative blocks into a drawing.

Value Description
0 Unspecified (No units)
1 Inches
2 Feet
3 Miles
4 Millimeters
5 Centimeters
6 Meters
7 Kilometers
8 Microinches
9 Mils
10 Yards

… And 10 more values

Hi Lowell,

how do you set the MEASUREMENT in the exported files? Is that a Scheme in export options?
For me, is clear that the MEASUREMENT is the “current drawing” pattern, (METRIC or IMPERIAL) however it doesn’t tell the doc is in mm, cm, meters, etc.
I think we should in the Scheme export choose which fields to be written to the generated .dxf file.

tells me this:

$MEASUREMENT 70 Sets drawing units: 0 = English; 1 = Metric

and the

$INSUNIT field is just for units, but the “client system” doesn’t know that a mm is a METRIC… lol…

Do you think i can write te MEASUREMENT to the .dxf file anyway i can workaround this problem?

Many thanks!

That is fixed by https://mcneel.myjetbrains.com/youtrack/issue/RH-50412
I think it will be in SR6.13

1 Like