#!#!
#!
#!
#!#!#!#!#!#!#!#!#!#!
#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!
#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!
#!
#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!
#!#!#!#!#!#!#!#!#!#!#!#!#!
#!#!#!#!#!#!#!#!#!#!#!#!#!
#!#!#!#!#!#!#!#!#!#!#!#!#!#!
#!
#!#!#!#!
#!#!#!
#!#!
#!#!
#!
#!#!
#!#!
#!#!
#!#!
#!#!#!
#!
#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!
#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!addValueattribute_heightdivValueattribute_height2">#!#!#!#!#!#!#!#!#!
#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!
#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!
#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!
#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!
#!#!#!#!#!#!#!#!#!#!#!#!#!#!
#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!
#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!
#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!
#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!
#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!
#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!
#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!
#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!
#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!
#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!
#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!
#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!
#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!
#!#!
#!#!#!#!#!#!#!#!
#!#!
#!#!FME_PYTHON_VERSION 37 GUI IGNORE DestDataset_ACAD_1,APPEND_TO_TEMPLATEFILE_ACAD_1,PRESERVE_TEMPLATE_PAPER_SPACE_ENTITIES_ACAD_1,ACAD_OUT_DEFAULT_ATTR_STORAGE_ACAD_1,ACAD_OUT_FME_GROUP_NAMED1_ACAD_1,ACAD_OUT_VERSION_ACAD_1,ACAD_OUT_TEMPLATEFILE_ACAD_1,ACAD_OUT_TEMPLATE_GROUP_ACAD_1,ACAD_OUT_CAD_WRT_ADV_PARM_GROUP_ACAD_1,ACAD_OUT_DEFAULT_APPLICATION_ACAD_1,ACAD_OUT_OUTPUT_DEFINED_ATTRS_ONLY_ACAD_1,ACAD_OUT_SHAPE_DIRECTORY_ACAD_1,ACAD_OUT_CREATED_BLOCK_NAME_PREFIX_ACAD_1,ACAD_OUT_AUDIT_AND_FIX_ACAD_1,ACAD_OUT_COORDINATE_SYSTEM_STORAGE_ACAD_1,ACAD_OUT_USE_BLOCK_NAME_FOR_CREATION_ACAD_1,ACAD_OUT_PURGE_ACAD_1,ACAD_OUT_INSERTION_SCALE_UNITS_ACAD_1,ACAD_OUT_WRITE_THUMBNAIL_IMAGE_ACAD_1,ACAD_OUT_PREFER_DONUTS_AS_HATCHES_ACAD_1 DEFAULT_MACRO DestDataset_ACAD_3 $(FME_HOME_USERTYPED)_process_results\ creation_block_att.dwg GUI FILENAME DestDataset_ACAD_3 DWG_Files(* DWG)/ DXF_Files(* DXF)| *的.dwg;(。* DXF)* DXF | DWG_Files(。* DWG)| | *的.dwg DXF_Files | *。DXF| All_Files | *目的地欧特克AutoCAD的DWG / DXF文件:INCLUDE [如果{{$(DestDataset_ACAD_3)} {==}} {puts_real {参数 'DestDataset_ACAD_3' 必须被给出的值}。出口1;};]#!START_HEADER#!START_WB_HEADER READER_TYPE MULTI_READER WRITER_TYPE MULTI_WRITER MULTI_WRITER_DATASET_ORDER BY_ID MULTI_WRITER_FIRST_WRITER_ID 0 MULTI_WRITER_TYPE {0} ACAD MULTI_WRITER_KEYWORD {0} ACAD_1#!END_WB_HEADER#!START_WB_HEADER MACRO WB_KEYWORD “ACAD_1” #!END_WB_HEADER#! START_DEST_HEADER ACAD ACAD_1 # ============================================================================ # The following GUI lines prompt for a destination file which is used # as the output when the destination of the translation is DWG/DXF #! END_DEST_HEADER #! START_WB_HEADER DEFAULT_MACRO DestDataset INCLUDE [ if {"$(DestDataset)" != ""} { \ puts {DEFAULT_MACRO DestDataset_ACAD_1 $(DestDataset)} \ } ] #! END_WB_HEADER #! START_DEST_HEADER ACAD ACAD_1 DEFAULT_MACRO DestDataset_ACAD_1 $(DestDataset_ACAD_3) GUI FILENAME DestDataset_ACAD_1 DWG_Files(*.dwg)/DXF_Files(*.dxf)|*.dwg;*.dxf|DWG_Files(*.dwg)|*.dwg|DXF_Files(*.dxf)|*.dxf|All_Files|* Destination Autodesk AutoCAD DWG/DXF File: ACAD_1_OUTPUT_DEFINED_ATTRS_ONLY YES DEFAULT_MACRO APPEND_TO_TEMPLATEFILE_ACAD_1 no ACAD_1_APPEND_TO_TEMPLATEFILE $(APPEND_TO_TEMPLATEFILE_ACAD_1) GUI CHOICE APPEND_TO_TEMPLATEFILE_ACAD_1 yes%no Preserve Template File Model Space Data: DEFAULT_MACRO PRESERVE_TEMPLATE_PAPER_SPACE_ENTITIES_ACAD_1 yes ACAD_1_PRESERVE_TEMPLATE_PAPER_SPACE_ENTITIES $(PRESERVE_TEMPLATE_PAPER_SPACE_ENTITIES_ACAD_1) GUI CHOICE PRESERVE_TEMPLATE_PAPER_SPACE_ENTITIES_ACAD_1 yes%no Preserve Template File Paper Space Data: DEFAULT_MACRO DEFAULT_ATTR_STORAGE_MACRO_ACAD_1 external_attributes # ============================================================================ # Assume a default of not storing attributes with the entities. # Valid choices for _DEFAULT_ATTR_STORAGE are: # extended_entity_data insert_attributes external_attributes # This is now a default of external attributes for both mapping files and workbench DEFAULT_MACRO ACAD_OUT_DEFAULT_ATTR_STORAGE_ACAD_1 insert_attributes ACAD_1_DEFAULT_ATTR_STORAGE "$(ACAD_OUT_DEFAULT_ATTR_STORAGE_ACAD_1)" GUI RADIO_GROUP ACAD_OUT_DEFAULT_ATTR_STORAGE_ACAD_1 "\"Extended Entity Data\",extended_entity_data"%Inserts,insert_attributes%Limited,external_attributes Attribute Output # ============================================================================ DEFAULT_MACRO ACAD_OUT_FME_GROUP_NAMED1_ACAD_1 FME_DISCLOSURE_OPEN GUI OPTIONAL DISCLOSUREGROUP ACAD_OUT_FME_GROUP_NAMED1_ACAD_1 ACAD_OUT_VERSION_ACAD_1 File Options # ============================================================================ # The version of AutoCAD file which is to be output. DEFAULT_MACRO ACAD_OUT_VERSION_ACAD_1 Release2013 ACAD_1_VERSION "$(ACAD_OUT_VERSION_ACAD_1)" GUI CHOICE ACAD_OUT_VERSION_ACAD_1 Release12%Release13%Release14%Release2000%Release2004%Release2007%Release2010%Release2013%Release2018%same_as_template AutoCAD Version: # ============================================================================ DEFAULT_MACRO ACAD_OUT_TEMPLATEFILE_ACAD_1 ACAD_1_TEMPLATEFILE "$(ACAD_OUT_TEMPLATEFILE_ACAD_1)" GUI OPTIONAL FILENAME_MUSTEXIST ACAD_OUT_TEMPLATEFILE_ACAD_1 DWG_Files(*.dwg)/DXF_Files(*.dxf)|*.dwg;*.dxf|DWG_Files(*.dwg)|*.dwg|DXF_Files(*.dxf)|*.dxf|Template_FILES(*.dwt)|*.dwt|All_files(*)|* Template File: DEFAULT_MACRO ACAD_OUT_TEMPLATE_GROUP_ACAD_1 FME_DISCLOSURE_OPEN GUI OPTIONAL DISCLOSUREGROUP ACAD_OUT_TEMPLATE_GROUP_ACAD_1 ACAD_OUT_TEMPLATEFILE_ACAD_1%ACAD_OUT_APPEND_TO_TEMPLATEFILE%ACAD_OUT_PRESERVE_TEMPLATE_PAPER_SPACE_ENTITIES Template File # ============================================================================ # ============================================================================ DEFAULT_MACRO ACAD_OUT_CAD_WRT_ADV_PARM_GROUP_ACAD_1 FME_DISCLOSURE_OPEN GUI OPTIONAL DISCLOSUREGROUP ACAD_OUT_CAD_WRT_ADV_PARM_GROUP_ACAD_1 ACAD_OUT_DEFAULT_APPLICATION_ACAD_1%ACAD_OUT_OUTPUT_DEFINED_ATTRS_ONLY_ACAD_1%ACAD_OUT_SHAPE_DIRECTORY_ACAD_1%ACAD_OUT_CREATED_BLOCK_NAME_PREFIX_ACAD_1%ACAD_OUT_AUDIT_AND_FIX_ACAD_1%ACAD_OUT_COORDINATE_SYSTEM_STORAGE_ACAD_1%ACAD_OUT_USE_BLOCK_NAME_FOR_CREATION_ACAD_1%ACAD_OUT_PURGE_ACAD_1%ACAD_OUT_INSERTION_SCALE_UNITS_ACAD_1%ACAD_OUT_WRITE_THUMBNAIL_IMAGE_ACAD_1%ACAD_OUT_PREFER_DONUTS_AS_HATCHES_ACAD_1 Advanced # ============================================================================ DEFAULT_MACRO ACAD_OUT_DEFAULT_APPLICATION_ACAD_1 ACAD_1_DEFAULT_APPLICATION "$(ACAD_OUT_DEFAULT_APPLICATION_ACAD_1)" GUI OPTIONAL TEXT ACAD_OUT_DEFAULT_APPLICATION_ACAD_1 Default Application Name: # ============================================================================ DEFAULT_MACRO ACAD_OUT_OUTPUT_DEFINED_ATTRS_ONLY_ACAD_1 no ACAD_1_OUTPUT_DEFINED_ATTRS_ONLY "$(ACAD_OUT_OUTPUT_DEFINED_ATTRS_ONLY_ACAD_1)" GUI CHOICE ACAD_OUT_OUTPUT_DEFINED_ATTRS_ONLY_ACAD_1 yes%no Output Defined Attributes Only: # ============================================================================ DEFAULT_MACRO ACAD_OUT_SHAPE_DIRECTORY_ACAD_1 ACAD_1_SHAPE_DIRECTORY "$(ACAD_OUT_SHAPE_DIRECTORY_ACAD_1)" GUI OPTIONAL DIRNAME ACAD_OUT_SHAPE_DIRECTORY_ACAD_1 AutoCAD Shape File Folder: # ============================================================================ DEFAULT_MACRO ACAD_OUT_CREATED_BLOCK_NAME_PREFIX_ACAD_1 ACAD_1_CREATED_BLOCK_NAME_PREFIX "$(ACAD_OUT_CREATED_BLOCK_NAME_PREFIX_ACAD_1)" GUI OPTIONAL TEXT ACAD_OUT_CREATED_BLOCK_NAME_PREFIX_ACAD_1 Created Block Name Prefix: # ============================================================================ DEFAULT_MACRO ACAD_OUT_AUDIT_AND_FIX_ACAD_1 yes ACAD_1_AUDIT_AND_FIX "$(ACAD_OUT_AUDIT_AND_FIX_ACAD_1)" GUI CHOICE ACAD_OUT_AUDIT_AND_FIX_ACAD_1 yes%no Audit And Fix Errors: # ============================================================================ DEFAULT_MACRO ACAD_OUT_COORDINATE_SYSTEM_STORAGE_ACAD_1 NONE ACAD_1_COORDINATE_SYSTEM_STORAGE "$(ACAD_OUT_COORDINATE_SYSTEM_STORAGE_ACAD_1)" # I'd like to use the below line with nicer usernames, but # there's no way to do this currently, so I must use the below. # Well, I accomplished this by seeding the GUI prompts localization with # the nicer alternatives # GUI CHOICE COORDINATE_SYSTEM_STORAGE None%"External PRJ"%"Internal ESRI WKT"%Both Coordinate System Storage: GUI LOOKUP_CHOICE ACAD_OUT_COORDINATE_SYSTEM_STORAGE_ACAD_1 None,NONE%"\"External PRJ\",EXTERNAL_PRJ"%"\"Internal WKT\",INTERNAL_WKT"%"\"External and Internal\",EXTERNAL_AND_INTERNAL" Coordinate System Storage: # ============================================================================ DEFAULT_MACRO ACAD_OUT_USE_BLOCK_NAME_FOR_CREATION_ACAD_1 yes ACAD_1_USE_BLOCK_NAME_FOR_CREATION "$(ACAD_OUT_USE_BLOCK_NAME_FOR_CREATION_ACAD_1)" GUI CHOICE ACAD_OUT_USE_BLOCK_NAME_FOR_CREATION_ACAD_1 yes%no Use the block name to create blocks: # ============================================================================ DEFAULT_MACRO ACAD_OUT_PURGE_ACAD_1 no ACAD_1_PURGE "$(ACAD_OUT_PURGE_ACAD_1)" GUI CHOICE ACAD_OUT_PURGE_ACAD_1 yes%no Purge Unused Objects: # ============================================================================ DEFAULT_MACRO ACAD_OUT_INSERTION_SCALE_UNITS_ACAD_1 ACAD_1_INSERTION_SCALE_UNITS "$(ACAD_OUT_INSERTION_SCALE_UNITS_ACAD_1)" GUI OPTIONAL LOOKUP_CHOICE ACAD_OUT_INSERTION_SCALE_UNITS_ACAD_1 Undefined,UNDEFINED%Inches,INCHES%Feet,FEET%Miles,MILES%Millimeters,MILLIMETERS%Centimeters,CENTIMETERS%Meters,METERS%Kilometers,KILOMETERS%Microinches,MICROINCHES%Mils,MILS%Yards,YARDS%Angstroms,ANGSTROMS%Nanometers,NANOMETERS%Microns,MICRONS%Decimeters,DECIMETERS%Dekameters,DEKAMETERS%Hectometers,HECTOMETERS%Gigameters,GIGAMETERS%Astronomical,ASTRONOMICAL%Lightyears,LIGHTYEARS%Parsecs,PARSECS Insertion Scale Units: # ============================================================================ DEFAULT_MACRO ACAD_OUT_WRITE_THUMBNAIL_IMAGE_ACAD_1 no ACAD_1_WRITE_THUMBNAIL_IMAGE "$(ACAD_OUT_WRITE_THUMBNAIL_IMAGE_ACAD_1)" GUI CHOICE ACAD_OUT_WRITE_THUMBNAIL_IMAGE_ACAD_1 yes%no Write Thumbnail Image: # ============================================================================ DEFAULT_MACRO ACAD_OUT_PREFER_DONUTS_AS_HATCHES_ACAD_1 no ACAD_1_PREFER_DONUTS_AS_HATCHES "$(ACAD_OUT_PREFER_DONUTS_AS_HATCHES_ACAD_1)" GUI CHOICE ACAD_OUT_PREFER_DONUTS_AS_HATCHES_ACAD_1 yes%no Prefer writing donuts as hatches: # ============================================================================ # Opt in for destination dataset type vs format type validation DEFAULT_MACRO ACAD_OUT_DESTINATION_DATASETTYPE_VALIDATION_ACAD_1 Yes ACAD_1_DESTINATION_DATASETTYPE_VALIDATION "$(ACAD_OUT_DESTINATION_DATASETTYPE_VALIDATION_ACAD_1)" # ============================================================================ ACAD_1_GENERATE_FME_BUILD_NUM 19608 # ============================================================================ # Bring in macros for all the autocad colors INCLUDE "$(FME_HOME)/metafile/autocadColors.fmi" ACAD_1_DATASET "$(DestDataset_ACAD_1)" #! END_DEST_HEADER #! START_WB_HEADER #! END_WB_HEADER #! END_HEADER LOG_FILENAME "$(FME_MF_DIR)create_acad_blocks_with_attributes.log" LOG_APPEND NO LOG_FILTER_MASK -1 LOG_MAX_FEATURES 200 LOG_MAX_RECORDED_FEATURES 200 FME_REPROJECTION_ENGINE FME FME_IMPLICIT_CSMAP_REPROJECTION_MODE Auto FME_GEOMETRY_HANDLING Enhanced FME_STROKE_MAX_DEVIATION 0 DEFAULT_MACRO DATASET_KEYWORD_ACAD_1 ACAD_1 # ------------------------------------------------------------------------- MULTI_READER_CONTINUE_ON_READER_FAILURE No # ------------------------------------------------------------------------- MACRO WORKSPACE_NAME create_acad_blocks_with_attributes MACRO FME_VIEWER_APP fmedatainspector DEFAULT_MACRO WB_CURRENT_CONTEXT # ------------------------------------------------------------------------- Tcl2 proc __dummy1_CoordSysRemover {} { global FME_CoordSys; set FME_CoordSys {}; } MACRO __dummy1_XML NOT_ACTIVATED MACRO __dummy1_CLASSIC NOT_ACTIVATED MACRO __dummy1_2D3D 2D_GEOMETRY MACRO __dummy1_COORDS
INCLUDE [if {{Geometry Object} == {Geometry Object}} {puts {MACRO __dummy1_XML *}}] INCLUDE [if {{Geometry Object} == {2D Coordinate List}} {puts {MACRO __dummy1_2D3D 2D_GEOMETRY};[if {{Geometry Object} == {3D坐标列表}}{puts {MACRO __dummy1_2D3D 3D_GEOMETRY};{{Geometry Object} == {2D Min/Max Box}} {set comment{我们需要将坐标minX minY maxX maxY转换为一个完整的多边形坐标列表};set splitCoords [split [string trim]{/ /设置字符串长度
}]];如果{[llength $splitCoords] > 4} {set trimmedCoords {};foreach item $splitCoords {if {$item != {}} {lappend trimmedCoords $item}};设置splitCoords trimmedCoords美元;};{error {__dummy1:坐标列表预计是一个以空格分隔的列表,包含4个数字,如'minx miny maxx maxy' - '
的是无效的};};设置minX [lindex $splitCoords 0];set minY [lindex $splitCoords 1]; / /设置lindex $splitCoords 1set maxX [lindex $splitCoords 2]; / /设置索引set maxY [lindex $splitCoords 3]; / /设置maxYMACRO __dummy1_COORDS $minX $minY $minX $max $maxX $max $maxX $minY $minX $minY{MACRO __dummy1_2D3D 2D_GEOMETRY};{MACRO __dummy1_CLASSIC *}}] FACTORY_DEF $(__dummy1_XML) CreationFactory FACTORY_NAME __dummy1_XML_Creator CREATE_AT_END no OUTPUT FEATURE_TYPE _____CREATED______ @Geometry(FROM_ENCODED_STRING,
xml ?
version =
1.0
编码=
US_ASCII
独立的=
没有
?
几何
点
coord
x =
0
y =
0
点
几何
) FACTORY_DEF $(__dummy1_CLASSIC) CreationFactory FACTORY_NAME __dummy1_CLASSIC_Creator $(__dummy1_2D3D) $(__dummy1_COORDS) CREATE_AT_END no OUTPUT FEATURE_TYPE _____CREATED______ FACTORY_DEF * TeeFactory FACTORY_NAME __dummy1_Cloner INPUT FEATURE_TYPE _____CREATED______ @Tcl2(__dummy1_CoordSysRemover) @CoordSys() NUMBER_OF_COPIES 1COPY_NUMBER_ATTRIBUTE "_creation_instance" OUTPUT FEATURE_TYPE __dummy1_CREATED fme_feature_type __dummy1 FACTORY_DEF * BranchingFactory FACTORY_NAME "__dummy1_CREATED Brancher -1 33" INPUT FEATURE_TYPE __dummy1_CREATED TARGET_FACTORY "$(WB_CURRENT_CONTEXT)_CREATOR_BRANCH_TARGET" MAXIMUM_COUNT None OUTPUT PASSED FEATURE_TYPE * # . __dummy1_create_target_factory------------------------------------------------------------------------- Tcl2 proc __dummy2_CoordSysRemover{}{全球FME_CoordSys;设置FME_CoordSys {};}宏__dummy2_XML NOT_ACTIVATED宏__dummy2_CLASSIC NOT_ACTIVATED宏__dummy2_2D3D 2D_GEOMETRY宏__dummy2_COORDS
INCLUDE [if {{Geometry Object} == {Geometry Object}} {puts {MACRO __dummy2_XML *}}] INCLUDE [if {{Geometry Object} == {2D Coordinate List}} {puts {MACRO __dummy2_2D3D 2D_GEOMETRY};[if {{Geometry Object} == {3D Coordinate List}} {puts {MACRO __dummy2_d3d 3D_GEOMETRY};{{Geometry Object} == {2D Min/Max Box}} {set comment{我们需要将坐标minX minY maxX maxY转换为一个完整的多边形坐标列表};set splitCoords [split [string trim]{/ /设置字符串长度
}]];如果{[llength $splitCoords] > 4} {set trimmedCoords {};foreach item $splitCoords {if {$item != {}} {lappend trimmedCoords $item}};设置splitCoords trimmedCoords美元;};{error {__dummy2:坐标列表预计是一个由四个数字以空格分隔的列表,如'minx miny maxx maxy' - '
的是无效的};};设置minX [lindex $splitCoords 0];set minY [lindex $splitCoords 1]; / /设置lindex $splitCoords 1set maxX [lindex $splitCoords 2]; / /设置索引set maxY [lindex $splitCoords 3]; / /设置maxYMACRO __dummy2_COORDS $minX $minY $minX $max $maxX $max $maxX $minY $minX $minY{MACRO __dummy2_2D3D 2D_GEOMETRY};{MACRO __dummy2_CLASSIC *}}] FACTORY_DEF $(__dummy2_XML) CreationFactory FACTORY_NAME __dummy2_XML_Creator CREATE_AT_END no OUTPUT FEATURE_TYPE _____CREATED______ @Geometry(FROM_ENCODED_STRING,
xml ?
version =
1.0
编码=
US_ASCII
独立的=
没有
?
几何
点
coord
x =
0
y =
0
点
几何
) FACTORY_DEF $(__dummy2_CLASSIC) CreationFactory FACTORY_NAME __dummy2_CLASSIC_Creator $(__dummy2_2D3D) $(__dummy2_COORDS) CREATE_AT_END no OUTPUT FEATURE_TYPE _____CREATED______ FACTORY_DEF * TeeFactory FACTORY_NAME __dummy2_Cloner INPUT FEATURE_TYPE _____CREATED______ @Tcl2(__dummy2_CoordSysRemover) @CoordSys() NUMBER_OF_COPIES 1COPY_NUMBER_ATTRIBUTE "_creation_instance" OUTPUT FEATURE_TYPE __dummy2_CREATED fme_feature_type __dummy2 FACTORY_DEF * BranchingFactory FACTORY_NAME "__dummy2_CREATED Brancher -1 50" INPUT FEATURE_TYPE __dummy2_CREATED TARGET_FACTORY "$(WB_CURRENT_CONTEXT)_CREATOR_BRANCH_TARGET" MAXIMUM_COUNT None OUTPUT PASSED FEATURE_TYPE * #------------------------------------------------------------------------- Tcl2 proc __dummy3_CoordSysRemover{}{全球FME_CoordSys;设置FME_CoordSys {};} MACRO __dummy3_XML NOT_ACTIVATED MACRO __dummy3_CLASSIC NOT_ACTIVATED MACRO __dummy3_2D3D 2D_GEOMETRY MACRO __dummy3_COORDS .
INCLUDE [如果{{几何对象} == {几何对象}} {{放MACRO __dummy3_XML *}}] INCLUDE [如果{{几何对象} == {2D坐标列表}} {{放MACRO __dummy3_2D3D 2D_GEOMETRY};放{MACRO __dummy3_CLASSIC *}}] INCLUDE [如果{{几何对象} == {三维坐标列表}} {{放MACRO __dummy3_2D3D 3D_GEOMETRY};看跌期权{MACRO __dummy3_CLASSIC *}}]有[如果{{几何对象} == {2D最小/最大框}} {集评论{我们需要把它们了minX MINY maxX的美星的COORDS为坐标的完整列表多边形};set splitCoords [split [string trim]{/ /设置字符串长度
}]];如果{[llength $splitCoords] > 4} {set trimmedCoords {};foreach item $splitCoords {if {$item != {}} {lappend trimmedCoords $item}};设置splitCoords trimmedCoords美元;};{error {__dummy3:坐标列表预计是一个以空格分隔的4个数字的列表,如'minx miny maxx maxy' - '
的是无效的};};设置minX [lindex $splitCoords 0];set minY [lindex $splitCoords 1]; / /设置lindex $splitCoords 1set maxX [lindex $splitCoords 2]; / /设置索引set maxY [lindex $splitCoords 3]; / /设置maxYMACRO __dummy3_COORDS $minX $minY $minX $max $maxX $max $maxX $minY $minX $minY{MACRO __dummy3_2D3D 2D_GEOMETRY};{MACRO __dummy3_CLASSIC *}}] FACTORY_DEF $(__dummy3_XML) CreationFactory FACTORY_NAME __dummy3_XML_Creator CREATE_AT_END no OUTPUT FEATURE_TYPE _____CREATED______ @Geometry(FROM_ENCODED_STRING,
xml ?
version =
1.0
编码=
US_ASCII
独立的=
没有
?
几何
点
coord
x =
0
y =
0
点
几何
) FACTORY_DEF $(__dummy3_CLASSIC) CreationFactory FACTORY_NAME __dummy3_CLASSIC_Creator $(__dummy3_2D3D) $(__dummy3_COORDS) CREATE_AT_END no OUTPUT FEATURE_TYPE _____CREATED______ FACTORY_DEF * TeeFactory FACTORY_NAME __dummy3_Cloner INPUT FEATURE_TYPE _____CREATED______ @Tcl2(__dummy3_CoordSysRemover) @CoordSys() NUMBER_OF_COPIES 1COPY_NUMBER_ATTRIBUTE "_creation_instance" OUTPUT FEATURE_TYPE __dummy3_CREATED fme_feature_type __dummy3 FACTORY_DEF * BranchingFactory FACTORY_NAME "__dummy3_CREATED Brancher -1 51" INPUT FEATURE_TYPE __dummy3_CREATED TARGET_FACTORY "$(WB_CURRENT_CONTEXT)_CREATOR_BRANCH_TARGET" MAXIMUM_COUNT None OUTPUT PASSED FEATURE_TYPE * #------------------------------------------------------------------------- Tcl2 proc Creator_CoordSysRemover{}{全球FME_CoordSys;设置FME_CoordSys {};} MACRO Creator_XML NOT_ACTIVATED MACRO Creator_CLASSIC NOT_ACTIVATED MACRO Creator_2D3D 2D_GEOMETRY MACRO Creator_COORDS .
INCLUDE [if {{Geometry Object} == {Geometry Object}} {puts {MACRO Creator_XML *}}] {if {{Geometry Object} == {2D Coordinate List}} {puts {MACRO Creator_2D3D 2D_GEOMETRY};[if {{Geometry Object} == {3D坐标列表}}{puts {MACRO Creator_2D3D 3D_GEOMETRY};{{Geometry Object} == {2D Min/Max Box}} {set comment{我们需要将坐标minX minY maxX maxY转换为一个完整的多边形坐标列表};set splitCoords [split [string trim]{/ /设置字符串长度
}]];如果{[llength $splitCoords] > 4} {set trimmedCoords {};foreach item $splitCoords {if {$item != {}} {lappend trimmedCoords $item}};设置splitCoords trimmedCoords美元;};如果{[llength $splitCoords] != 4} {error {Creator:坐标列表应该是一个以空格分隔的列表,包含4个数字,如'minx miny maxx max ' - '
的是无效的};};设置minX [lindex $splitCoords 0];set minY [lindex $splitCoords 1]; / /设置lindex $splitCoords 1set maxX [lindex $splitCoords 2]; / /设置索引set maxY [lindex $splitCoords 3]; / /设置maxY"MACRO creatator_coords $minX $minY $minX $max $maxX $max $maxX $minY $minX $minY";{MACRO Creator_2D3D 2D_GEOMETRY};{MACRO Creator_CLASSIC *}}] FACTORY_DEF $(Creator_XML) CreationFactory FACTORY_NAME Creator_XML_Creator CREATE_AT_END no OUTPUT FEATURE_TYPE _____CREATED______ @Geometry(FROM_ENCODED_STRING,
xml ?
version =
1.0
编码=
US_ASCII
独立的=
没有
?
几何
行
coord
x =
0
y =
0
coord
x =
One hundred.
y =
0
coord
x =
150
y =
50
coord
x =
250
y =
50
行
几何
) FACTORY_DEF $ (Creator_CLASSIC) CreationFactory FACTORY_NAME Creator_CLASSIC_Creator (Creator_2D3D) (Creator_COORDS) CREATE_AT_END没有美元输出FEATURE_TYPE _____CREATED______ FACTORY_DEF * TeeFactory FACTORY_NAME Creator_Cloner输入FEATURE_TYPE _____CREATED______ @Tcl2 (Creator_CoordSysRemover) @CoordSys () NUMBER_OF_COPIES 1 COPY_NUMBER_ATTRIBUTE"_creation_instance" OUTPUT FEATURE_TYPE Creator_CREATED fme_feature_type Creator FACTORY_DEF * BranchingFactory FACTORY_NAME "Creator_CREATED Brancher -1 70" INPUT FEATURE_TYPE Creator_CREATED TARGET_FACTORY "$(WB_CURRENT_CONTEXT)_CREATOR_BRANCH_TARGET" MAXIMUM_COUNT None OUTPUT PASSED FEATURE_TYPE * # ------------------------------------------------------------------------- Tcl2 proc Creator_2_CoordSysRemover {} { global FME_CoordSys; set FME_CoordSys {}; } MACRO Creator_2_XML NOT_ACTIVATED MACRO Creator_2_CLASSIC NOT_ACTIVATED MACRO Creator_2_2D3D 2D_GEOMETRY MACRO Creator_2_COORDS
INCLUDE [if {{Geometry Object} == {Geometry Object}} {puts {MACRO Creator_2_2D3D 2D_GEOMETRY};}] INCLUDE [if {{Geometry Object} == {Geometry Object}} {puts {MACRO Creator_2_2D3D 2D_GEOMETRY};[if {{Geometry Object} == {3D坐标列表}}{puts {MACRO Creator_2_2D3D 3D_GEOMETRY};{{Geometry Object} == {2D Min/Max Box}} {set comment{我们需要将坐标minX minY maxX maxY转换为一个完整的多边形坐标列表};set splitCoords [split [string trim]{/ /设置字符串长度
}]];如果{[llength $splitCoords] > 4} {set trimmedCoords {};foreach item $splitCoords {if {$item != {}} {lappend trimmedCoords $item}};设置splitCoords trimmedCoords美元;};如果{[llength $splitCoords] != 4} {error {Creator_2:坐标列表应该是一个以空格分隔的列表,包含4个数字,如'minx miny maxx max ' - '
的是无效的};};设置minX [lindex $splitCoords 0];set minY [lindex $splitCoords 1]; / /设置lindex $splitCoords 1set maxX [lindex $splitCoords 2]; / /设置索引set maxY [lindex $splitCoords 3]; / /设置maxYMACRO creator_coords $minX $minY $minX $max $max $max $max $minY $minX $minY";{MACRO Creator_2_2D3D 2D_GEOMETRY};{MACRO Creator_2_CLASSIC *}}] FACTORY_DEF $(Creator_2_XML) CreationFactory FACTORY_NAME Creator_2_XML_Creator CREATE_AT_END no OUTPUT FEATURE_TYPE _____CREATED______ @Geometry(FROM_ENCODED_STRING,
xml ?
version =
1.0
编码=
US_ASCII
独立的=
没有
?
几何
行
coord
x =
0
y =
50
coord
x =
One hundred.
y =
50
coord
x =
150
y =
One hundred.
coord
x =
250
y =
One hundred.
行
几何
) FACTORY_DEF $(Creator_2_CLASSIC) CreationFactory FACTORY_NAME Creator_2_CLASSIC_Creator $(Creator_2_2D3D) $(Creator_2_COORDS) CREATE_AT_END no OUTPUT FEATURE_TYPE _____CREATED______ FACTORY_DEF * TeeFactory FACTORY_NAME Creator_2_Cloner INPUT FEATURE_TYPE _____CREATED______ @Tcl2(Creator_2_CoordSysRemover) @CoordSys() NUMBER_OF_COPIES 1COPY_NUMBER_ATTRIBUTE "_creation_instance" OUTPUT FEATURE_TYPE Creator_2_CREATED fme_feature_type Creator_2 FACTORY_DEF * BranchingFactory FACTORY_NAME "Creator_2_CREATED Brancher -1 73" INPUT FEATURE_TYPE Creator_2_CREATED TARGET_FACTORY "$(WB_CURRENT_CONTEXT)_CREATOR_BRANCH_TARGET" MAXIMUM_COUNT None OUTPUT PASSED FEATURE_TYPE * #------------------------------------------------------------------------- Tcl2 proc Creator_3_CoordSysRemover{}{全球FME_CoordSys;设置FME_CoordSys {};} MACRO Creator_3_XML NOT_ACTIVATED MACRO Creator_3_CLASSIC NOT_ACTIVATED MACRO Creator_3_2D3D 2D_GEOMETRY MACRO Creator_3_COORDS
INCLUDE [if {{Geometry Object} == {Geometry Object}} {puts {MACRO Creator_3_XML *}}] {if {{Geometry Object} == {2D Coordinate List}} {puts {MACRO Creator_3_2D3D 2D_GEOMETRY};[if {{Geometry Object} == {3D坐标列表}}{puts {MACRO creator_3_d3d 3D_GEOMETRY};{{Geometry Object} == {2D Min/Max Box}} {set comment{我们需要将坐标minX minY maxX maxY转换为一个完整的多边形坐标列表};set splitCoords [split [string trim]{/ /设置字符串长度
}]];如果{[llength $splitCoords] > 4} {set trimmedCoords {};foreach item $splitCoords {if {$item != {}} {lappend trimmedCoords $item}};设置splitCoords trimmedCoords美元;};如果{[llength $splitCoords] != 4} {error {Creator_3:坐标列表预计是一个由四个数字以空格分隔的列表,如'minx miny maxx max ' - '
的是无效的};};设置minX [lindex $splitCoords 0];set minY [lindex $splitCoords 1]; / /设置lindex $splitCoords 1set maxX [lindex $splitCoords 2]; / /设置索引set maxY [lindex $splitCoords 3]; / /设置maxYMACRO creatator_3_coords $minX $minY $minX $max $maxX $max $maxX $minY $minX $minY";{MACRO creatator_3_2d3d 2D_GEOMETRY};{MACRO Creator_3_CLASSIC *}}] FACTORY_DEF $(Creator_3_XML) CreationFactory FACTORY_NAME Creator_3_XML_Creator CREATE_AT_END no OUTPUT FEATURE_TYPE _____CREATED______ @Geometry(FROM_ENCODED_STRING,
xml ?
version =
1.0
编码=
US_ASCII
独立的=
没有
?
几何
行
coord
x =
0
y =
One hundred.
coord
x =
One hundred.