Конвертация штриховок из DWG формата

Вопросы по нескольким пакетам сразу, или вопросы, которые непонятно к какой ГИС отнести
reasonat
Завсегдатай
Сообщения: 257
Зарегистрирован: 10 июн 2009, 12:21
Репутация: 0
Откуда: Екатеринбург
Контактная информация:

Re: Конвертация штриховок из DWG формата

Сообщение reasonat » 24 июл 2009, 10:04

Еще раз.
Я так понимаю, Вам не заливку объектов перенести надо, а сами объекты, чтобы в левой части получились пересекающиеся полилинии, а в правой - полигоны и многоконтурные полигоны.
Вариант с "открыть внешние данные" в MapInfo делает именно так, как вам нужно - переносит объекты целиком, вложенные контуры читаются как часть единого, узлов в полилиниях и полигонах получается порядка 150.

Аватара пользователя
Alexey
Участник
Сообщения: 56
Зарегистрирован: 21 май 2008, 07:47
Репутация: 1

Re: Конвертация штриховок из DWG формата

Сообщение Alexey » 24 июл 2009, 14:09

Да, но штриховки созданы не мной.
Т.е. считаем что в качестве исходных данных есть файл с созданными штриховками (причем в общем случае контуры штриховок могли быть полилиниями и сплайнами и эллипсами и пр. - см. примеры чертежа выше).
Так что каким образом создавалась штриховка - неизвестно.

А так все верно - для создания конутра полилинией можно использовать команду "Контур" и указывать внутреннюю точку (но и это не решает проблему "островков" - создастся просто две полилинии, не связанные между собой)

В принципе некоторые наметки для решения задачи уже есть:
1. Поэлементно обрабатывать штриховки в автокаде используя Lisp-овскую программу, для генерирования контуров HATCHB (http://www.jtbworld.com/lisp/hatchb.htm)
2. Анализировать созданный ей контур
3. Пытаться на основе этого контура создать MPOLIGON в AutoCAD Map
4. Контуры, для которых MPOLIGON создать невозможно размещать в отдельный слоя для правки вручную.
В итоге имеем ряд MPOLIGON-ов, готовых к экспорту и ряд проблемных штриховок, которые нужно обработать руками (преобразовать их контур в замкн. полилинию и создать по ней MPOLIGON).
Решение не чистое - но все равно уже проще.

Инструменты: VBA + Lisp (HATCHB).
Увы только на VBA задачу формирования контура (аналог HATCHB) для неассоциативной штриховки решить не получилось.

Продолжаю искать дальше..

Аватара пользователя
Alexey
Участник
Сообщения: 56
Зарегистрирован: 21 май 2008, 07:47
Репутация: 1

Re: Конвертация штриховок из DWG формата

Сообщение Alexey » 24 июл 2009, 14:13

reasonat писал(а):Еще раз.
Я так понимаю, Вам не заливку объектов перенести надо, а сами объекты, чтобы в левой части получились пересекающиеся полилинии, а в правой - полигоны и многоконтурные полигоны.
Вариант с "открыть внешние данные" в MapInfo делает именно так, как вам нужно - переносит объекты целиком, вложенные контуры читаются как часть единого, узлов в полилиниях и полигонах получается порядка 150.
Нет, нет - перенести нужно именно заливку (объект Автокада - HATCH). Как площадной объект.

А в какой версии Mapinfo выполняете "открыть внешние данные"? У меня сейчас 8.5
Полученные таким образом полигоны в Mapinfo не связаны с исходным файлом (т.е. по сути это импорт векторных данных)?

reasonat
Завсегдатай
Сообщения: 257
Зарегистрирован: 10 июн 2009, 12:21
Репутация: 0
Откуда: Екатеринбург
Контактная информация:

Re: Конвертация штриховок из DWG формата

Сообщение reasonat » 24 июл 2009, 14:40

Нет, по сути это открытие dwg без конвертирования формата. К dwg файлу привязывается tab файл, кажется со структурой полей и с метаданными (уже не помню, файлы стерты). Таблица открывается только для чтения, но объекты можно просто скопировать в другую таблицу мапинфо.
Еще б знать, что за "объект Автокада - HATCH" :) Много лет уже не работала.
Но думаю, как бы ни был представлен в автокаде этот объект, если он должен перенестись как площадной - то вариант только такой - площадной объект мапинфо (region) - представляющий собой площадь, ограниченную замкнутыми полилиниями, которые и представлены на скриншотах.
Помню, когда импортировали раньше dwg в мапинфо, штриховки и сами контуры переносились как попало, отрезками, набором линий штриховки, но никак не площадями с заливкой. Теперь (я говорю про версии MI 9.0 и выше) можно переносить ситуацию из автокада практически без нареканий.

