Issue with Map 3D's Data Connector not using elevation data

Hi all,

Data Connector doesn’t seem to read directly the elevation data (Z value) in connected 3D objects.

Wasn’t sure if this an error for the debug team, a setting that I’ve missed on my end or an idea that I need to submit to the developers team.

Context:
I’m currently mixing Map 3D database connection capabilities with Dynamo for Civil 3D to rebuild underground pipe networks. Dynamo can work through Data Connector via the C3DToolkit to read the geometry and tabular data of GIS objects and create Civil 3D objects through attribute/value mapping.

Though I’m using a SQLITE, but I’ve tested SHP and SDF files and have the same issue: in the read geometry, only X and Y coordinates passes through the Data Connector, no Z values. In every other GIS softwares I’ve used this data with, imbedded Z values are read and applied, but not through Map 3D’s Data Connector.

You can manually create and push 3D objects through the data connector, but whatever Z values it already has is not available, making it hard to properly place underground infrastructures (like pipes and manholes).

Workaround:
Via using the MAPIMPORT command to import my SQLITE file, the imbedded elevation data is applied to the created AutoCAD objects.

Dynamo works as easily with the AutoCAD objects as with the Map Feature objects (read through the Data Connector), except that those AutoCAD objects need to be discarded (being temporarily useful) and are completely disconnected to the actual database once they are imported. Plus, a user you can easily miss a setting while MAPIMPORTing their data, making this workaround a bit less efficient than what I would normally expect through the Data Connector.

You can probably see why I would prefer to work with the Data Connector, especially with his capacities to connect to remote databases (compared to MAPIMPORT that can only connect to locally available GIS files).

If you think it’s relevant to make Autodesk aware of this issue, I’ve already posted this on their Map 3D forum and you can probably help me push this up to them:
https://forums.autodesk.com/t5/autocad-map-3d-forum/data-connector-not-using-elevation-data/td-p/10996785

Thanks in advance!

1 Like

Maxime,

The data connector for Map 3D is unable to write to and update feature classes with Z values enabled and is unable to use Z values built into those feature classes. (Although it doesn’t say this anywhere and the software provides no warnings when doing so!) I just had to figure that out through pain. You would have to tabulate the Z values to utilize them somehow.

I understand your concerns with using the MAPIMPORT command instead of the data connector as MAPIMPORT does not allow for a dynamic connection between the software. It brings in a static version of the files at that time. This means if updates are made to the feature classes in a GIS software, then you will have to re-run the whole MAPIMPORT process for all of your feature classes back into AutoCAD. What a pain!

Despite this pain, I still would not recommend using the data connector. The data connector is clunky and does not perform well. The MAPFEATURECHECKIN command will act as if it’s working, but no updates will be sent to the FileGeodatabases if anyone else has GIS open and is reading the files (I.E. Schema Lock) and of course there will be no schema lock warning to tell you that. GIS and AutoCAD will then get out of sync and your work will not be saved, and you will have no idea until you go to check your work in a GIS application (besides Map 3D).

I would also not expect much in the way of updates for Map 3D. The support and development is extremely small compared to other Autodesk products and Autodesk and ESRI have been forming partnerships over the last few years where they are trying to better integrate their software together, rather than have Map 3D for AutoCAD/C3D.

Although you cannot have a dynamic connection using the MAPIMPORT and MAPEXPORT commands. That is what I use to maintain all of my feature classes in C3D rather than ArcGIS Pro or similar GIS software. (This would not be efficient for organizations that have people updating the utility data in a GIS based software AND AutoCAD at the same time as the files would get out of sync, for ease of use, utility data would have to be exclusively updated and maintained in C3D). This isn’t an issue for me since I’m the only C3D and GIS Data author in my organization.

To streamline the MAPIMPORT/MAPEXPORT workflow I have used the arcpy module in python. First I MAPIMPORTed all of the feature classes from shapefiles and field mapped their attributes to a single object data table for POINTS and a single object data table for LINES. Then I conduct the updates to the object data in C3D. Whenever I want to update my GIS Featureclasses I export all of my lines to a shapefile and my points to a shapefile with their object data and layer exported as fields. Then I copy all of my geodatabases to a temporary folder (so that I can work on the geodatabases without worrying about schema lock - they will replace the previous geodatabases at the end of updates) Then I run a delete features/append command from a jupyter notebook for each feature class according to the C3D layer.

It takes a bit of time to set up but this has become an extremely efficient way for me to keep the City of Kelso’s Utility GIS databases updated throughout my and consultant’s improvement projects. I can’t imagine that this would be an efficient workflow if you had to connect to utility featureclasses from several organizations, each with their own schema; however, it works great for my needs.

I will share an updated version of the .py file here when I return to the office on Tuesday for your reference. For now here is a previous forum I posted my old script on. Note, if you don’t have an arcgis license you will be unable to use the ArcPy module.

I’m sure there would be a way to incorporate dynamo into my workflow; however, I have yet to find an application for it in my workflow.

2 Likes

Thanks Shaun for sharing your approach!
I see that we both have different strategies for a similar application. I doubted that Autodesk had a limited team on Map 3D, and I was unaware of the limitations that you pointed out on Data Connector.

I’m currently using FME (from Safe Software) to manage, update or extract data from external GIS databases, instead of using Map 3D to directly interact with them. Being from a consultant firm, I need something that’s easily adaptable to different data schemas and custom C3D templates (including custom pipe catalogs).

Dynamo serves me as a bridge to FME’s inability to write C3D objects directly (it can read them, though, and process the info straight into a database while restructuring/translating the data to specific schemas and standards). I filter specific data via FME and either drop that into a SQLITE file and process it via MAPIMPORT or directly process it in a DWG file with OD tables on my objects (it would limits human errors too).

If you are curious on how I process my stuff via Dynamo, we’ve included a ZIP file of our scripts in my AU presentation download section:
https://www.autodesk.com/autodesk-university/class/Underground-Utility-GIS-Features-Civil-3D-Pipe-Networks-Dynamo-2021

It this case, we were directly reading data through Data Connector, but we’ve adapted our scripts since we’ve found a few of it’s limitations.

Have a good one!

2 Likes

Yeah I’m not sure how limited of a team they have exactly. I’ve just seen a lot less support and updates for that application compared to others and have had my own issues with it (Perhaps with more time I could be convinced otherwise!).

Your workflow sounds really interesting, great work and I’d love to learn more! Thanks for sharing your ZIP file. I will be sure to download and check it out. Especially to see how you incorporated Dynamo. I’m always looking for ways to streamline my utility documentation, since I’m normally busy with improvement projects. I’ve been happy with my current workflow but like I said previously it is NOT easily adaptable.

Hopefully Autodesk adds support for Z values for your current workflow but I know I’ve discussed this issue with them a good while back. Since you’re looking to do pipes and manholes do you think you could add fields for Up Inverts, Down Inverts and RIM elevations and define the Up Invert and Down Invert ends for the pipe somehow so that all you need is the data table? I remember messing around with a pipe network generation tool in Civil 3D that used GIS data previously and I think it used those fields to generate the network.

Here is my current python script if anyone has access to the arcpy module and wants to reference my workflow.
UtilityProcessing-V2.py (42.6 KB)

1 Like