March 02, 2007

Working with Text: Part 1

CAD Text

You may have heard it said that a boat is a hole in the ocean that you pour all your money into. I am of a small minority of people that can be pitied even by the average boat owner. I have a hobby of boat designing/building. At least with the normal boat owner, the boat does, or did at one time function as a boat, and with a little effort and maintenance will continue to function as such. However, I on-the-other-hand pour my money, and efforts into a boat that I spend 6 months constructing, sail for 40 minutes and then hack into pieces and rebuild for another 6 months. Sad if I think about it… I will think of something happier... like ArcGIS annotation! On second thought the hole in the ocean may be less dreary; too late I’m committed now.

Arguably one of the more confusing aspects of CAD interoperability in ArcGIS is the way text is handled. I get lots of questions related to the different ways text can be created, displayed, oriented and converted between CAD and GIS. This is compounded by the fact that CAD text is quite different than the various forms of ArcGIS annotation.

I guess its worthwhile defining some terms/concepts used by these two different technologies before I tackle some of the confusions caused primarily by these differences. Looks like another BLOG series…

CAD text is stored as an entity that has an insertion point, a text string and a number of text properties. These text properties are slightly different between AutoCAD and Microstation, but in contrast to GIS they are not really worth mentioning. One of the distinguishing properties of CAD TEXT is a text height. TEXT in CAD has a size in drawing units (unlike ArcGIS annotation). When you zoom in or out it is like any other object you see more or less of the same objects; closer or farther away; bigger or smaller. CAD text is an autonomous object that lives on its own… it is a TEXT object.

Another type of object printed on a CAD drawing could be AutoCAD block attribute or a Microstation tag. These objects unlike CAD Text entities are normally associated with something else. In the case of the AutoCAD block attributes they belong to an instance of an AutoCAD block, as a sub-entity of the block insert. To confuse the issue AutoCAD blocks instances (inserts) can contain actual text objects as sub-entities too. However, the block attribute is like a variable whose text string you can modify. The block attribute has a logical name. Because of this ArcGIS treats the block attribute like a feature attribute in ArcGIS CAD feature classes (But, that’s another topic.). In ArcGIS 9.2 block attributes are also considered an ArcGIS CAD Annotation feature and have their own insertion point and text properties, just like CAD text.

Microstation has a similar, but more powerful object called an element tag. A tag is an object that similar to a piece of text has size, font and justification properties. Similar to the AutoCAD block attributes it can be associated with another gemetric object. It also has a logical name and its text string can be modified as a variable or attribute in CAD. Different than the AutoCAD block attribute Microstation tags can belong to any other Microstation element geometry, including polygons and linear features (AutoCAD block attributes are really only associated with what could be interpreted as point features). In ArcGIS 9.2 Microstation tag elements are represented both as attributes of the CAD features they are associated with and as independent ArcGIS CAD annotation features.

Next, I’ll discuss a little more about the ArcGIS flipside…


Blogger Dave & Rene said...

i was given a autocad file that contains polygon boundries with text placed inside the polygons as lables. is there a way to bring in this cad file to arc info 9.2 and add a attrabute in the data table for each polygon with the autocad text string

12:03 PM  
Blogger Dave & Rene said...

i was given a autocad file that contains polygon boundries with text placed inside the polygons as lables. is there a way to bring in this cad file to arc info 9.2 and add a attrabute in the data table for each polygon with the autocad text string

12:03 PM  
Blogger Don Kuehne said...

There are three different ways to do that. One is the ArcInfo [FEATURE TO POLYGON] GP tool that can take as input a linear network of polygon boundaries (can just be lines without redundant boundaries), secondly use a spatial join in the UI of ArcMap, or lastly use the [SPATIAL JOIN] GP tool (both Spatial Join methods require that the CAD polygons be true closed polygons.)

There is actually a fourth way using the INTERSECT or IDENTIFY tools with a table JOIN... but that is old school.

10:42 AM  
Anonymous Peter said...

Hello Don

I see that you have been dealing with software clashes.
I am a Naval Architect and have been experiencing problems getting my nested Microstation files into the cutters software. The problems are that the cutters software appears to be changing the end of line positions, thus creating a gap in the corners, (sometimes up to 100mm). You can imagine the result when the cutter finishes on one line, then bridges across to another. Being boat shapes and conically developed, you can under stand that most of the lines are b-spline lines. When I run the Microstation Data Clean up to high light the gaps, 2/3 of the parts get high lighted, but when you zoom in on all the corners of the part they are joined. I have found random ones, (spline lines joining each other) where you zoom into the maximum, there is a gap. I have found that I cannot move the line to join up the corner again. Out of all this, the parts still join up as a complex chain and project in 3D. Got any tips or idea's and is this part of the polygon boundaries issue.
Regards Peter Booth

3:07 PM  
Blogger Don Kuehne said...

There may be problem with coordinate precision. In Microstation there is a concept of a design cube that defines how coordinate storage will be utilized. In older versions of Microstation coordinates were stored as single precision. To overcome the problem with storing really big numbers or very small ones, you can define and offset value as well as specifying how small a difference between numbers you are concerned about. Although Microstation is no longer single precision the design cube and resolution parameters are still used. This might be part of the problem. Also there is a good chance that the conversion math from one software to another is rounding, poorly or has a slightly different spline algorithm. If you have Microstation you might try converting it to a .DWG or .DXF file before converting it.

You might have better success in Microstation’s conversion to another format than others conversion of Microstation. I am assuming the cutter software is some CAD/CAM thing?

3:20 PM  

Post a Comment

<< Home

FREE hit counter and Internet traffic statistics from