Hello there,
I currently work between GIS, Civil 3D and 3DS Max. Civil 3D works as the exchange point. I import shape files into a georeferenced Civil 3D using mapimport. I thn export parts of the dwg to 3ds Max. The 3ds Max file has it's 0,0 at a known geographic location. i.e. in Max 0,0 = lat lon -37.7072, 144.967.
Ideally I would be able to make the Civil 3D file 'believe' that it's world UCS has 0,0 at these same co-ordinates so that I can import and export linework between Civil and 3dsMax. I can partially achieve this by changing to a ucs that uses the lat lon point as the base and then wblocking out the desired parts - but what I really want is for the World UCS to be at my lat lon point as this would be a much cleaner solution.
Does anyone know if there is a way to do this? I know I can change the base point - but I was hoping for a solution that is a little cleaner or more elegant.....
NP,
Lemme see if I understand. You want to be at AutoCAD 0,0 when your Coordinate System is 320640-ish,5824750-ish?
Dave
Dave Stoll
Las Vegas, Nevada
If your lat/long is -37.7072, 144.967 then you are south of the equator (you provided a negative latitude). Your 'high value' longitude indicates you are circumventing the equator to a location that's almost on the opposite side of the prime meridian (almost halfway around the world). I'm guessing your site is in, or near, Australia.
You are able to move back and forth between ArcGIS and Civil3D because both programs can understand coordinate systems and both are capable of transforming between geographic coords and projected coords. Moving back and forth between ArcGIS (or C3D) and 3DSMax may seem like a good good idea but you must exercise caution when doing so. The most important thing when moving between programs are the UNITS of the coordinate system.
While both ArcGIS and C3D can understand projected x,y's used in coodinate systems that use meters, they can also understand geographic lat/long coordinates that use degrees. Both programs are capable of transforming from meters to degrees and vice-versa. This means when you assign a coordinate system that uses meters to C3D modelspace, then input data such as lat/long coordinates in degrees, C3D will calculate the given lat/longs coords to the equivalent x,y coords. Civil3D is essentially transforming a known point from degrees to meters.
Q: Will the coordinates -37.7072, 144.967 and the coordinates -37.7072, 144.967 pinpoint the exact same spot on Earth?
A: Maybe, maybe not. It all depends on the units. If one pair of coords is lat/long degrees and the other pair in meters, then no. Give identical pairs of numbers, a lat/long point will not be located at the same spot as an x,y point.
Q: Can Civil3D distinguish between lat/long coordinates and x,y coordintes?
A: Yes, it can, but only if you know how to input, or feed, the coordinate data into C3D.
Q: Can 3DSMax distinguish between lat/long coordintes and x,y coordinates?
A: AFAIK, no. The program doesn't understand lat/long degrees. If you give it 144.967 degrees it will treat it as 144.967 meters.
<<.....but what I really want is for the World UCS to be at my lat lon point as this would be a much cleaner solution.>>
In C3D, ArcGIS and all other geospatial capable programs, the Lat/Long coord system, such as LL84, is a 'World' coordinate system (yes, LL 84 is a global coord system) that uses units of degrees, not meters. In 3DSMax, you must use meters (or mm) because 3DSMax isn't capable of understanding lat/long degrees.
You need to convert your lat/long coords into your corresponding MGA grid which uses meters. Once converted, you can then use those coords in 3DSMax. The actual conversion from degrees to meters must occur prior to doing your work in 3DSMax. Yes, the numbers in the coordinate system will be large, but they will be geospatially sound and exporting to a format understood by C3D will now be accurate.
Chicagolooper
That's a very good explanation of how things can happen with coordinates. More detailed than I could write without a lot of thought. The only thing I thought might be missing (or I may have missed it) was that the Lat/Long system is a spherical system. What we work in with Civil 3D is a rectilinear system. All grids are rectangles and when you add elevation you get cubes. When you add elevation to Lat/Longs you get pyramids truncated by spheres.
My point is that the transformation from spherical to rectilinear is just that. A transformation. A projection. Distances will be different. Working in a small area you won't see much of that.
If you do a lot of transformations, back and forth multiple times. I would think you'd start to see errors cause by rounding.
I'm not much of an expert. I don't do it very much. But I find it fascinating to think about.
We live and work on a spinning spheroid circling a star that's moving through a galaxy, etc.
Allen Jessup
CAD Manager - Designer
Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.
And to think that I just purchased a 2 year trip on the Enterprise. I knew I should not have used Bitcoins.
Bill
The UCS is the answer. It's a great and powerful tool... if you understand it. If you don't understand it you may think your files will corrupt, disappear or worse. 🙂
John Mayo
NP,
"If I set the map point
at 0,0 before bringing in a shape file, the background map behaves as
desired, but thrn when i import a shape file it is in the wrong place (it doesn't know about the transpose)."
Got just the thing for you. You can create a Custom Projection with an Affine Post-Processor for either Transverse Mercator or Lambert Conformal Conic Projections. Translate, Rotate, Scale, the works.
Alan Gilbert shows basics >>>Here<<<. For a Deep Dive look >>>Here<<<.
You only other option is the Transformation Tab, which breaks Bing and most Map Commands.
Dave
Dave Stoll
Las Vegas, Nevada
NP,
Attached, please find 2 drawings, one in MGA-55 and a Custom Coordinate System that should be what you're looking for. Also included is a Shapefile of Moreland-North and a Point Shapefile of -37.7072,144.967 Origin.
If you also need to Rotate and Scale, that's no problem, but you'll need 3 matching points to get parameters.
Dave
Dave Stoll
Las Vegas, Nevada
@nano_langenheim wrote:
<<Civil also allows the placing of a point through the geolocation tools in
lat long format and to specify the datum those coordinates come from (I may
be doing this incorrectly).>>
Contrary, to popular belief, the geolocation tool is tricky to use and not a good way to assign your coordinate system to modelspace. Here's an easier way:
What do the steps 1 through 3 mean? It means your drawing units are in meters and your x,y coordinates are accurately referenced against the MGA grid. Why meters? Because your AutoCAD drawing units inherit the same units as the assigned coordinate system. In your case, the Map Grid of Australia (MGA), uses meters.
Despite your assigned coordinate system using meters, you can, if you know how, input lat/long degrees in Civil3D. C3D will calculate the new x,y coordinate in meters from the original lat/long degrees. This calculation and geospatial position taken from a global system using Lat/Longs degrees to your modelspace’s coordinate system that’s using meters is called a Transformation.
If you must do design work in 3DSMax, convert or transform all your Lat/Long degrees into MGA grid meters using Civil3D or another program capable of undertaking transformations. Do this first, before doing your 3DSMax design work. Don’t rely on 3DSMax to perform your coordinate transformations. It doesn’t understand Lat/Long geometry. Once transformed, you can move back and forth between C3D and 3DSMax because the units, which are meters, are understood in both programs and this makes exports and imports accurate.
One final note, if you design in 3DSMax you must draw in meters, not mm and not cm. (You must force 3DSMax to adopt, or inherit, the ‘drawing units’ of the MGA grid.) So, when drawing in 3DSMax, 7mm must be entered as 0.007 and 7cm must be entered as 0.07. If you enter 7mm in 3DSMax simply as ‘7’ then it will be 7 meters when exported to Civil3D and not 0.007meters as you originally intended.
Chicagolooper
Thank you,
this is a very helpful addition and a good way to visualise how the transforms work between both types of coordinate systems.
Thank you -
I think this is correct. as this allows me to have a fake 'anchor' point. Essentially tricking 3ds Max to think the centre of of the world or the dataum is wherever I would like it to be (3ds Max does not cope well with a large workspace extent). What this makes me wonder though - is: People who are working with a 0,0 in the far distance in Autocad platforms must find this inconvenient for drawing surely. In the case where people are working in a way that requires both reoreferenced file import and run of the mill drafting, they must then need to do all that drafting using a user ucs potentially?
Thank you,
I will look at these - as I think this talks to the other problem I am having with the plugin I am using that allows shape file import into 3ds Max that anchors a given lat long (I think in reference to WGS84) to the 0,0 point in Max. When bringing in a shape file the plugin asks for a map projection - my shape file is already in a projected coordinate system (GDA94 /MGA55) - so as I understand it - I should not need any form of re-projection (This I may need to run past the plugin developer). My options for reprojection are mercartor (+pro), equidisatntcylindrical, mollweide (+pro), galsteriogeographic, lambert, behmann, Gall Peters, Kavraiskiy_7 (+pro), UTM manual (I can enter a UTM zone and central meridian for this one).
Thank you @Pointdump
This I imagine is likely to be the solution I am after- but I have always been a bit terrified of calculating projections (I'm a self taught GIS user and this can trip me up on fundamentals at times). I will try this out and see if I can get my head around it - but it will take me a while. Thanks again for also providing an example file, much appreciated.
Thank you @ChicagoLooper
I have followed the steps for georeferencing the drawing as you suggest. 3ds Max is, yes, only Cartesian - so this is why I have been bringing shape files into Civil 3D in order to have a file in which the units are meters and the coordinates cartesian.
Where I am having trouble lies within the limitations of 3ds Max to have geometry a great distance from the 0,0 point of the linework. To circumvent this problem I am looking for a way to give my linework a 'false' anchor point. I need to 'pretend' to 3ds Max that the centre of the world is where I anchor it to. So in this case - I know that if I search for -37.7072,144.967 on Google Maps, the specific point (that I wish to be the anchor) will be found. I can add this point to my georeferenced Civil 3d drawing using the 'mark position' tool under georeferencing.
It is the next step that is the headache (for which I am for the moment just making a user UCS and Wblocking out the bits of drawing) - I really would like to to be able to switch between the 'real' position of the datum (the red wheel) and this fake anchor point BUT I would like the fake anchor point to be my primary 'world point as this is where most of my drafting occurs.......
I think to do this @Pointdump has offered a solution ( though it is above my skill level at this point to test it). Or as a work around I can just change to user UCS - I just prefer to draw in world UCS where possible.
Thank you again for the details - immensely informative and greatly appreciated.
Can't find what you're looking for? Ask the community or share your knowledge.