疑难解答 - 将 DGN 文件保存为 DWG 文件
- 当我将 DGN 文件保存为 DWG 时,坐标似乎发生了位移 — 当我在 V8 中查看 DWG 文件时,得到的坐标与 DGN 文件中的坐标不同。— AutoCAD 最可能相对于用户坐标系 (UCS) 显示坐标,而 MicroStation 则采用世界坐标显示它们。保存为 DWG 时,在DWG/DXF 另存为选项对话框中关闭从当前 ACS 设置 UCS,这样坐标便应重合。
- 当我将包含复合 MicroStation 线型的 DGN 文件保存为 DWG 时,具有特殊线型的线条变为连续线型。— 将该文件保存为 DWG 时,与 AutoCAD 不兼容(不被其识别)的 DGN 线型缺省变为连续线型。但是,如果使用了另存为 DWG/DXF 选项对话框中的打散不支持的线型选项,复杂 MicroStation 线型则会保持其在保存的文件中的外观。尽管元素看起来相同,但实际上它们是许多连续的小几何图形组件,而不是一个具有已分配样式的线条。
- 当我将包含缺省模型和多个额外模型的 DGN 文件保存为 DWG 时,系统为每个额外模型创建单独的 DWG 文件。— AutoCAD 仅支持在每个 DWG 文件中保存一个模型(模型空间)。将 DGN 文件保存为 DWG 时,缺省模型保存到模型空间,非缺省设计模型根据另存为 DWG/DXF 选项对话框上的非缺省设计模型的设置进行保存。
当此选项设置为创建单独文件时,系统会将每个非缺省设计模型保存到单独的 DWG 文件。例如,假设设计文件 Test.dgn 有三个设计模型:模型 A、模型 B 和模型 C。当此选项打开时,缺省模型(模型 A)及所有图纸模型都保存到 Test.dwg。其他模型保存到 Test_Model.dwg 和 Test_ModelC.dwg。
当此选项设置为创建图纸空间时,每个非缺省设计模型将保存到缺省设计模型所在的 DWG 模型中的一个绘图布局(图纸空间)。
当此选项设置为忽略时,非缺省模型不会保存到 DWG 文件。
- 当我将 DGN 文件保存为 DWG 时,DWG 文件显示 DGN 文件中没有的层。— MicroStation 允许分别控制每个视图的层显示,而 AutoCAD 仅支持全局层设置。在另存为 DWG/DXF 选项对话框中,将层显示设置为相应的视图。
- 当我将 DGN 文件保存为 DWG 时,DWG 文件中的几何图形的线符与 DGN 文件中显示的线符不匹配。— 不匹配可能因层替代设置所致。您可以在 MicroStation 中禁用此视图特性,以确定其是否影响 DGN 文件的显示。通过使用另存为 DWG/DXF 选项对话框中的使用层线符替代设置,可以在保存期间应用元素的层线符。
- 当我保存 DGN 或 DWG 文件时,对参考所做的更改并未保存。— 可能对 DWG 或 DGN 文件禁用了保存参考文件层更改的功能。此设置受下列任一键入命令控制:DWG VISRETAIN <0 or 1>(AutoCAD 键入命令)或 SET REFLEVELOVERRIDES <OFF or ON>(MicroStation 键入命令)。如果 DWG VISRETAIN 设置为 0(或 SET REFLEVELOVERRIDES OFF),则仅在当前会话期间保留对参考文件层所做的更改。如果 DWG VISRETAIN 设置为 1(或 SET REFLEVELOVERRIDES ON),则在文件关闭时保留参考层更改。
- 当我将 DGN 保存为 DWG 文件时,在 DWG 选项中指定的种子文件具有生成的 DWG 文件中缺失的尺寸标注样式、文本样式和纸张空间布局。什么文件用作新 DWG 文件的源文件?— 使用 AutoCAD 时,模板文件用于创建新文件;使用 MicroStation 时,种子文件用于创建新文件。在 MicroStation 中,您可以使用 DWG 种子创建 DWG 文件或使用 DGN 种子创建 DGN 文件。在这两种软件包中,生成的新文件都基于种子/模板。这仅适用于使用 命令创建新文件的情况。如果选择 ,仍会创建新文件,但该文件不是基于种子/模型,而是基于保存的文件。
将文件从一种格式保存(转换)为另一种格式时,也可以使用
命令。新文件的内容与保存的文件的内容一致。在转换过程中,原始格式中不存在的设置可能是生成的格式所必需的。例如,MicroStation 具有工作单位,AutoCAD 具有单个绘图单位。这两者尽管相似,但并不相同。例如,将 DWG 文件保存为 DGN 时,存在的设置将使用从指定 DGN 种子文件转换而来的 DGN 文件的工作单位,因为 DGN 文件必须具有工作单位。
对于诸如尺寸标注样式或文本样式等设置,两种文件类型的设置相当,因此仅 DWG 文件中包含的尺寸标注或文本样式将保存到新 DGN 文件中。
将文件从一种格式转换为另一种格式时,经验法则是,原始格式中不存在但生成的格式中必需的所有内容均取自种子文件。转换期间不会创建额外的信息。
当 MicroStation 信息导出到 AutoCAD 以及当导出用于创建新 DWG 的种子文件时,种子文件的这种用法与早期版本不同。但在 V8.5 中,情况并非如此。DWG 文件格式是 DGN 文件格式的子集,因此软件会转换现有数据,而不实际创建新文件。
如果您有一组生成的 DWG 文件必须满足的标准,例如所有 DWG 文件中必须存在的特定尺寸标注样式或文本样式,则可在 DGNLib 文件中创建这些样式并在工作空间或工作集中的所有文件中使用它们。
如果不希望使用 DGNLib 文件,可在保存为 DWG 之前将尺寸标注样式和文本样式导入到 DGN 文件中。另一个选择是在使用
命令后,将尺寸标注样式或文本样式导入 AutoCAD 中的 DWG 内。 - 当我将 DGN 文件保存为 DWG 文件时,RSC 字体将另存为 SHX 字体。为什么会发生此情况?— RSC 字体无需在字体中定义度、直径和正负号符号,即可正确显示角度和直径尺寸标注。但是,AutoCAD 的字体中需要有这些符号。此外,这些符号需要位于固定位置。下表显示了这些符号需要存在于哪些位置:
这些位置可能已经具有字符,因此现有字符必须移动到空位置。例如,在大部分 MicroStation 提供的字体中,分数符号 33/64 和 35/64 位于位置 176 和 177。必须将 33/64 和 35/64 标志符号移动到其他位置。对于 MicroStation 字体,将其移动到位置 192 和 193。
但是,MicroStation 不知道用户定义的自定义 RSC 字体的特性,因此无法执行此重映射。例如,假设用户修改了提供的 MicroStation 字体(分数位于 B0 和 B1 处),并在位置 192 和 193 添加了新字符。如果为用户定义和 MicroStation 提供的 RSC 字体执行了此重映射,MicroStation 则会替换这些字符。MicroStation 不会为用户定义的字体执行此重映射,而是只为 MicroStation 提供的字体执行该操作。
当使用用户字体放置尺寸标注符号并将文件保存为 DWG 时,符号在 DWG 中显示不正确。可使用环境变量 MS_RSCFONTDATA 来解决此问题。利用该环境变量,用户可以为自定义字体定义此重映射。用户还可通过它替代 MicroStation 所提供字体的行为。
该环境变量的格式如下:
Set MS_RSCFONTDATA=fontName, degreeFont, degreeLocation, newReplacedDegSymLocation, plusminusFont, plusMinusLocation, newReplacedPMSymLocation, diaFont, diaLocation, newReplacedDiaLocation
参数名 描述 fontName 要应用此重映射的字体。 degreeFont 要从中提取度数符号的字体。字体通过不同方法定义符号。要在 127 处插入度数符号,MS 需要知道符号的外观。因而需要符号几何图形。此参数定义要从中提取标志符号几何图形的字体。例如,V8 使用字体 106 位置 176 处的度数符号 (INTL_ISO_EQUAL) 作为缺省度数符号。如果要使用缺省度数字体,请将此值设为 -1。 degreeLocation 要从中提取度数符号的 degreeFont 中的位置。例如,V8 使用字体 106 位置 176 处的度数符号 (INTL_ISO_EQUAL) 作为缺省度数符号。如果要使用缺省度数字体,请将此值设为 0。 newReplacedDegSymLocation 由于度数符号现在占用位置 127(或位置 176),因此需要将原始符号移动到没有符号的位置。例如,MicroStation 字体未在位置 192 (192) 定义符号。因此,我们将位置 127(或 176)处的原始符号移动到位置 192。如果位置 127(或 176)处没有任何符号,请将此值设为 0。 plusminusFont 要从中提取正负号符号的字体。MicroStation 使用字体 106 中的符号 177 (INTL_ISO_EQUAL)。 PlusminusLocation 要从中提取符号的 plusMinusFont 中的位置。MicroStation 使用字体 106 中的符号 177 (INTL_ISO_EQUAL)。 newReplacedPMSymLocation 要将原始符号移动到的位置。对于 MicroStation 字体,我们将符号移动到位置 193。如果位置 128(或 177)处不存在任何符号,请将此值设为 0。 diaFont 要从中提取直径符号的字体。MicroStation 使用字体 106 中的符号 216 (INTL_ISO_EQUAL)。 diaLocation 要从中提取符号的 diaFont 中的位置。MicroStation 使用字体 106 中的符号 216 (INTL_ISO_EQUAL)。 newReplacedDiaSymLocation 要将原始符号移动到的位置。对于 MicroStation 字体,我们将符号移动到位置 194。如果位置 129(或 216)处不存在任何符号,请将此值设为 0。 ENGINEERING 字体中此变量的定义示例如下: Set MS_RSCFONTDATA=ENGINEERING,3,94,192,3,200,193,-1,0,0
对于此配置,度数符号提取自字体 3 (ENGINEERING) 和位置 94(ENGINEERING 字体中的度数符号),并置于位置 176 中(由于 ENGINEERING 导出为 UNICODE 字体)。符号 33/64 移动到位置 192,该位置最初没有任何符号。正负号符号提取自字体 3 (ENGINEERING) 位置 200(正负号符号),并置于位置 177 中。35/64 符号移动到位置 193,该位置最初没有任何符号。直径符号提取自缺省字体 106 (INTL_ISO_EQUAL) 和缺省位置(位置 216),并置于 ENGINEERING.SHX 字体的位置 216 中。由于 ENGINEERING RSC 字体中的位置 216 处没有任何符号,因此无需进一步的移动。