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 布局

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

相关推荐
@小博的博客14 分钟前
C++初阶学习第十弹——深入讲解vector的迭代器失效
数据结构·c++·学习
南宫生1 小时前
贪心算法习题其四【力扣】【算法学习day.21】
学习·算法·leetcode·链表·贪心算法
懒惰才能让科技进步2 小时前
从零学习大模型(十二)-----基于梯度的重要性剪枝(Gradient-based Pruning)
人工智能·深度学习·学习·算法·chatgpt·transformer·剪枝
love_and_hope2 小时前
Pytorch学习--神经网络--搭建小实战(手撕CIFAR 10 model structure)和 Sequential 的使用
人工智能·pytorch·python·深度学习·学习
Chef_Chen2 小时前
从0开始学习机器学习--Day14--如何优化神经网络的代价函数
神经网络·学习·机器学习
芊寻(嵌入式)2 小时前
C转C++学习笔记--基础知识摘录总结
开发语言·c++·笔记·学习
hong1616883 小时前
跨模态对齐与跨领域学习
学习
阿伟来咯~3 小时前
记录学习react的一些内容
javascript·学习·react.js
Suckerbin4 小时前
Hms?: 1渗透测试
学习·安全·网络安全
水豚AI课代表4 小时前
分析报告、调研报告、工作方案等的提示词
大数据·人工智能·学习·chatgpt·aigc