|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
|
||||
Команда BOUNDARY в предусмотренном в ней режиме "Pick Points"работает некорректно или не работает вообще, даже если область оконтурена набором корректно примыкающих друг к другу элементов.
Например, на фигуре-модели в приложенном файле видно, что невозможно создать полный и точный контур с помощью BOUNDARY в режиме "Pick Points". Контур образуется либо только в верхней части области, либо только в нижней, либо не образуется вообще, если достаточно приблизить узкое место фигуры. Также при создании контура часто "срезаются" небольшие детали внешней границы (место отмечено в файле стрелкой). Кроме того, очень часто после указания точки внутри реальной области Автокад очень надолго "задумывается", но после этого очень часто сообщает, что контур не может быть создан. Таким образом, использование BOUNDARY в режиме "Pick Points" либо невозможно, либо результат непредсказуем, либо возможно получение неточного или вообще неправильного контура. В то же время, команда BOUNDARY востребованна практически во всех файлах, а режим "Pick Points" является наиболее удобным для пользователей. Судя по всему, проблема заключается в слабости алгоритма BOUNDARY, привязанного каким-то образом к экранному состоянию (степени увеличения, полноты отображения на экране) областей, с которыми идет работа, а не к координатам вершин элементов. Удивительнее же всего, что в вертикальном приложении Autocad Map 3D используется корректный и надежный алгоритм определения границ областей - при создании площадных "топологий". |
||||
|
||||
Специально прямо сейчас поставил себе 2010 (пока ознакомительная версия, но с последним обновлением).
Результат абсолютно такой же, как на 2008 и 2006 (на тестовой области из приложенного файла): - в режиме Pick Points не создает единого контура, - срезает "незначительные" изгибы, - если не вся область на экране, то отказывается строить вообще - пишет "Не из чего создавать контур". Что я не так делаю, и напраслину на Автокдушку возвожу? |
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
АлексЮстасу, а ты файл-то не пробовал чистить? Для начала - от прокси-объектов. После explodeallproxy, очистки и проверки файла в AutoCAD 2010 Eng + SP все создается корректно.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Цитата:
1. Аудит после открывания файла в 2010 дал 4 ошибки, и с успехом их исправил. (в 2008 ошибок не было, проверял). 2. ExplodeProxy2010x32.arx сообщил: Команда: explodeallproxy Удалено Proxy: 0 Новых объектов: 0 3. Еще один Аудит дал 0 ошибок. 4. Пурж не нужен - лишнего нет. После всего этого (на всякий случай файл сохранил, закрыл, открыл заново) результат абсолютно тот же самый, что и раньше. 1. Делаю общий вид в файле boundary_0.dwg, чтобы вся фигура была видна, 2. Вызываю _BOUNDARY (или КОНТУР), 3. Нажимаю кнопку Pick Points (Указание точек), 4. Указываю точку в нижней (или верхней) части фигуры из приложенного файла boundary_0.dwg - Автокад предлагает создать контур только в нижней (или тольков верхней) части, а весь контур не видит, хотя это одна область, а не две и не три. 5. Если был построен контур в верхней части фигуры, то "мелкий" заусенец (помечен в файле стрелкой) срезается, 6. Если же на экране была видна не вся фигура целиком, то Автокад сообщает, что "Контур не замкнут". На всякий случай проверил допуск в окне Штриховок - 0.0000 единиц чертежа. Что-то я не так делаю, или мы друг друга не понимаем? |
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Сначала устанавливается demandload = 2, чтобы ничего лишнего не грузилось. Потом открываю файл.
Получаю сначала Потом сообщения о прокси-объектах (proxyshow = 1, proxynotice = 1) следующих классов: AeccvBase50 (AutoCAD Civil 3D; 699 шт); AeccLand50 (то же; 814 шт.); AeccvSurvey50 (то же, 6 шт); AeccParamPart50 (то же, 33 шт); AeccNetwork50 (то же, 41 шт); AeccRoadway50 (то же, количество не записал). Лог очистки: Код:
Добавлено: странно. На другой машине все отобразилось и обработалось корректно (AutoCAD 2010 Eng + SP1). Сейчас запускаю AutoCAD Architecture 2010 Eng + SP1 как AutoCAD - контур не создается. Чертовщина какая-то...
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Цитата:
2. О прокси-объектах не сообщалось, хотя, вывод сообщения о них включил. 3. Установил demandload=2 4. Моя версия борьбы с несуществующими у меня прокси-объектами: Команда: ExplodeAllProxy Удалено Proxy: 0 Новых объектов: 0 Команда: RemoveAllProxy Первая метка объекта: <1>, последняя метка объекта: <9E8> Всего найдено proxy-объектов: 0. Из них proxy-примитивов: 0. Очистить список масштабов? [Да/Нет] <Да>: y Всего удалено proxy-объектов: 0. Из них proxy-примитивов: 0. Для проверки ошибок выполните команду _AUDIT 5. Пурж по-прежнему делать не нужно. 6. Команда: _audit Исправить все обнаруженные ошибки? [Да/Нет] <Н>: д Проверка заголовка Проверка таблиц Проверка объектов, проход 1 Проход 1: проверено объектов: 1900 Проверка объектов, проход 2 Проход 2: проверено объектов: 1400 AeccDbPipeStyle(6CC) восстановлен. AeccDbPipeStyle(6CD) восстановлен. Проход 2: проверено объектов: 1900 Проверка блоков Проверено блоков: 3 Всего найдено ошибок: 4, исправлено: 4 Стерто 0 объектов 7. Пурж по-прежнему делать не нужно. ....... И у меня контур всей области построился, и построился павильно после того как: 1. Указал точку в верхней большой области (Автокад увидел ее, но неточно), 2. Указал вторую точку в другой большой области, 3. Приблизил перешеек и указал точку внутри него. Построилось три контура. Контур верхний - неточный, контур нижний, и общий точный контур. Нда... Это получилось с этой - вдоль-поперек изученной фигурой, а с реальными получится? В реальных последовательность действий какая должна быть? А в реальных я "перешейки" всегда увижу? Или там сработает другая последовательность действий? И отдельные контуры я все вспомню, чтобы удалить? По-моему, пока это больше похоже на шаманское камлание, а не на работу... В реальности (проверено на производстве) люди сначала не заметят, что контура получились не полные и не точные, а потом руками будут их переделывать. Проверил все это на 2008 - общий контур тоже получился. Так что дело не в версии, и не в прокси-объектах. Последний раз редактировалось АлексЮстасу, 24.03.2010 в 03:59. |
||||
|
||||
АлексЮстасу, поправлюсь. Контур действительно НЕ создается целый. Автокад не видит узкий перешеек и зуб указанный стрелкой.
Создается 2 отдельных... И штриховка ведет себя точно также
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14) Последний раз редактировалось wetr, 24.03.2010 в 09:07. |
||||
|
||||
Цитата:
Допустим, что контур без перешейков. И BOUNDARY его сразу видит. И даже не задумывается на неопределенное время. Как добиться, чтобы созданный контур в точности повторял границы области? |
||||
|
||||
Еще один любопытный образец. Контур не создается если, не приблицить его очень крупно. Даже когда он четко виден в экране, boundary не может найти контур. Чтобы увидеть это, нужно открыть файл и не приближая, выполнить _boundary -> Pick point. Получим сообщение о некорректности контура. Если приблизить так, что контур аж выйдет за границы экрана - то все создается...
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14) |
||||
|
||||
Цитата:
А у нас - в картографии - без подобной функции Автокад теряет клиентов. |
||||