I have given 1000+ DWG drawing from client and need to combine them with our own drawings. I created a batch routine to generate NWD for each client drawings before combining to ours. The problems is that more than 1/3 of dwawings have File units as inch while others are millimeters. This made some models showed up in space after combined.
Since these DWG-->NWD convertions were done in one batch session, I don't think Navisworks option is the issue. I'd like to know what variable in DWG affects File Units in NWD. I have tried to dump AutoCAD variables of two DWGs, which have different File Units in NWD, and did a comparison. Result is confusing.
Attached is the comparison result
May someone shine some hints on me?
PS: If I can change it in program way, I will be satisfied too but InwOaPartition2.LinearUnits is readonly. 😞
Thanks,
Maggie
Solved! Go to Solution.
Solved by lee.mullin. Go to Solution.
The way I would solve this is:
Create a new NWF.
Append each NWD one by one, using only UNC pathnames.
After each append, do a Zoom Fit to see if the new model is on the right location or in outer space.
If it is in outer Space, "File units and Transfrom" the last model until it is in the right space. Scale 0.001 for example.
Save as NWF.
After all DWG's are transfromed to NWD
schedule another task to open the NWF and save as NWD.
Perhaps you can program something to ask each DWG what the EXTMIN and EXTMAX variables are. This could give you an idea if the DWG is drawin in m, mm or inch...
At a guess, the DWG's that are coming in at the wrong scale because they were saved at a different scale?
When we normally see this, the file has been saved in a different AutoCAD based product (MEP, Architecture, Civil, 2010, 2011, 2012) or a specific user has a different settings to everyone else. Ideally for the purpose of aggregating models, controls should be in place to manage this.
There are two options that affect units the model is brought in and displayed at
Options > File Readers > DWG/DXF > Default Decimal Units (this is the scale the model is brought in at)
Options > Interface > Display Units (this is how the model is viewed)
If the models are saved in different scales in the native application, then you may get different results when running a batch export on all the files.
I Have found that you MUST create your drawing at the beggin when doing NEW or QNEW, you MUST choose et template file as your desired units
ANSI = Imperial
ISO = Metric
After this, there is no way (didn't find ANY) to change that.
Navisworks will load as your Original Template file.
I'm trying every maner to find what VARIABLE in the drawing tell Navisworks its Millimeters ou Inches.
I tried the following:
MEASUREMENT set to 0
MEASUREINIT set to 0
VAR2SCR from a drawing started with an Imperial Template
Then Ran the created script in my FALSE UNITS drawing and.... NOT WORK!!!! Navisworks still load my model in the FALSE units.
Try this, create a new drawing choosing a METRIC template (ISO)
Change Insertion Scale ton Inches by typing UNITS in the DWG... Save it then load this DWG in Navisworks
Now create a new drawing choosing an Imperial template (ANSI)
Dont have to change Insertion Scale un UNITS options cause its already set to Inches by Template
Save and Load in Navisworks.... Compare the two models in Navisworks, They have different units.
To compare units in Navisworks:
Selection Tree.
Right Click the File name you've loaded and at the bottom click Units and Transform.
Model Units is the Units the model were loaded...
Note that if you change this to the desired units, your model in navisworks will be fixed.
Now you can SAVE as NWF to keep this settings.
IF ANYONE FIND OUT THE VARIABLE TO CHANGE IN EXISTING MODEL STARTED FROM WRONG TEMPLATE, TELL US BECAUSE IT'S PAIN IN THE..,.........!!!!
Thanks
We had this problem as well. Our fix was to ctrl+C. 0,0,0 EVERYTHING and paste to original coordinates into our standard QNEW .dwt
That has inherent dangers but it seemed to work for us.
I didn't try to insert it. I live dangerously and copy and pasted it. But yes sir, I assume insert or xref and bind would work as well.