Skip to main content

I have a couple of thousands of DWG files. Those have object data attributes. I need to extraxt that information. Then using AutoCAD Map 3D Object Data reader, it crashes on some files and stops reading other files (see the attached error message). Then using basic AutoCAD DWG/DXF reader – everything's fine, no crashes or skipped files, but no object data info are retrieved.

Maybe it is possible to skip reading bad DWGs and continue to read the other ones with Map 3D reader? Any thoughts on that would be helpful.

I think you can do this by changing the "Rejected Feature Handling" parameter?

NavigationPane

RejectedFeatureHandlingParameter


I think you can do this by changing the "Rejected Feature Handling" parameter?

NavigationPane

RejectedFeatureHandlingParameter

This method doesn't work in this case. Ignore Failed Readers doesn't work either. Reader still crashes.


Have you tried to use FeatureReader? It may work if you put something on the rejected port, specially if you create a feature by file with the reader Directory and File Pathnames before the FeatureReader.


This method doesn't work in this case. Ignore Failed Readers doesn't work either. Reader still crashes.

You could use a Workspacerunner.

  • Create a child workspace with a Autodesk AutoCAD Map 3D Object Data FeatureReader . Create a User Parameter for the dataset.
  • Create a parent workspace with a Directory and File Pathnames FeatureReader, scanning the input directory for files and send them one by one to the child workspace using the workspacerunner. Send the file path to the User Parameter.

When a DWG fails the workspace, it will appear on the WorkspaceRunner's Failed outputport.


This method doesn't work in this case. Ignore Failed Readers doesn't work either. Reader still crashes.

Added 2019.1 template demonstrating this.

 


This method doesn't work in this case. Ignore Failed Readers doesn't work either. Reader still crashes.

But how to expose all attributes with FeatureReader on <Generic> port in Child workspace if I don't know the attribute names?


This method doesn't work in this case. Ignore Failed Readers doesn't work either. Reader still crashes.

dynamic writing would be the easiest.


This method doesn't work in this case. Ignore Failed Readers doesn't work either. Reader still crashes.

Ah, this is a common question when trying to dynamically process large datasets :-)

The big question is, what do you want to do with these attributes?

  • If you want to write these to another dataset, for example an Excel file, you can easily do this in the Dynamic way. Let workbench create ExcelFiles with the same name as the CadFiles, create all attributes in Excel as they were in Cad.
  • If you want to do something with these attributes, like calculations, you need to know them before you process them. The workspace can't decide if you want to reformat a random date field, right?

This method doesn't work in this case. Ignore Failed Readers doesn't work either. Reader still crashes.

How child workspace should look like? I need to write all the DWG data to GDB feature classes, particularly points, lines and labels with fme_text_string attribute.


Reply