Boris
Гуру
Сообщения: 4205
Зарегистрирован: 10 апр 2006, 22:34
Репутация: 433
Откуда: Париж

Re: Конвертация штриховок из DWG формата

Сообщение Boris » 24 июл 2009, 15:59

Я не знаток Автокада. Для меня привычней другие КАДы и ГИСы. Но ведь речь идет скорее о файле в формате Автокада. Так что скиньте куда-нибудь фрагмент вашей "беды" мы с товарищами глянем. А то получается какое-то послонвое описание "слона", которого никто не видел.

Аватара пользователя
Alexey
Участник
Сообщения: 56
Зарегистрирован: 21 май 2008, 07:47
Репутация: 1

Re: Конвертация штриховок из DWG формата

Сообщение Alexey » 27 июл 2009, 06:24

Boris писал(а):Я не знаток Автокада. Для меня привычней другие КАДы и ГИСы. Но ведь речь идет скорее о файле в формате Автокада. Так что скиньте куда-нибудь фрагмент вашей "беды" мы с товарищами глянем. А то получается какое-то послонвое описание "слона", которого никто не видел.
Конечно.
Я уже выкладывал на предыдущей странице файл в формате Автокада (.dwg) с типами штриховок, которые хочется уметь обрабатывать. Слона можно скачать по ссылке : download/file.php?id=416 (Test_hatch.zip)

АлексЮстасу
Гуру
Сообщения: 619
Зарегистрирован: 09 авг 2009, 13:09
Репутация: 67
Ваше звание: топограф, технолог
Откуда: Мааськва

Re: Конвертация штриховок из DWG формата

Сообщение АлексЮстасу » 09 авг 2009, 13:27

JEY писал(а):В меню "Рисование" выберите команду "Контур", на панели инструментов "Рисование" этой команды нет. А затем, в диалоговом окне создания контура выберите тип создаваемого объекта. Предлагается либо "Polyline" либо "Region".

Затем Вы можете указать точку внутри потенциальных границ контура. Если контур окажется замкнутым, то на его месте будет создан соответствующий объект. Команда "Контур" настроена таким образом, что при выборе точки, в момент указания потенциальных границ, островки внутри границ определяются автоматически...
Команда "Контур" (boundary) некорректно, неточно, непредсказуемо работает. Не заполняет площади целиком, срезает мелкие детали, может не создавать контуры одинаковых фигур. Судя по всему - зависит от увеличения фигур на экране, от размеров деталей этих фигур, просто непонятно от чего...
Есть ли для нее альтернатива - другой способ создавать контуры фигур, образованных линиями и полилиниями?
см., например, http://forum.dwg.ru/showthread.php?t=34360

reasonat
Завсегдатай
Сообщения: 257
Зарегистрирован: 10 июн 2009, 12:21
Репутация: 0
Откуда: Екатеринбург
Контактная информация:

Re: Конвертация штриховок из DWG формата

Сообщение reasonat » 10 авг 2009, 11:21

Только что самой понадобилось переводить AutoCad в MapInfo, вспомнила про Универсальный транслятор - из набора утилит, устанавливаемых по-умолчанию с MapInfo. Попробовала и этот пример прочитать - получилось отлично. Все полигоны, вложенные полигоны и дважды вложенные полигоны прочитались как надо, с сохранением площади, в отличие от способа "Открыть внешние данные".

Ответить

Вернуться в «Общий - ПО»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 33 гостя