1 votos

La conversión de la anotación Multipart en Singlepart provoca un registro obsoleto

Al convertir una anotación multiparte vinculada a una característica en una sola parte, ya sea en el menú contextual dentro de ArcMap, o con la interfaz de ArcObjects, me quedo con una anotación que se convierte en algo obsoleto.

La única forma en que puedo arreglar esto es moviendo la anotación un poco, en este caso está en el modo de seguir la característica. Esto también hace que aparezcan los tiradores de rotación en las esquinas. También rellena el campo de ángulo en la clase de característica de la anotación.

La conversión a una anotación de una sola parte funciona sin errores. El problema se manifiesta cuando se intenta editar un campo como "Ángulo" en la featureclass de la anotación. Siempre me da el error "Ángulo no válido". Por defecto, tras la conversión, el campo de ángulo seguirá diciendo 0.

¿Existe algún método dentro de ArcObjects que realice el mismo tipo de acción que el movimiento de una anotación para "refrescarse" cuando se convierte en una parte única?

Fragmento de código relevante:

var annoFeature = feature as IAnnotationFeature2;
var element = annoFeature.Annotation;
((IMultiPartTextElement)element).ConvertToSinglePart();
feature.Store()

2voto

Chris Ballance Puntos 17329

Parece que el problema giraba en torno al hecho de que, a pesar de la conversión a una sola pieza, la anotación seguía teniendo una línea de base curva. Al convertir a "recta", ya sea a través del menú contextual en ArcMap o en ArcObjects, se corrige automáticamente el problema.

Para la posteridad, aquí está el fragmento que creé para imitar la funcionalidad de convertir a menú contextual directo.

var pointCollection = (IPointCollection)element.Geometry;
IPolyline polyline = new PolylineClass();
polyline.FromPoint = pointCollection.Point[0];
polyline.ToPoint = pointCollection.Point[pointCollection.PointCount - 1];

Sólo hay que establecer la geometría del elemento del símbolo en la polilínea recién creada.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X