|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
реализация задачи visual studio2012 (visual basic .net) autocad 2012, oracle11g
Регистрация: 05.12.2012
Сообщений: 11
|
||
Просмотров: 13875
|
|
||||
Цитата:
Цитата:
Цитата:
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
|
||||
Регистрация: 05.12.2012
Сообщений: 11
|
Цитата:
Приложение автономное, но если таким образом нельзя решить задачу, то какой другой способ решения? Возможно загружать таблицу прямо при работе с файлом в автокад и написать код на vb-макрос или что-то подобное для организации связи с объектами и чтоб через эту таблицу было бы возможно выполнить Highlight? |
|||
![]() |
|
||||
Не "и его", а именно его, поскольку хранить ObjectId нет смысла. Почитайте это. Это вы сохраняете в БД своего рода "метки", с помощью которых ссылаетесь на конкретные объекты в чертеже. В рамках данного чертежа эти метки уникальны и постоянны.
Не уверен, что правильно вас понял: вы хотите хранить во внешней базе данных (например в Oracle) графические примитивы и вставлять их в чертёж по мере необходимости? Если так, то хранить объекты вам придётся либо в формате DXF, либо нужную информацию сохранять в виде внешнего блока (т.е. блока, хранящегося во внешнем файле - как правило юзеры могут создавать его командой _Wblock, но вы можете делать это программно). Полученный файл сохраняете в базе данных СУБД как массив байтов.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
|
||||
Не рекомендую. Этот файл (как и любой другой dwg-файл) будет зависеть от версии AutoCAD.
__________________
Сообщество программистов Autodesk в СНГ - техническая поддержка |
||||
![]() |
|
||||
Цитата:
Впрочем это имхо.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: Последний раз редактировалось hwd, 06.12.2012 в 13:34. |
||||
![]() |
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372
|
Цитата:
В Oracle есть и специальное расширение - SpatialWare. Когда их надо визуализировать, то "щелчком по кнопке" нужные объекты просто создаются в соответствующей графической среде (можно и в AutoCAD). Редактирование пространственных данных может осуществляться разными способами - как по известным координатам вершин (например земельных участков), так и путем извлечения координат нарисованных объектов из графического редактора (например AutoCAD). ГИС-технологии могут быть использованы не только с "картами", но и с любыми изображениями, имеющими координаты объектов (хоть здания, хоть схемы какие-нибудь). А в AutoCAD все объекты имеют координаты. Да и вообще такие задачи сейчас нет смысла заново делать, так как все уже изобретено и полным-полно готовых решений, в том числе бесплатных или "практически бесплатных". |
|||
![]() |
|
||||
Регистрация: 05.12.2012
Сообщений: 11
|
Цитата:
Сегоданя разработчик БД ознакомил с принципом работы c "чертежем", вообщем это уже не "привычный" для меня чертеж , который хранится в файле dwg. Все элемены чертежа хранятся в БД Oracle. Геометрия объекта хранится в таблице, в поле GEOM, которое создается автоматически при создание Future class. К примеру имеется 30 чертежей (в каждом из чертежей есть по 30 слоев), все хранится в БД. Принцип работы: открываю Автокад подключаюсь к БД Oracle, загружается в автокад , в выпадающий список названия чертежей- 30 названий ( каждое название соотвествует одной схеме в Oracle), выбираю чертеж из списка и все элементы чертежа (линии, текст и тп) загружаются визуально в чертеж. Разработчик БД говорит о том, что как ObjectID я должна использовать ID (Элемента чертажа ) в таблицы, он уникален и не когда повторятся не будет. ----- очередное изобретение велосипеда, это всё можно реализовать штатными методами Autocad: dbConnect Autocad Map 3D: FDO, Oracle Spatial ------ В Oracle Spatial и будим работать... для наших чертежников в VB клиентское приложение разрабатывается, что б они могли сделать Hithligth объекта и потом отредактировать его. Таблица ошибок уже не связанна с объектом, в ней хранится только его ID Последний раз редактировалось Anta, 15.12.2012 в 01:49. Причина: подумав, добавила |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
Anta, ObjecID уникален в пределах одной сессии. Handle уникален в пределах файла (независимо от сессии). ObjectID - десятичное число, Handle - щестнадцатиричное.
Одно из двух - либо разработчик не понимает принципов работы AutoCAD, либо здесь у нас налицо испорченный телефон. |
|||
![]() |
|
||||
Цитата:
![]() |
||||
![]() |
|
||||
Регистрация: 05.12.2012
Сообщений: 11
|
Да ключ в таблице БД Оракл, используется Autocad Map 3D 2012, просветите как использовать, таблица ошибок уже не связана с объектами, имеется возможность связать эту таблицу с объектами прямо в Autocad Map 3D?
|
|||
![]() |
|
||||
Регистрация: 18.12.2010
Сообщений: 5,114
|
Можно и графику загрузить, Map eё видит. С какими объектами связать? Тут вопрос как подключатся к данным, лично я работаю через FDO. FDO создаёт собственное "хранилище", но можно подключится к любой таблице с графикой и он её поймёт и нарисует.
Последний раз редактировалось trir, 26.12.2012 в 18:27. |
|||
![]() |
|
||||
Регистрация: 05.12.2012
Сообщений: 11
|
Цитата:
Извините, что во времени между моими ответами значительный промежуток, бывает, меня вырывают на другие задания.. |
|||
![]() |
|
||||
Регистрация: 05.12.2012
Сообщений: 11
|
Так что ли? Да!!!! , то что, вы мне показали на миниатюре, то , что мне нужно...НО
изначально задача стоит не в том,что б связать таблицу Оракл и map 3d, а связать таблицу (результат запроса), которая загружается в datagridview в vb net из oracle c map3d. К примеру, в oracle имеются 3 таблицы, в которой хранятся: геометрия объекта, ключ (id объекта в данной таблице), имя feature class, дата создания объекта и тп. Далее к этим трем таблицам делается запрос: select id, имя feature class ...where дата создания="20/12/2012", результат запроса помещается в созданную специально для этого таблицу - Таблица1. У меня есть приложение на vb net, где я создаю связь с Оракл и загружаю Таблица1 в datagridview. И, находясь в vb net, необходимо, выделив строку в datagridview-> выделить этот объект в map 3d (извиняюсь за тофтологию). Дело в том, что Таблица1-результат запроса и уже никак не связана с объектами. Или ее можно все таки связать с объектами? Если ее нельзя связать с объектом, находясь в vb net, то как ее связать, хотя бы, находясь уже в map 3d? Хотя, наверняка есть способ это сделать в vb net. Спасибо. Последний раз редактировалось Anta, 27.12.2012 в 07:47. |
|||
![]() |
|
||||
Регистрация: 05.12.2012
Сообщений: 11
|
Таблица1 содержит id объектов, которые каким-либо образом не соответсвуют критериям "правильности". К примеру, текст, который не находится под нужным углом либо незамкнутая полилиния, которая должна быть закрыта, либо другой критерий. Загрузка Таблица1 , геометрию, наверное можно и записать (новая задача для разработчика БД в оракл), открытие и объединение не приведет ли к дублированию объектов в Map 3D? Дело в том, что Таблица1 будит обновлятся , скажем, раз в 2 недели для 20 (как минимум) очень объемных чертежей. Цель разработчика БД автоматизировать работу по максимуму, так как он у нас по контракту и после себя ему необходимо оставить все в таком виде, что б нашим чертежникам не пришлось вмешиваться в БД. Поэтому написаны процедуры oracle для выборки id "неправильных" объектов. В vb net есть интерфейс для запуска всех процедур и заполнения Таблица1 и теперь необходимо подвсетить эти объекты, когда они открыты в Map 3D. То есть со стороны чертужников вмешательство и манипуляции с таблицами через интерфейс map 3d должно свестись к минимуму...
|
|||
![]() |
|
||||
Регистрация: 05.12.2012
Сообщений: 11
|
Цитата:
В смысле? От куда и куда идем?) Работаем с земельными планами: участки земли представлены как полигоны, имеются названия улиц, адреса домов (текст), полигоны границ города и тп ( в общей сложности для каждого города на чертеже автокад присутствует от 30 до 60 слоев, иногда больше). На данный момент работаем в autocad 2004 + MS access. Атрибуты каждого объекта хранятся в таблице БД Access (количесво таблиц варьируется от 30 до 60). Так как объем информации растет , то MS access уже не подходит, поэтому переходим на autocad MAP 3d +Orcale spatial. Теперь все данные будут хранится в Oracle. Через программу "посредник" все существующие данные будут отправлены в бд Oracle. Каждый город соответсвует одной схеме в Oracle (у нас их около 80). Для работы с каждым отдельным городом: открываем autocad MAP 3d, в выпадающем списке выбираем один город (схему) и все данные загружаются в чертеж. Каждые 2 недели нужно обновлять информацию на чертеже (новое разбиение участков либо группирование старых, то есть из одного земельного участки можем получить разбиение на 10, либо сгруппировать 5 участков под одну матрикуль, либо из 3х, к примеру, снова сдлеать один участок и тп, все изменения в земельном кадастре нужно отобразить на чертеже). После того как измения сделаны, нужно проверить, а нет ли ошибок (ошибки программ, которые подготавливают новые данные для внедрения в чертеж, либо человеческий фактор). Для подготовки данных и последующей проверки удачного внедрения на чертеж разработаны (некоторые в стадии разработки) процедуры на pl/sql в Оracle. Весь процесс внедрения новых данных об изменениях земельных участков будит автоматизирован на 80%. Моя задача - разработка приложения на vb net для запуска соответсвующих процедур. Первый из интефейсов служит для запуска программы, которая генерирует все необходимые геометрические объекты в dxf файле, выполняются некотрые процедуры..., потом нажатие на кнопку- и удаление старх объектов из тыблиц Orcale , второе нажатие на кнопку и внедрение (необходимые данные о геометрии новых объектов записываюся в Oracle) новых элементов. Второй интефейс позволяет запустить процедуры Оracle на проверку ошибок - в результате, из всех таблиц для одной схеме происходит выборка объектов с ошибками ( неправильный угол, забыли нарисовать символ, указывающие что, к пример,два участка, разделенные дорогой, принадлежат одному лицу и тп ) в таблицу. Таблица1 теперь содержит название таблицы (feature class) и id объекта в этом (feature class). Теперь интерфес должен позволить по выделени строки (или нажатию на кнопку) подсветить этот объект на карте map 3d. Вот в общем схема работы.. Спасибо |
|||
![]() |
|
||||
Регистрация: 18.12.2010
Сообщений: 5,114
|
1. Вам не нужна "программа "посредник"" - это умеет Map 3D
2. "все данные загружаются в чертеж" - через FDO? 3. "Каждые 2 недели нужно обновлять информацию на чертеже" - Зачем? Используя FDO мы всегда будем иметь актуальные данные в чертеже. 4. "геометрические объекты в dxf файле" - Зачем??? Итог: У вас ГИС, учите теорию! P. S. Да... вы знаете толк в извращениях ;=) |
|||
![]() |
|
||||
Регистрация: 05.12.2012
Сообщений: 11
|
данные,которые мы получаем: чертежи новых земельных участков в формате dxf, данные о лицах,которые ими владеют в формате d01, что бы связать данные из файла d01 и данные чертежа и создать новые строки в таблицах БД ACCESS используется программа FME Desktop (Converter/Translator). Как я поняла, эта программа будит необходима для дальнейшей работы со всеми входящими, новыми данными, для их интеграции в Oracle spatial. Другие форматы(не dxf) нам не предостовляют. Возможно вы правы, я спорить не будут, ни как, не компетентна в этом вопросе на данный момент. Мне нужно пару дней на изучение этой стороны вопроса, изменения, которые сейчас происходят в ГИС для меня новы...и нас отправили на длииинные выходные.
Я наверное не правильно выразилась, обновлять данные в Oracle spatial и затем autocad map 3d необходимо производит манипуляции с земельными участками, для приведения данных к требованиям по ведению земельного кадастра. |
|||
![]() |
|
||||
Регистрация: 18.12.2010
Сообщений: 5,114
|
5. формат d01???
6. Map 3D (FDO) - это лишь интерфейс для редактирования пространственных и атрибутивных данных в БД. Update.1 FME Desktop - мощная штука. А насчёт "ловли блох" - я бы делал это ДО импорта данных в БД, благо инструментов хватает. Последний раз редактировалось trir, 30.12.2012 в 04:20. |
|||
![]() |
|
||||
Регистрация: 05.12.2012
Сообщений: 11
|
в нашем случае это текстовый файл, похож на .csv, разделитель текста- точка с запятой, эти данные отправляются в access, в будущем в oracle.
в некоторых случаях не возможно, так как есть моменты, которые не касаются именно чертежа, но касаются земельного участка, как единицы собственноси...а потом уже это отражается на чертеже: анализ получившейся картины земельного реестра для оценки собственности-> принятие решения->отражение в гис. К примеру, у вас есть земельный участок, разделенный дорогой, с одной стороны стоит жилой дом, а на другой стороне улицы ваш садовый участок или просто кусок пустой земли. Нужно принять решение: это 2 единицы собственности или все таки одна. Это решение принимает не чертежник, это не в его компетенции, если решение принято, что это все таки 1 единица собсвенности, состоящая из 2х участков, то это нужно отобразить на чертеже (в oracle), для этого служит просто линия, соединяющая эти 2 участка через дорогу, но ее нужно указать. Вот такие заморочки, это всего лишь один пример "ловли блох". Проверка реализована в процедуре pl/sql, грубо говоря, берем геометрию этих двух участков, ищим линию в БД, существует ли она, та самая, координаты начала и конца, которой совпадают с "координатами" этих двух участков, ага, такая линия не существует, тогда заносим id объекта-полигона (змельного участка) в Таблицу 1. |
|||
![]() |
|
||||
Регистрация: 18.12.2010
Сообщений: 5,114
|
А не проще тогда, сохранить эти два участка как multipolygon и не плодить лишних общностей?
Изучите OGC-SFA: http://gis-lab.info/docs/ogc-sfa1-v1.pdf |
|||
![]() |
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372
|
Цитата:
При этом за основу берете менее всего пригодный для ГИС инструмент - AutoCAD. Так уж исторически сложилось - фирма Autodesk проспала начало развития ГИС. При этом она по-прежнему всё связыает со своим форматом. Вот и вы туда же: Цитата:
Сейчас 2012 год заканчивается. Программ для ГИС множество. Есть очень дорогие, есть средней стоимости, есть бесплатные (но пока убогие). Есть и такие, которые даже студенту по карману. И уж с земельными-то участками всё давно решено. "Земели" пользуются ObjectLand. Очень неплохая российская ГИС. И недорогая. Пробная версия отличается только впечатыванием логотипа в карту. Можно очень хорошо ознакомиться. Все ваши задачи там решены. А какие-то дополнительные (специфичные) легко решаются программированием уже в самой ObjectLand на любом языке - там открытая модель. Надо только один раз переконвертировать старые данные. Разумеется, есть и другие продукты. Из российских - ГИС Панорама, ИнГЕО. Про продукты ESRI уж не говорю - можно всё. Но дороговато. Уходите вообще от графического формата, тем более от такого, как DWG. Продукты Autodesk великолепны для черчения, но не для "информирования". Всё, что фирма сделала в этом направлении - жалкие попытки показать - "и у нас тоже можно...". |
|||
![]() |
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372
|
Цитата:
|
|||
![]() |
|
||||
Регистрация: 05.12.2012
Сообщений: 11
|
Цитата:
Вместо Autocad map3d предполагалась использовать ESRI (как я поняла), но финансовые затраты на эту систему...вообщем принято решение использовать map3d. Планы в Autocad map3d все еще необходимы, так как необходимо их предостовлять для муниципалитетов, а Oracle spatial нам очень полезен, так как информация хранящаяся в БД будит служить источником для другой системы, которая служит уже не для хранения геометрии, а именно данных земельного реестра. БД oracle и система земельного реестра будут в непосредственном взаимодествии для контроля качества данных. Цитата:
Кстати, всех с наступющим Новым Годом! Всех Вам благ!!! Последний раз редактировалось Anta, 30.12.2012 в 21:24. |
|||
![]() |
|
||||
Регистрация: 18.12.2010
Сообщений: 5,114
|
1. В OS есть MULTIPOLYGON:
http://docs.oracle.com/cd/E11882_01/...ma.htm#autoId1 "DL07 - MULTIPOLYGON or MULTISURFACE - Geometry can have multiple, disjoint polygons (more than one exterior boundary). or surfaces (MULTIPOLYGON is a superset of POLYGON, and MULTISURFACE is a superset of SURFACE.)" 2. Забудьте про COM 3. Порядок экспорта в ГИС http://docs.autodesk.com/MAP/2012/EN...8F67380BD1.htm |
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Интеграция Autodesk СПДС в AutoCAD 2012 | bolotov | Прочее. Программное обеспечение | 24 | 07.01.2013 20:22 |
Запуск AutoCAD 2012, Inventor 2012 под пользователем | DonVik | AutoCAD | 7 | 28.02.2012 01:57 |
Информация по идентификационным кодам программ в сетевых лицензиях Autodesk | KSI | AutoCAD | 1 | 14.09.2009 15:59 |
Visual Basic + AutoCAD 2006 = FATAL ERROR | evgm | Программирование | 6 | 03.04.2009 13:40 |