у MgCoordinateSystemCategory есть методы AddCoordinateSystem и RemoveCoordinateSystem у MgCoordinateSystem есть GetCategories() Код: public static string CStoCategory() //string Category_name { MgCoordinateSystemFactory coordSysFactory = new MgCoordinateSystemFactory(); MgCoordinateSystemCatalog csCatalog = coordSysFactory.GetCatalog(); MgCoordinateSystemDictionary csDict = csCatalog.GetCoordinateSystemDictionary(); MgCoordinateSystemEnum csDictEnum = csDict.GetEnum(); int csCount = csDict.GetSize(); MgStringCollection csNames = csDictEnum.NextName(csCount); MgCoordinateSystem cs = null; string csName = null; bool csProtect; var cDict = csCatalog.GetCategoryDictionary().GetCategory("NewCategory"); //Перебираем словарь СК int i1 = 0; for (int i2 = 0; i2 < csCount; i2++) { csName = csNames.GetItem(i2); cs = csDict.GetCoordinateSystem(csName); csProtect = cs.IsProtected(); //Условие - если данная СК пользовательская (импортированная из XML) if (csProtect == false) { //Пусть для примера для созданной категории с одной внесеной ск по имени "NewCategory" //new .AddCoordinateSystem(csName); cDict.AddCoordinateSystem(csName); i1++; } } return i1.ToString(); }
Ну вот ... GetCategories() не возвращает вообще ничего (если дописать ToString ();) а AddCoordinateSystem непонятно как работает - по крайней мере у меня не получилось так создать --- Сообщения объединены, 11 ноя 2020, Оригинальное время сообщения: 11 ноя 2020 --- Попробовал такой вариант (с объявлением словаря категорий не через MgCoordinateSystemCategoryDictionary а через var) - тоже нет изменения библиотеки :(
Как-то так А у тебя оно работает? Если да - тогда сделаю через плагин к программе а не в Dynamo как сейчас
я обычно использую командные методы - CommandMethod https://github.com/triroakenshield/RosReestrImpLib/blob/master/RosReestrImp/MyCommands.cs
Код: [CommandMethod("test1")] public void test1() { var editor = Application.DocumentManager.MdiActiveDocument.Editor; var sRes = editor.GetString("Get CS Name:"); if (sRes.Status == PromptStatus.OK) { MgCoordinateSystemFactory coordSysFactory = new MgCoordinateSystemFactory(); MgCoordinateSystemCatalog csCatalog = coordSysFactory.GetCatalog(); MgCoordinateSystemDictionary csDict = csCatalog.GetCoordinateSystemDictionary(); var cs = csDict.GetCoordinateSystem(sRes.StringResult); var cgs = cs.GetCategories(); for (var i = 0; i < cgs.GetCount(); i++) { editor.WriteMessage(cgs.GetItem(i)); } } }
Помогите пожалуйста. Есть Генплан отрисованный в Автокаде в координатах формат DWG. Необходимо сделать из него файл с расширением GML, это пытаюсь сделать в AutoCAD Map 3D 2022. Но возникла проблема с СК. Попробую описать что именно: Есть файл "шаблон" разрешения gml данные с которого находятся рядом с моими данными, нашёл сайт где определяются параметры СК. Определил параметры WGS-84/Pseudo-Mercator(EPSG:3857), так же на сайте сразу визуально на карте показывает куда ваш чертёж попадает (всё ОК) В Map3D выбираю задать СК из списка нашёл такие же параметры как и определились они там одни с "такими цифрами", присваиваю и импортирую dwg в ГИС файл с расширением gml. Закидываю файл с результатом на сайт, там параметры определяются такие же как и у "шаблона" но вот визуально карта попадает в Африку, то есть вообще даже не рядом. А должен попасть в Ярославскую область, Некрасовский район, р.п. Некрасовское. Стал пробовать забивать другие параметры СК но пока не попал даже в Россию, хотя многие данные определяются как в исходнике WGS-84/Pseudo-Mercator(EPSG:3857). Кто может помочь с данной проблемой, а именно подсказать правильные параметры СК.
https://mygeodata.cloud/converter/gml-to-dxf Искал конвертер для gml в dwg, наткнулся на такой который сразу показывает куда ложится чертёж. Х=2184823.8374 У=369174.3965 Прикрепил файл который ложится правильно куда надо, и свой файл который надо задать координаты.
У Вас в dwg рабочие единицы - футы. _UNITS Попробуйте все то же самое, что делали, но перед этим установить метры.
Вам же написал trir, что у Вас МСК76. (Я, правда, тоже не сразу заметил его ссылку). Если в Вашем файле назначить МСК76, зона 2, и экспортировать в gml с преобразованием в WGS-84/Pseudo-Mercator(EPSG:3857), то все ок. Для этого нужно сначала установить у себя описания МСК - GitHub - GeorgGrebenyuk/MSK_for-Autodesk-Civil-3D: Сборник русских систем координат для AutoCAD Civil 3D
Спасибо, всё помогло. Сначала правда прочитал не правильно и не получалось. Но потом увидел Вашу фразу МСК76/2 и ПРЕОБРАЗОВАНИЕ В WGS84, я при экспорте не ставил галочку преобразовать и из-за этого всегда летело всё в африку. Так же чертёж менял с футов на метры, командой DWGUNITS, с сайта https://knowledge.autodesk.com/ru/s...rt-imperial-unit-drawing-to-metric-units.html Вдруг кому то понадобится. Спасибо всем огромное, кто помог .
Товарищи, подскажите, пытаюсь мск 71.1 создать в Civil 2021. Она на базе СК95. Я в библиотеке и эллипсоид создал и референц-эллипсоид и параметры преобразования (7 параметров от СК 95 к WGS84) задал, пути преобразования в одну и в другую сторону, а он эти преобразования не видит. Что делать, как быть?
Пока - на всякий случай - уже описанной МСК-71 почему-то недостаточно? Russia-MSK71-Zona1 Russia-MSK71-Zona2 Созданы GeorgGrebenyuk: 1.2. Состав пользовательской библиотеки и основные понятия - MSK for Civil 3D (gitbook.io) GitHub - GeorgGrebenyuk/MSK_for-Autodesk-Civil-3D: Сборник русских систем координат для AutoCAD Civil 3D