Надстройка Visio находит строку «Имя геометрии»C#

Место общения программистов C#
Ответить
Anonymous
 Надстройка Visio находит строку «Имя геометрии»

Сообщение Anonymous »

Я создал надстройку для Visio, которая извлекает информацию из фигур Visio в файл json, чтобы я мог воссоздавать рисунки Visio в других приложениях. Сейчас я работаю над расширением, чтобы получить больше, чем прямые линии, поэтому пытаюсь получить доступ к свойству Name геометрии фигуры.

Изображение


Я могу получить доступ к столбцам X и Y с помощью следующего кода:

Код: Выделить всё

var offsetX = shape.CellsSRC[s, r, (short)Visio.VisCellIndices.visX].ResultIU;
var offsetY = shape.CellsSRC[s, r, (short)Visio.VisCellIndices.visY].ResultIU;
Кажется, я не могу понять, как найти столбец «Имя» в данных Geometry1. Например, я хочу получить «RelLineTo» в качестве вывода, чтобы знать, например, в других программах рисовать прямую линию или эллипс.

ОБНОВЛЕНИЕ (фрагмент кода о том, как я пытаюсь перевести предложение Джона:

Код: Выделить всё

var firstComponent = (short)Visio.VisSectionIndices.visSectionFirstComponent;
var selection = Globals.ThisAddIn.Application.ActivePage.CreateSelection(VisSelectionTypes.visSelTypeByLayer, VisSelectMode.visSelModeSkipSuper, Globals.ThisAddIn.Application.ActivePage.Layers.ItemU[areaLayer]);
foreach (Visio.Shape shape in selection)
{
for (short s = firstComponent; s < firstComponent + shape.GeometryCount; s++)
{
var geoSection = shape.Section[s];
for (short r = 1; r < geoSection.Count - 1; r++)  // First and last point is always the same
{
var pointType = shape.RowType[s, r];
var pointTyp = Enum.GetName(typeof(Visio.VisRowTags),pointType);
}
}
}
Это код, который я использую для поиска всех моих значений X и Y, кроме последнего бита с помощью var pointType/pointTyp. Было бы логично, если бы я мог получить информацию о строке из одного и того же цикла for, не так ли? Не могу

Подробнее здесь: https://stackoverflow.com/questions/521 ... ometry-row
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»