span8
span4
这个例子演示了如何恢复的SketchUp文件的原始层和如何将它们妥善一个3D PDF文档中的代表。由于在Adobe PDF Reader支持层和具有显示和隐藏他们在模型树的能力,它可以是非常有用的保留数据的这种结构方面。
附加的模板工作区执行的SketchUp到3D PDF转换。下载模板和FME工作台打开它。在源的SketchUp文件一仔细观察就会发现三种不同的图层名称。层0代表地形,层1表示建筑物下面40米高度和是红色,和第2层表示除40M,其中的颜色为蓝色较高的建筑物。这种有条件的分层是基于断之前的例子。
SketchUp文件结构 | 图层代表什么 |
层0 | 地形 |
图层1 | 短的建筑,红色 |
层2 | 高楼大厦,蓝色 |
在源文件中有三个SketchUp图层。它们代表了三组数据:地形、矮建筑和高层建筑。
阅读只有一个特征的SketchUp文件的结果,因为该层已合并到一个单一的聚合功能。在一个简单的工作区中,用一个读出器和一个写入器,将得到的3D PDF将只包含一个层。在这个例子中和附加的模板的工作区,我们将使用一个更复杂的方法使用的变压器,以解聚集,过滤,并保留原始的SketchUp层在PDF输出。其结果将是三层PDF文档。
SketchUp文件的数据检查器中的特征信息对话框。您可以看到,尽管它将其作为一个特性读取,但层名称仍然存储在源文件的聚合中。
要恢复的图层,图层名称需要提取,使我们可以根据不同的层过滤的几何形状。如果我们阅读FME SketchUp文件,我们可以发现该层的名称作为对IFMEFaces性状的IFMEAggregate功能中几何。
2.1使用Deaggregator拆分聚合功能
我们将使用Deaggregator分裂的一个聚合要素打散,使我们可以在以后将这些过滤到自己合适的层。请注意,我们所使用的模式:平一个级别的。这意味着,它会被聚集的一个电平,然后产生所有的PDF在输出模型中看到后面的单独的特征分手源要素(在IFMEAggregate的部分)。
提供的模板工作区SKP到3D PDF的翻译。请注意,一个功能进入了Deaggregator, 9692功能出来了,被分解了一个级别。
2.2提取SketchUp图层名称:GeometryPropertyExtractor
接下来,GeometryPropertyExtractor提取层名称为属性“sketchup_layer_name“每个功能(请注意,GeometryPropertySetter可以存储此特征为每一个面部的属性)。
几何属性提取器的参数。我们想从SketchUp文件中提取图层名称。GeometryXQuery显示在下面,并被设置为IFMEFace,这是存储层名称的地方。
几何XQuery在GeometryPropertyExtractor转换器中的表达式。它被设置为IFMEFace,这是存储层名称的地方。
当您设置了测试条款,您的几何部分的XQuery预览应该是这样的:
为$的geom在//几何形状,其中$的geom / @ fme_geometry_type = 'IFMEFace' 返回数($的geom / @ fme_id)
如果你想在这一点上查看输出,运行工作空间与功能的缓存,然后去GeometryPropertyExtractor视察提取的输出端口。现在,您将通知该表显示3 columns-第三个是sketchup_layer_name,其中特征是层0,1或2的任一部分。
2.3使用TestFilter对SketchUp图层进行过滤
最后,TestFilter将三个不同的层彼此分开。
测试条件 | 输出端口 | |
如果 | @ value (sketchup_layer_name) = Layer0 | Layer0 |
其他的如果 | @ value (sketchup_layer_name) = Layer1 | Layer1 |
其他的如果 | @ value (sketchup_layer_name) = Layer2 | Layer2 |
在设置测试条件时,请确保进入每个条件的Mode列,并选择“大小写不敏感”。
确保在TestFilter参数中进入测试条件,并将模式设置为大小写不敏感。您可以通过在测试条件下打开对话,然后在“列”下打开对话来实现这一点。模式,在下拉菜单中选择“不分大小写'.这意味着不管层名是以大写字母“L”还是小写字母“L”开头,特性都将通过测试条件。
为了演示如何检索特性的外观并将它们应用于其他特性,在本例中简单地交换了建筑物的外观。这将在两个步骤中发生:(1)使用AppearanceExtractor和测试人员,然后(2)使用AppearanceSetters。
在提取外观,我们将使用两个变压器:
要切换外观,重要的是设置外观设置器参数中的“外观存储”为:替换现有定义的这个设置用于用一个新的外观样式替换层中现有的外观样式,允许它覆盖现有的样式。因为我们交换了建筑物的外观,短的建筑物(红色)现在是蓝色的,而高的建筑物(蓝色)现在是红色的。这是通过连接端口来实现的。
在上面的图像中,我们已经连接了层1(左上角)的特征TestFilter的几何端口AppearanceSetter,而层2的外观来自于测试人员(左下角的变压器,在通过的端口)通知在相同的外观AppearanceSetter在右上角。同样的思想也适用于第二个问题AppearanceSetter,交换另一层的外观特征。
另一种描述方法是:
SketchUp层名称 | 图层代表什么 | 原来的外观 | 新外观 |
图层1 | 短的建筑 | 红色的 | 蓝色的 |
层2 | 高楼大厦 | 蓝色的 | 红色的 |
3D PDF文档的所有输出层都由单一的目标功能类型表示。通过使用按属性选项展开在目标特征类型参数中,可以基于sketchup_layer_name属性。
3D PDF数据最好在adobereader中查看。如果要使用3D数据集,通常最好保持adobereader版本最新。
结果是一个高层建筑和低层建筑的外观互换的3D PDF。高度大于40米的建筑现在是红色的,而高度小于40米的建筑现在是蓝色的。恭喜你!你已经写出了一个保留了SketchUp原始文件图层的3D PDF。如果在打开文件时,PDF中的模型树工具栏不是立即可见的,右键单击图像并选择“显示模型树”。
©2019安全亚搏在线软件公司|法律