#! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! GUI IGNORE SourceDataset_IGDS_1,_IN_UNITS_IGDS_1,_XPNDCELL_IGDS_1,EXPAND_UNNAMED_CELLS_IGDS_1,_PRESERVE_INSERTS_IGDS_1,_TEXTTAGS_IGDS_1,_DROP_COMPLEX_IGDS_1,_PROPAGATE_IGDS_1,SPLIT_MULTITEXT_IGDS_1,PRESERVE_UNNAMEDCELL_INSERTS_IGDS_1,EXPLODE_DIMENSION_ELEM_IGDS_1,READ_XREF_FILES_IGDS_1,USE_XREF_PARENT_MODEL_IGDS_1,_UOR_SCALE_IGDS_1,_UORS_PER_SUB_IGDS_1,_SUBS_PER_MASTER_IGDS_1,_UOR_GLOBAL_ORIGIN_X_IGDS_1,_UOR_GLOBAL_ORIGIN_Y_IGDS_1,_UOR_GLOBAL_ORIGIN_Z_IGDS_1,_ELEVATION_SHIFT_FACTOR_IGDS_1,_CURVE_VERTICES_IGDS_1,_TRIM_DOWN_TAGS_IGDS_1,DestDataset_ACAD_1,ACAD_OUT_DEFAULT_ATTR_STORAGE_ACAD_1,ACAD_OUT_VERSION_ACAD_1,ACAD_OUT_TEMPLATEFILE_ACAD_1,_ACADDEFAULTApplication_ACAD_1,_ACADDefinedAttrsOnly_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_COORD_STORAGE_ACAD_1,ACAD_APPEND_TO_TEMPLATEFILE_ACAD_1,ACAD_USE_BLOCK_NAME_FOR_CREATION_ACAD_1 DEFAULT_MACRO SourceDataset_IGDS GUI MULTIFILE SourceDataset_IGDS Design_Files(*.dgn)|*.dgn|All_files(*.*)|*.* Original IGDS Dataset: DEFAULT_MACRO DestDataset_ACAD GUI FILENAME DestDataset_ACAD DWG_Files(*.dwg)/DXF_Files(*.dxf)|*.dwg;*.dxf|DWG_Files(*.dwg)|*.dwg|DXF_Files(*.dxf)|*.dxf|All_Files|*.* Destination Autodesk AutoCAD DWG/DXF File: INCLUDE [ if {{$(SourceDataset_IGDS)} == {}} { puts_real {Parameter 'SourceDataset_IGDS' must be given a value.}; exit 1; }; ] INCLUDE [ if {{$(DestDataset_ACAD)} == {}} { puts_real {Parameter 'DestDataset_ACAD' must be given a value.}; exit 1; }; ] #! START_HEADER #! WORKSPACE_VERSION 1 # ============================================================================ # # This mapping file was generated by FME Workbench # on 02/07/06 16:05:02 for translation between IGDS and ACAD # # This workspace was generated with FME build 2182 # # You may edit this mapping file to customize its operation. Comments are # placed throughout to assist you. # # Modification History: # # Name Date Description # ================= ======== ============================================= # # # ============================================================================ # ============================================================================ # The following line defines the title presented to the user when this # mapping file is run through the FME GUI. You may modify this # if a more meaningful title would be appropriate. GUI TITLE IGDS to ACAD Translation # ============================================================================ # The following line names the log file to which useful statistics about # the translation will be written. This line can be uncommented and # updated if you do wish to keep these statistics. # LOG_FILENAME translation.log # LOG_APPEND NO # ============================================================================ # The following line instructs the FME to log any features that do not # match any of the source feature patterns listed further down in # this file. If you are modifying this mapping file, this will be # useful to describe to you exactly which features you are losing # during translation, if the statistics indicate that features are # not being correlated or grouped. Uncorrelated features do not # match any source specification, ungrouped features do not have # any corresponding _DEF line. # FME_DEBUG UNGROUPED UNCORRELATED # ============================================================================ # The following two lines define the type of reader and writer to be # used for this translation. If you want to translate your data # back into its original format, you may make a copy of this file # and switch the reader and writer types. If you rerun the FME, you # will get your original data back again (together with any modifications # you made in the meantime). Note that several formats are NOT # bi-directional (for example, GIF can only be used as a WRITER) # so a reverse translation may not always be possible. #! START_WB_HEADER READER_TYPE IGDS READER_KEYWORD IGDS_1 WRITER_TYPE ACAD WRITER_KEYWORD ACAD_1 #! END_WB_HEADER #! START_WB_HEADER MACRO WB_KEYWORD "IGDS_1" #! END_WB_HEADER #! START_SOURCE_HEADER IGDS IGDS_1 # ============================================================================ # The following GUI line prompts for a file to be used as the # source of the Microstation design file. # The user input is stored in a macro, which is then used to define # the dataset to be read. # The dataset this mapping file was generated from was: GUI FILENAME SourceDataset_IGDS_1 Design_Files(*.dgn)|*.dgn|All_files(*.*)|*.* Original IGDS Dataset: # ============================================================================ # The following line controls how all the FME coordinates read from the # design file will be interpreted. # Valid values IGDS_MASTER_UNITS -- FME coordinates are treated as Master Units # IGDS_SUB_UNITS -- FME coordinates are treated as Sub Units # IGDS_UORS -- FME coordinates are treated as UORs DEFAULT_MACRO _IN_UNITS_IGDS_1 IGDS_MASTER_UNITS GUI CHOICE _IN_UNITS_IGDS_1 IGDS_MASTER_UNITS%IGDS_SUB_UNITS%IGDS_UORS Input Units: # By default, we'll just go with master units and not prompt IGDS_1_UNITS $(_IN_UNITS_IGDS_1) # ============================================================================ # The following line controls whether or not cell elements are to be # expanded by the FME as it reads the source file. # DEFAULT_MACRO _XPNDCELL_IGDS_1 yes GUI CHOICE _XPNDCELL_IGDS_1 YES%NO Expand Named Cells: # By default, we'll just expand the cells IGDS_1_EXPAND_CELLS $(_XPNDCELL_IGDS_1) # The following line controls whether or not unnamed cell elements are to be # expanded by the FME as it reads the source file. # DEFAULT_MACRO EXPAND_UNNAMED_CELLS_IGDS_1 no GUI CHOICE EXPAND_UNNAMED_CELLS_IGDS_1 YES%NO Expand Unnamed Cells: # By default, we do not expand unnamed cells IGDS_1_EXPAND_UNNAMED_CELLS $(EXPAND_UNNAMED_CELLS_IGDS_1) # Ask if the cell insert points should be preserved -- this only matters # if cells are being expanded DEFAULT_MACRO _PRESERVE_INSERTS_IGDS_1 NO GUI CHOICE _PRESERVE_INSERTS_IGDS_1 YES%NO Preserve Named Cell Insert Points: IGDS_1_PRESERVE_CELL_INSERTS $(_PRESERVE_INSERTS_IGDS_1) # ============================================================================ # The following line controls whether or not tag elements are to be # output as text by the FME as it reads the source file. # DEFAULT_MACRO _TEXTTAGS_IGDS_1 yes GUI CHOICE _TEXTTAGS_IGDS_1 YES%NO Output Tags As Text: # By default, we'll output the tags IGDS_1_TAGS_AS_TEXT $(_TEXTTAGS_IGDS_1) # ============================================================================ # The following line controls whether or not complex elements are dropped # while we are reading # DEFAULT_MACRO _DROP_COMPLEX_IGDS_1 no GUI CHOICE _DROP_COMPLEX_IGDS_1 YES%NO Drop Complex Elements: # By default, we'll won't drop the complex IGDS_1_SPLIT_COMPLEX_CHAINS $(_DROP_COMPLEX_IGDS_1) # ============================================================================ # The following line controls whether or not complex chain element linkages # are propagated up to the header element from the members -- only applies # when we are NOT dropping complex elements # DEFAULT_MACRO _PROPAGATE_IGDS_1 no GUI CHOICE _PROPAGATE_IGDS_1 YES%NO Propagate Chain Member Linkages: # By default, we'll won't propagate the linkages IGDS_1_PROPAGATE_CHAIN_ELEMENT_LINKAGES $(_PROPAGATE_IGDS_1) # Should we split multi text DEFAULT_MACRO SPLIT_MULTITEXT_IGDS_1 yes GUI CHOICE SPLIT_MULTITEXT_IGDS_1 YES%NO Split multi text: #By default we split multi text IGDS_1_SPLIT_MULTITEXT $(SPLIT_MULTITEXT_IGDS_1) #By default we do not output unnamed cell insert points DEFAULT_MACRO PRESERVE_UNNAMEDCELL_INSERTS_IGDS_1 no GUI CHOICE PRESERVE_UNNAMEDCELL_INSERTS_IGDS_1 YES%NO Preserve Unnamed Cell Insert Points: IGDS_1_PRESERVE_UNNAMEDCELL_INSERTS $(PRESERVE_UNNAMEDCELL_INSERTS_IGDS_1) #By default we explode dimension elements into its pieces DEFAULT_MACRO EXPLODE_DIMENSION_ELEM_IGDS_1 yes GUI CHOICE EXPLODE_DIMENSION_ELEM_IGDS_1 YES%NO Drop Dimensions: IGDS_1_EXPLODE_DIMENSION_ELEM $(EXPLODE_DIMENSION_ELEM_IGDS_1) #By default we don't read reference files DEFAULT_MACRO READ_XREF_FILES_IGDS_1 no GUI CHOICE READ_XREF_FILES_IGDS_1 YES%NO Read Reference Files: IGDS_1_READ_XREF_FILES $(READ_XREF_FILES_IGDS_1) #By default we use xref's parent model when reading reference files DEFAULT_MACRO USE_XREF_PARENT_MODEL_IGDS_1 no GUI CHOICE USE_XREF_PARENT_MODEL_IGDS_1 YES%NO Use Reference's Parent MODEL: IGDS_1_USE_XREF_PARENT_MODEL $(USE_XREF_PARENT_MODEL_IGDS_1) # ============================================================================ # Indicate if we are to use level names or level numbers as the feature type # This is something that is only set when a mapping file or workspace header # is originally generated. It should not be modified afterwards. IGDS_1_USE_LEVEL_NAMES no # ============================================================================ # This pipeline is used to break multi_text into regular text features and # also makes the feature type be the element type -- after it is looked # up in a table -- and also saves the level in an attribute called igds_level IGDS_1_PIPELINE "$(FME_HOME)/pipeline/designGeom_read.fmi" DEFAULT_MACRO _UOR_SCALE_IGDS_1 GUI OPTIONAL FLOAT _UOR_SCALE_IGDS_1 UOR to FME Feature Coordinate Units scale factor: IGDS_1_UOR_SCALE $(_UOR_SCALE_IGDS_1) DEFAULT_MACRO _UORS_PER_SUB_IGDS_1 GUI OPTIONAL FLOAT _UORS_PER_SUB_IGDS_1 UORS PER SUB UNIT: IGDS_1_UORS_PER_SUB $(_UORS_PER_SUB_IGDS_1) DEFAULT_MACRO _SUBS_PER_MASTER_IGDS_1 GUI OPTIONAL FLOAT _SUBS_PER_MASTER_IGDS_1 SUBS PER MASTER UNIT: IGDS_1_SUBS_PER_MASTER $(_SUBS_PER_MASTER_IGDS_1) DEFAULT_MACRO _UOR_GLOBAL_ORIGIN_X_IGDS_1 GUI OPTIONAL FLOAT _UOR_GLOBAL_ORIGIN_X_IGDS_1 UOR X Global Origin: IGDS_1_UOR_GLOBAL_ORIGIN_X $(_UOR_GLOBAL_ORIGIN_X_IGDS_1) DEFAULT_MACRO _UOR_GLOBAL_ORIGIN_Y_IGDS_1 GUI OPTIONAL FLOAT _UOR_GLOBAL_ORIGIN_Y_IGDS_1 UOR Y Global Origin: IGDS_1_UOR_GLOBAL_ORIGIN_Y $(_UOR_GLOBAL_ORIGIN_Y_IGDS_1) DEFAULT_MACRO _UOR_GLOBAL_ORIGIN_Z_IGDS_1 GUI OPTIONAL FLOAT _UOR_GLOBAL_ORIGIN_Z_IGDS_1 UOR Z Global Origin: IGDS_1_UOR_GLOBAL_ORIGIN_Z $(_UOR_GLOBAL_ORIGIN_Z_IGDS_1) # Allow complex chains to be returned as single feature. If this is turned on, # special handling must be done with the feature returned because for each complex # chain encountered, an aggregate with several parts of potentially different # geometries may be returned. The Workbench cannot handle this currently, so a # custom mapping file would be required. # DEFAULT_MACRO _AGGREGATE_COMPLEX_CHAINS NO # GUI OPTIONAL CHOICE _AGGREGATE_COMPLEX_CHAINS YES%NO Handle Complex Chains as Single Elements: # IGDS_AGGREGATE_COMPLEX_CHAINS $(_AGGREGATE_COMPLEX_CHAINS_IGDS_1) # Should we preserve the curves? #__ #DEFAULT_MACRO _PRESERVE_CURVES YES #__ #GUI OPTIONAL CHOICE _PRESERVE_CURVES YES%NO Preserve curves: #__ #IGDS_PRESERVE_CURVES $(_PRESERVE_CURVES_IGDS_1) #__ # Value of elevation shift factor DEFAULT_MACRO _ELEVATION_SHIFT_FACTOR_IGDS_1 GUI OPTIONAL FLOAT _ELEVATION_SHIFT_FACTOR_IGDS_1 Elevation Shift Factor: IGDS_1_ELEVATION_SHIFT_FACTOR $(_ELEVATION_SHIFT_FACTOR_IGDS_1) # Value of number of curve vertices DEFAULT_MACRO _CURVE_VERTICES_IGDS_1 GUI OPTIONAL INTEGER _CURVE_VERTICES_IGDS_1 Number of interpolated curve vertices: IGDS_1_CURVE_VERTICES $(_CURVE_VERTICES_IGDS_1) # Should we strip off tag information DEFAULT_MACRO _TRIM_DOWN_TAGS_IGDS_1 NO GUI OPTIONAL CHOICE _TRIM_DOWN_TAGS_IGDS_1 YES%NO Strip off Tag Information: IGDS_1_TRIM_DOWN_TAGS $(_TRIM_DOWN_TAGS_IGDS_1) #! END_SOURCE_HEADER #! START_WB_HEADER DEFAULT_MACRO SourceDataset INCLUDE [ if {{$(SourceDataset)} != ""} { \ puts {DEFAULT_MACRO SourceDataset_IGDS_1 $(SourceDataset)} \ } ] #! END_WB_HEADER #! START_SOURCE_HEADER IGDS IGDS_1 DEFAULT_MACRO SourceDataset_IGDS_1 $(SourceDataset_IGDS) IGDS_1_DATASET "$(SourceDataset_IGDS_1)" #! END_SOURCE_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) 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 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 external_attributes ACAD_1_DEFAULT_ATTR_STORAGE "$(ACAD_OUT_DEFAULT_ATTR_STORAGE_ACAD_1)" GUI RADIO_GROUP ACAD_OUT_DEFAULT_ATTR_STORAGE_ACAD_1 1%"Extended Entity Data",extended_entity_data%Inserts,insert_attributes%Ignore,external_attributes Attribute Output # ============================================================================ # The version of AutoCAD file which is to be output. DEFAULT_MACRO ACAD_OUT_VERSION_ACAD_1 Release2007 ACAD_1_VERSION "$(ACAD_OUT_VERSION_ACAD_1)" GUI CHOICE ACAD_OUT_VERSION_ACAD_1 Release9%Release10%Release11%Release12%Release13%Release14%Release2000%Release2004%Release2007%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: # ============================================================================ # Bring in macros for all the autocad colors INCLUDE "$(FME_HOME)/metafile/autocadColors.fmi" # ============================================================================ DEFAULT_MACRO _ACADDEFAULTApplication_ACAD_1 GUI OPTIONAL TEXT _ACADDEFAULTApplication_ACAD_1 Default Application Name: ACAD_1_DEFAULT_APPLICATION $(_ACADDEFAULTApplication_ACAD_1) # ============================================================================ DEFAULT_MACRO _ACADDefinedAttrsOnly_ACAD_1 yes GUI CHOICE _ACADDefinedAttrsOnly_ACAD_1 yes%no Output Defined Attributes Only: ACAD_1_OUTPUT_DEFINED_ATTRS_ONLY $(_ACADDefinedAttrsOnly_ACAD_1) # ============================================================================ DEFAULT_MACRO ACAD_OUT_SHAPE_DIRECTORY_ACAD_1 GUI OPTIONAL DIRNAME ACAD_OUT_SHAPE_DIRECTORY_ACAD_1 AutoCAD Shape File Directory: ACAD_1_SHAPE_DIRECTORY $(ACAD_OUT_SHAPE_DIRECTORY_ACAD_1) # ============================================================================ DEFAULT_MACRO ACAD_OUT_CREATED_BLOCK_NAME_PREFIX_ACAD_1 GUI OPTIONAL TEXT ACAD_OUT_CREATED_BLOCK_NAME_PREFIX_ACAD_1 Created Block Name Prefix: ACAD_1_CREATED_BLOCK_NAME_PREFIX $(ACAD_OUT_CREATED_BLOCK_NAME_PREFIX_ACAD_1) # ============================================================================ DEFAULT_MACRO ACAD_OUT_AUDIT_AND_FIX_ACAD_1 yes GUI CHOICE ACAD_OUT_AUDIT_AND_FIX_ACAD_1 yes%no Audit And Fix Errors: ACAD_1_AUDIT_AND_FIX $(ACAD_OUT_AUDIT_AND_FIX_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 ACAD_OUT_COORD_STORAGE None%"External PRJ"%"Internal ESRI WKT"%Both Coordinate System Storage: DEFAULT_MACRO ACAD_OUT_COORD_STORAGE_ACAD_1 None GUI CHOICE ACAD_OUT_COORD_STORAGE_ACAD_1 NONE%EXTERNAL_PRJ%INTERNAL_WKT%EXTERNAL_AND_INTERNAL Coordinate System Storage: ACAD_1_COORDINATE_SYSTEM_STORAGE $(ACAD_OUT_COORD_STORAGE_ACAD_1) # ============================================================================ DEFAULT_MACRO ACAD_APPEND_TO_TEMPLATEFILE_ACAD_1 no GUI CHOICE ACAD_APPEND_TO_TEMPLATEFILE_ACAD_1 yes%no Append Data to Template File: ACAD_1_APPEND_TO_TEMPLATEFILE $(ACAD_APPEND_TO_TEMPLATEFILE_ACAD_1) # ============================================================================ DEFAULT_MACRO ACAD_USE_BLOCK_NAME_FOR_CREATION_ACAD_1 yes GUI CHOICE ACAD_USE_BLOCK_NAME_FOR_CREATION_ACAD_1 yes%no Use the block name to create blocks: ACAD_1_USE_BLOCK_NAME_FOR_CREATION $(ACAD_USE_BLOCK_NAME_FOR_CREATION_ACAD_1) ACAD_1_DATASET "$(DestDataset_ACAD_1)" #! END_DEST_HEADER #! END_HEADER LOG_FILENAME "$(FME_MF_DIR)CellsToBlocks.log" LOG_APPEND NO LOG_MAX_FEATURES 200 LOG_MAX_RECORDED_FEATURES 200 FME_REPROJECTION_ENGINE FME FME_GEOMETRY_HANDLING Enhanced FME_STROKE_MAX_DEVIATION 0 LOG_FILTER_MASK -1 DEFAULT_MACRO DATASET_KEYWORD_IGDS_1 IGDS_1 DEFAULT_MACRO DATASET_KEYWORD_ACAD_1 ACAD_1 # ------------------------------------------------------------------------- IGDS_1_READER_META_ATTRIBUTES fme_feature_type # ------------------------------------------------------------------------- MULTI_READER_CONTINUE_ON_READER_FAILURE No # ------------------------------------------------------------------------- MACRO WORKSPACE_NAME CellsToBlocks MACRO FME_VIEWER_APP fmeview # ------------------------------------------------------------------------- Lookup ___KnownFeatureTypes___ multi_text yes cells yes text yes solids yes ellipses yes arcs yes lines yes curves yes text_nodes yes points yes shapes yes "" no # ------------------------------------------------------------------------- FACTORY_DEF * TestFactory FACTORY_NAME "Unexpected Input Remover" INPUT FEATURE_TYPE * TEST @Lookup(___KnownFeatureTypes___,@FeatureType()) == yes OUTPUT PASSED FEATURE_TYPE * # ------------------------------------------------------------------------- FACTORY_DEF * TeeFactory FACTORY_NAME "Source -> Generic" INPUT FEATURE_TYPE * OUTPUT FEATURE_TYPE * @Transform(IGDS,FME_GENERIC,PRESERVE_GEOMETRY) DEFAULT_MACRO WB_CURRENT_CONTEXT # ------------------------------------------------------------------------- FACTORY_DEF * TestFactory FACTORY_NAME Tester INPUT FEATURE_TYPE arcs INPUT FEATURE_TYPE cells INPUT FEATURE_TYPE curves INPUT FEATURE_TYPE ellipses INPUT FEATURE_TYPE lines INPUT FEATURE_TYPE multi_text INPUT FEATURE_TYPE points INPUT FEATURE_TYPE shapes INPUT FEATURE_TYPE solids INPUT FEATURE_TYPE text INPUT FEATURE_TYPE text_nodes TEST @Value(igds_cell_name) != "" BOOLEAN_OPERATOR OR OUTPUT PASSED FEATURE_TYPE Tester_PASSED FACTORY_DEF * TeeFactory FACTORY_NAME "Tester PASSED Splitter" INPUT FEATURE_TYPE Tester_PASSED OUTPUT FEATURE_TYPE Tester_PASSED_0 OUTPUT FEATURE_TYPE Tester_PASSED_1 # ------------------------------------------------------------------------- FACTORY_DEF * TeeFactory FACTORY_NAME DuplicateRemover_Match_Value_Extractor INPUT FEATURE_TYPE Tester_PASSED_0 OUTPUT FEATURE_TYPE ___TODUPTEST___ __DUPTOCHECK__ @Concatenate(___DuplicateRemover_,fme_attribute_name,"igds_cell_name") FACTORY_DEF * TestFactory FACTORY_NAME DuplicateRemover INPUT FEATURE_TYPE ___TODUPTEST___ TEST @Count(fme_attribute_name,__DUPTOCHECK__) > 0 OUTPUT FAILED FEATURE_TYPE DuplicateRemover_UNIQUE @Count(fme_attribute_name,__DUPTOCHECK__) @RemoveAttributes(__DUPTOCHECK__) # ------------------------------------------------------------------------- FACTORY_DEF * TeeFactory FACTORY_NAME AttributeKeeper INPUT FEATURE_TYPE DuplicateRemover_UNIQUE OUTPUT FEATURE_TYPE AttributeKeeper_OUTPUT @KeepAttributes(igds_cell_name,igds_cell_sequence_number,fme_regexp_match,^fme_) # ------------------------------------------------------------------------- FACTORY_DEF * ReferenceFactory FACTORY_NAME FeatureMerger INPUT REFERENCER FEATURE_TYPE Tester_PASSED_1 INPUT REFERENCEE FEATURE_TYPE AttributeKeeper_OUTPUT REFERENCE_INFO ATTRIBUTES REFERENCEE_FIELDS "igds_cell_sequence_number" REFERENCER_FIELDS "igds_cell_sequence_number" MERGE_ATTRIBUTES Yes MANAGE_FME_TYPE Yes PROCESS_DUPLICATE_REFERENCEES No BUILD_INCOMPLETE_REFERENCERS No OUTPUT COMPLETE FEATURE_TYPE FeatureMerger_COMPLETE # ------------------------------------------------------------------------- Tcl2 proc NullAttributeReplacer_null_replacer {} { set attrs [split {igds_cell_insertion_z} {,}]; foreach attr $attrs { if {[FME_GetAttribute $attr] == {}} { FME_SetAttribute $attr [FME_DecodeTextOrAttr {0}] }; }; } FACTORY_DEF * TeeFactory FACTORY_NAME NullAttributeReplacer INPUT FEATURE_TYPE FeatureMerger_COMPLETE OUTPUT FEATURE_TYPE NullAttributeReplacer_OUTPUT @Tcl2("NullAttributeReplacer_null_replacer") # ------------------------------------------------------------------------- Tcl2 proc NullAttributeReplacer_2_null_replacer {} { set attrs [split {igds_cell_z_scale} {,}]; foreach attr $attrs { if {[FME_GetAttribute $attr] == {}} { FME_SetAttribute $attr [FME_DecodeTextOrAttr {1}] }; }; } FACTORY_DEF * TeeFactory FACTORY_NAME NullAttributeReplacer_2 INPUT FEATURE_TYPE NullAttributeReplacer_OUTPUT OUTPUT FEATURE_TYPE NullAttributeReplacer_2_OUTPUT @Tcl2("NullAttributeReplacer_2_null_replacer") # ------------------------------------------------------------------------- FACTORY_DEF * TeeFactory FACTORY_NAME EXPRESSIONEVALUATOR INPUT FEATURE_TYPE NullAttributeReplacer_2_OUTPUT OUTPUT FEATURE_TYPE EXPRESSIONEVALUATOR_OUTPUT Offset_X @Evaluate("0-@Value(igds_cell_insertion_x)") # ------------------------------------------------------------------------- FACTORY_DEF * TeeFactory FACTORY_NAME EXPRESSIONEVALUATOR_2 INPUT FEATURE_TYPE EXPRESSIONEVALUATOR_OUTPUT OUTPUT FEATURE_TYPE EXPRESSIONEVALUATOR_2_OUTPUT Offset_Y @Evaluate("0-@Value(igds_cell_insertion_y)") # ------------------------------------------------------------------------- FACTORY_DEF * TeeFactory FACTORY_NAME EXPRESSIONEVALUATOR_3 INPUT FEATURE_TYPE EXPRESSIONEVALUATOR_2_OUTPUT OUTPUT FEATURE_TYPE EXPRESSIONEVALUATOR_3_OUTPUT Offset_Z @Evaluate("0-@Value(igds_cell_insertion_z)") # ------------------------------------------------------------------------- FACTORY_DEF * TeeFactory FACTORY_NAME OFFSETTER INPUT FEATURE_TYPE EXPRESSIONEVALUATOR_3_OUTPUT OUTPUT FEATURE_TYPE OFFSETTER_OFFSET @Offset(@Value(Offset_X),@Value(Offset_Y),@Value(Offset_Z)) # ------------------------------------------------------------------------- FACTORY_DEF * TeeFactory FACTORY_NAME EXPRESSIONEVALUATOR_4 INPUT FEATURE_TYPE OFFSETTER_OFFSET OUTPUT FEATURE_TYPE EXPRESSIONEVALUATOR_4_OUTPUT Rotate @Evaluate("0-@Value(igds_rotation)") # ------------------------------------------------------------------------- FACTORY_DEF * TeeFactory FACTORY_NAME ROTATOR INPUT FEATURE_TYPE EXPRESSIONEVALUATOR_4_OUTPUT OUTPUT FEATURE_TYPE ROTATOR_ROTATED @Rotate2D(@Value(Rotate),0,0) # ------------------------------------------------------------------------- FACTORY_DEF * TeeFactory FACTORY_NAME EXPRESSIONEVALUATOR_5 INPUT FEATURE_TYPE ROTATOR_ROTATED OUTPUT FEATURE_TYPE EXPRESSIONEVALUATOR_5_OUTPUT Scale_X @Evaluate("1.0/@Value(igds_cell_x_scale)") # ------------------------------------------------------------------------- FACTORY_DEF * TeeFactory FACTORY_NAME EXPRESSIONEVALUATOR_6 INPUT FEATURE_TYPE EXPRESSIONEVALUATOR_5_OUTPUT OUTPUT FEATURE_TYPE EXPRESSIONEVALUATOR_6_OUTPUT Scale_Y @Evaluate("1.0/@Value(igds_cell_y_scale)") # ------------------------------------------------------------------------- FACTORY_DEF * TeeFactory FACTORY_NAME EXPRESSIONEVALUATOR_7 INPUT FEATURE_TYPE EXPRESSIONEVALUATOR_6_OUTPUT OUTPUT FEATURE_TYPE EXPRESSIONEVALUATOR_7_OUTPUT Scale_Z @Evaluate("1.0/@Value(igds_cell_z_scale)") # ------------------------------------------------------------------------- FACTORY_DEF * TeeFactory FACTORY_NAME SCALER INPUT FEATURE_TYPE EXPRESSIONEVALUATOR_7_OUTPUT OUTPUT FEATURE_TYPE SCALER_SCALED @Scale(@Value(Scale_X),@Value(Scale_Y),1) # ------------------------------------------------------------------------- DEFAULT_MACRO Aggregator_BREAK_ATTR INCLUDE [if {"No" == "Yes"} {puts "MACRO Aggregator_BREAK_ATTR BREAK_BEFORE_FIELD_CHANGE igds_cell_name igds_cell_sequence_number" }] FACTORY_DEF * AggregateFactory FACTORY_NAME Aggregator INPUT FEATURE_TYPE SCALER_SCALED GROUP_BY igds_cell_name igds_cell_sequence_number $(Aggregator_BREAK_ATTR) ACCUMULATE_ATTRIBUTES Yes OUTPUT AGGREGATE FEATURE_TYPE Aggregator_AGGREGATE # ------------------------------------------------------------------------- FACTORY_DEF * TeeFactory FACTORY_NAME AttributeCopier INPUT FEATURE_TYPE Aggregator_AGGREGATE OUTPUT FEATURE_TYPE AttributeCopier_OUTPUT @CopyAttributes(autocad_block_name,igds_cell_name) # ------------------------------------------------------------------------- FACTORY_DEF * TeeFactory FACTORY_NAME AttributeCreator INPUT FEATURE_TYPE AttributeCopier_OUTPUT OUTPUT FEATURE_TYPE AttributeCreator_OUTPUT @SupplyAttributes(ENCODED,autocad_block_insert_x,0,autocad_block_insert_y,0,autocad_block_insert_z,0) # ------------------------------------------------------------------------- FACTORY_DEF * TeeFactory FACTORY_NAME "AttributeCreator_OUTPUT -> 0 Correlator" INPUT FEATURE_TYPE AttributeCreator_OUTPUT OUTPUT FEATURE_TYPE __GO_TO_FINAL_OUTPUT_ROUTER__ @Transform(FME_GENERIC,ACAD) @SupplyAttributes(__wb_out_feat_type__,0) # ------------------------------------------------------------------------- FACTORY_DEF * TestFactory FACTORY_NAME "Final Output Feature Type Router" INPUT FEATURE_TYPE * TEST @Value(__wb_out_feat_type__) != "" OUTPUT PASSED FEATURE_TYPE * @FeatureType(@Value(__wb_out_feat_type__)) OUTPUT FAILED FEATURE_TYPE __nuke_me__ @Tcl2("FME_StatMessage 818059 {@Value(fme_template_feature_type)} 818060 818061 fme_warn") # ------------------------------------------------------------------------- FACTORY_DEF * TeeFactory FACTORY_NAME "Final Output Nuker" INPUT FEATURE_TYPE __nuke_me__ # ------------------------------------------------------------------------- ACAD_1_DEF 0 autocad_color 10 autocad_linetype CONTINUOUS