FME学习之旅---day21

我们付出一些成本,时间的或者其他,最终总能收获一些什么。

教程:AutoCAD 变换

相关的文章

为您的 DWG 赋予一些样式:使用 DWGStyler、模板文件、块等

FME数据检查器在显示行的方式上受到限制。它只能显示线条颜色,而不能显示线条类型或线条粗细等。FME数据检查器也不会显示任何区域填充图案。因此,与几乎所有 DWG 转换一样,强烈建议您在 AutoCAD 中检查输出数据。

设置图层属性

写出 DWG 文件时,可以在 FME 中设置 DWG 文件的默认图层属性。有两种简单的方法可以分配这些内容:

  • 通过在输出要素类型的格式参数中定义它们。
  • 通过使用已定义图层属性的模板文件。
示例一:在 DWG 输出要素类型中设置图层属性(不带模板文件)

1.写模块读取的gdb文件中的Roads表

2.使用AttributeFilter将属性按照RoadType进行分离,主要分离的是Arterial和Residential

3.添加相应的cad写模块,可以通过在参数中的图层设置相应的参数,以达到修改DWG的样式。(其中这三个cad写模块的写出路径相同,只是写入到不同的图层)

如示例一中主要是修改Default Color

结果

示例二:在 DWG 输出要素类型中设置图层属性(使用样板文件)

要使模板文件正常工作,需要确保模板 DWG 文件中的图层名称与工作空间中的输出图层名称匹配。

可在示例一的基础上将写模块中的模板参数进行设置

重要说明: 在编写 DWG 时使用模板时, 如果要素类型名称与模板文件中的图层名称匹配,则编写器将忽略您在编写器中手动设置的任何图层属性。

示例三:使用 DWGStyler(不带模板文件)

使用DWGStyler转换器,为文本标签提供字体和颜色。

对使用RoadType进行属性分离的三种类型分别进行相应的样式设置

其中,Labeller转换器的作用是沿着一条直线或多边形要素插入注记。

最后的成果

示例四:使用 DWGStyler 创建块(使用模板文件)

1.添加读模块,读取gdb中的StreetLightingPoles和TrafficSignals表

2.使用LabelPointReplacer转换器,分别对Pole_ID和Traffic_ID进行标注
LabelPointReplacer转换器说明:用注记点来替换几何要素。注记的插入点在要素内部(如果是
多边形)或者是在其上(如果是点或者线)。注意,由于注记的文本本身可能会大于输入的面要
素,所以文本的外接多边形可能会超出面。

3.使用Offsetter转换器,对标注向右偏移2个单位

Offsetter转换器说明:给要素的坐标点设置一个偏移量,使要素产生指定数量的位移。

4.使用DWGStyler转换器,将点要素根据已定义的模板转换为块

5.写模块写出数据,其中要设置Template File和DWGStyler一致。

**重要** 如果在 DWGStyler 中使用模板文件来定义块,则还需要在 DWG 编写器中包含相同的模板文件。要素通过 DWGStyler 后,它们仍会在 FME 中表示为点要素,但是,要素现在将具有其他格式属性,包括autocad_block_name。当编写器遇到这些属性时,它将在模板文件中查找匹配项。如果编写器中不存在模板,则默认情况下将拒绝这些功能 ,并且不会编写它们。

读取和写入 AutoCAD 文本和 MText 功能

两种文本格式

Text(单行文本)和MText(多行文本)

示例 1:将地理数据库属性转换为文本 DWG 标注

1.读模块添加gdb中的Roads表

2.使用Labeller转换器,进行标注的相关设定,其中,Label表达式为

@Value(StreetName)

ID:@int(@Value(StreetId))

3.使用AttributeManager转换器创建autocad_oblique(倾斜)属性,并设置值为15

4.写模块写出cad(RealDWG为什么用这个不太清楚)

这个倾斜我电脑装的autocad2010默认是不显示的,可以自定义添加。

示例 2:使用 FME 创建 MText 要素并将其写入 DWG

与示例1中基本类似,使用DWGStyler转换器设置文本相关内容

输出的结果:与示例一中不同,StreetName和StreetID的标注为一个整体。

使用 AutoCAD 布局

有兴趣可以了解,暂时用不到

相关推荐
职业考试资料墙20 分钟前
2025年消防设施操作员考试题库及答案
学习·考试·题库·考证
华清远见成都中心1 小时前
嵌入式开发入门指南:从零开始学习嵌入式
学习·嵌入式
武昌库里写JAVA1 小时前
MacOS Python3安装
java·开发语言·spring boot·学习·课程设计
ghost1432 小时前
C#学习第22天:网络编程
开发语言·学习·c#
每次的天空3 小时前
Android学习总结之kotlin篇(二)
android·学习·kotlin
LuckyLay3 小时前
Vue百日学习计划Day4-8——Gemini版
前端·vue.js·学习
s_little_monster3 小时前
【Linux】socket网络编程基础
linux·运维·网络·笔记·学习·php·学习方法
猴子请来的逗比4893 小时前
nginx负载均衡及keepalive高可用
运维·学习·nginx·负载均衡
朗迹 - 张伟6 小时前
UE5 PCG学习笔记
笔记·学习·ue5
令狐前生10 小时前
设计模式学习整理
学习·设计模式