Автокад точка вставки слетает
День добрый, не знаю в каком направлении копать.
Есть два файла оба находятся в одной и тоже системе координат (если из одного копировать в другой, то все встает на места).
В один вставляю другой, как внешнюю ссылку и он встает не в координатах, а в 0,0. (хотя в других чертежах аналогичных все в порядке).
Подскажите как бороться или куда посмотреть, что сбилось?
Есть два файла оба находятся в одной и тоже системе координат (если из одного копировать в другой, то все встает на места).
При копировании через буфер обмена есть три варианта вставки. Копирование и вставка с базовой точкой, копирование и вставка при которой создаётся условная базовая тоска и вставляется в любую указанную точку и при этом есть вставка на теже координаты где было скопировано изображение. Вставка внешней ссылки преполагает указание точки вставки ( если вы не оговориваете точку вставки то вставка происходит в 0,0.) если указываете то вставка происхнодит в указанную точку. Кроме того у файла внешней ссылки базовая точка может не ровнятся 0,0, и совмещение произойдёт по соотоветствию между указанной тоской вставки и базовой токи внешней ссылки.
Как вариант, системная переменная insbase. Как то был случай что она в двух файлах была разная, и ссылка не вставлялась как положено.
Как вариант, системная переменная insbase . Как то был случай что она в двух файлах была разная, и ссылка не вставлялась как положено.
И какое же значение у этой системной пременной должно быть? :)
И какое же значение у этой системной переменной должно быть?
Думаю одинаковое в обоих файлах. 0,0,0. Могу, конечно, ошибаться.
И какое же значение у этой системной переменной должно быть?
Думаю одинаковое в обоих файлах. 0,0,0. Могу, конечно, ошибаться.
В общем базовая точка файла, которая не обязательно но желательно должна иметь нулевые значения. Ну и как писал выше, поней вставляется внешняя ссылка. Это значение важно, именно для ссылки, а в файл, который вставняется ссылка, это значение не важно. Можно использовать insbase или base результат один. Также не важно и значение insbase просто при вставке можно ввести соответствующие значения, провда это менее удобно, хотя не смертельно. Я лично во вех файлах выставляю нулевые значения, в работе с файлами геодезии это важно, та как система кординат начинается от нулевых значений и тогда все файлы геодезии ложатся по своим координатам и легко вязать соседнии участи съёмки. :)
В общем базовая точка файла, которая не обязательно но желательно должна иметь нулевые значения. Ну и как писал выше, поней вставляется внешняя ссылка. Это значение важно, именно для ссылки, а в файл, который вставняется ссылка, это значение не важно. Можно использовать insbase или base результат один. Также не важно и значение insbase просто при вставке можно ввести соответствующие значения, провда это менее удобно, хотя не смертельно. Я лично во вех файлах выставляю нулевые значения, в работе с файлами геодезии это важно, та как система кординат начинается от нулевых значений и тогда все файлы геодезии ложатся по своим координатам и легко вязать соседнии участи съёмки.
Все, магистр, умолкаю. :) Спасибо за подробное объяснение.
Все, магистр, умолкаю. Спасибо за подробное объяснение.
Просто не раз сталкивался с подобной ситуацией, когда приходили стороннии чертежи. По большому счёту много народа не понимает значение базовой точки не только в файлах но в и блоках. Создают болк гдето на просторах Автокада, а базовую точку оставляют по умолчанию в нуле. :)
Просто не раз сталкивался с подобной ситуацией, когда приходили стороннии чертежи. По большому счёту много народа не понимает значение базовой точки не только в файлах но в и блоках. Создают блок где-то на просторах Автокада, а базовую точку оставляют по умолчанию в нуле
Есть такое дело. И сколько не пытался с этим бороться, не получается. Так проблема базовой точки, она общенародная
Есть такое дело. И сколько не пытался с этим бороться, не получается. Так проблема базовой точки, она общенародная
В принципе нет действий (или я пока не обнаружил) для изменения базовой точки, но иногда попадаются файлы где базовая точка не равна нулю. Т.е. это не мешает работе с файлом, проблема только при вставке ссылки. И что наводит на мысль что возможно используется файл темплеты со смещённой базовой точкой. У нас в конторе с этим всё впорядке, но когда приходят чертежи от других контор встречается. Я не скажу что это как то массово, но за 8 лет раза три четытре было. Особенно это напрягает первый раз, потом уже сразу вспоминается проверка базовой точки файлов и всё нормализуется. Ещё естьв этом вопросе еденицы чертежа. В файле темплета ATCAD дюймы, это также не влияет на работу в файле, но при вставке как ссылки или блока масштаб меняется и в файл вставляются отмаштабированные. Я сделал макрос и пр сохранение, кроме базовой токи, всё выставляется на нужные параметры файла.
^C^C_EXPERT 1; ^C^C_limits OFF; ^C^C^Plunits;2;luprec;2;aunits;0;auprec;2 ^C^C_INSUNITS 0; ^C^C_INSUNITSDEFSOURCE 0; ^C^C_INSUNITSDEFTARGET 0; ^C^C_dimscale 0; ^C^C_DIMALTF 25.4; ^C^C^Plunits;2;luprec;2;aunits;0;auprec;2 ^C^C(if (not C:EXPLODEALLPROXY) (arxload "ExplodeProxy2013.arx")) _EXPLODEALLPROXY;_REMOVEALLPROXY;_AUDIT;_Y; ^C^C_qsave;
Также включена чистка от прокси объектов. Недавно добавил отключение контроля лимитов. Последнее время достало.
Точка вставки при копировании находится не на краю объекта, а где-то далеко. Пользуюсь базовой точкой, но не всегда удобно. Помогите :roll:
У вас скорее всего текущая система координат не мировая а какая то пользовательская. Установите МСК и попробуйте еще раз.
КИП, АСУ ТП, слаботочка
Здравствуйте, форумчане.
Возникла похожая проблема при копировании через буфер обмена точка вставка улетает далеко. Меняю на МСК - система координат ложится под углом, а при копировании точка вставки все равно "улетает".
Прикладываю чертеж. Прошу помочь.
Добавил:
_base не помогла - все равно точка вставки "слетает" далеко вниз.
Пока решил ситуацию тупым копированием в другой "чистый" файл. Но все-равно хочется знать причину.
Наше дело труба
Причина: координаты в МСК левого нижнего угла рамки чертежа X = 1540099.76 Y = 6975675.40 Вот и улетает. Еще и разворот зачем то в МСК .
Вернуть и повернуть все на место.
Ну и чертить в Модели лучше в Масштабе 1:1
КИП, АСУ ТП, слаботочка
это не наш чертеж, но редактировать его придется.
Распиши, пожалуйста, что надо конкретно делать, пошагово? Какие команды? Спс.
Спасибо, все разобрался. Просто нужно сделать вид сверху и повернуть затем чертеж.
Наше дело труба
Если в космических координатах нет особого смысла то лучше перенести чертеж к нулю МСК, - потом меньше проблем будет.
Для наглядности включить знак ПСК
Команда: _ucsicon
Задайте параметр [Вкл/Откл/ВСе/Без начала/Начало/Свойства] : _on
Установить МСК
Команда: _ucs
Текущая ПСК: *БЕЗ ИМЕНИ*
Начало ПСК или [Грань/именоваННая/ОБъект/преДыдущая/Вид/Мир/X/Y/Z/ZОсь] : _w
Выбрать ВСЕ
Команда: _ai_selall Выбор объектов. готово.
Перенести все с базовой точкой в левом нижнем углу рамки в точку 0,0,0 МСК
Команда: _move найдено: 909
Базовая точка или [Перемещение] : Вторая точка или : 0,0,0
т.е.в команде _move указать базовую точку в левом нижнем углу рамки и ввести 0,0,0
Команда: '_.zoom _e (двойной клик колесом)
Потом по желанию, - либо повернуть ПСК по трем точкам рамки, либо установить Вид в плане МСК (сверху) и повернуть весь чертеж по ортогональной линии в МСК.
Второй день пользуюсь ACAD 2009 и вдруг столкнулся с тем, что он как-то выборочно копирует блоки из одного чертежа в другой. Пол-часа пробовал разные варианты, закономерности не нашел. Если копировать несколько блоков и в наборе будет хотя бы один из тех, что не копируются - не копируются все блоки. Если блок взорвать и создать заново - вроде бы копируется.
Возможно, в этой версии ACAD-a у блоков появилось новое свойство (типа "защита от копирования")? Впрочем, возможно, такое свойство было и раньше, просто я не встречал его.
Если знаете, в чем тут дело - помогите, пожалуйста. Спасибо.
__________________ --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
2 kpblc: к сожалению, ничто из предложенного не помогло.
Придется возвращаться к 2007-му АКАДу, сейчас нет времени разбираться.
программист, рыцарь ObjectARX
. но ссылка на утилиту очистки от Прокси-объектов была дана дохлая, поэтому эту версию отработать не удалось.
Александр Ривилис: Спасибо, скачал. Пробую обработать этой утилитой, хотя в этом файле вроде бы прокси-объектов у меня нет (я думал, что СПДС-примочка после установки оставляет во всех файлах какие-то стили линий, масштабы и т.п., которые и удаляет эта утилита).
Хм. Пишет, что не может загрузить ARX-файл. Для 2009го АСАДА какой модуль нужно загружать, ExplodeProxy2010x32.arx?
__________________ --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
Александр Ривилис: Загрузилась утилита для 2007-го АКАДа.
Таки были какие-то прокси-объекты. Но какие.
Видимых прокси-объектов не было (обычно в Quick Select можно увидеть объекты типа Proxy). А какие могут быть невидимые прокси-объекты?
Короче, после удаления всех прокси из чертежа возможность копировать блоки появилась. Большое спасибо.
программист, рыцарь ObjectARX
Александр Ривилис: Загрузилась утилита для 2007-го АКАДа.
Таки были какие-то прокси-объекты. Но какие.
Видимых прокси-объектов не было (обычно в Quick Select можно увидеть объекты типа Proxy). А какие могут быть невидимые прокси-объекты?
Короче, после удаления всех прокси из чертежа возможность копировать блоки появилась. Большое спасибо.
Ну какие точно были я сказать не могу, но в двух словах есть прокси-примитивы ("видимые") и прокси-объекты (типа словарей, таблиц и т.д.), которые не имеют видимого представления. Так вот они не могут копироваться между чертежами, а если на них есть ссылка, то и то, что на них ссылается копироваться не может.
Ну какие точно были я сказать не могу, но в двух словах есть прокси-примитивы ("видимые") и прокси-объекты (типа словарей, таблиц и т.д.), которые не имеют видимого представления. Так вот они не могут копироваться между чертежами, а если на них есть ссылка, то и то, что на них ссылается копироваться не может.
Не могут копироваться, наверное, только в 2009м АКАДе. В 2007м я все прекрасно копировал и даже и не догадывался о существовании в чертеже каких-то прокси-объектов.
А можно сделать доп.функцию у этой ОЧЕНЬ ПОЛЕЗНОЙ ПРОГРАММКИ? Чтобы перед тем, как удалить все прокси-объекты, можно было получить удобоваримый список этих объектов.
Потому что меня лично беспокоит, что за объекты я там удаляю и не будут ли у меня потом противоположные проблемы, связанные с отсутствием этих самых объектов.
Наилучший выход из положения в случае с СПДС - разбивать объекты СПДС средствами самой СПДС. В случае с вертикальными решениями AutoCAD - делать импорт чертежа в AutoCAD средствами этих вертикальных решений.
программист, рыцарь ObjectARX
Не могут копироваться, наверное, только в 2009м АКАДе. В 2007м я все прекрасно копировал и даже и не догадывался о существовании в чертеже каких-то прокси-объектов.
А можно сделать доп.функцию у этой ОЧЕНЬ ПОЛЕЗНОЙ ПРОГРАММКИ? Чтобы перед тем, как удалить все прокси-объекты, можно было получить удобоваримый список этих объектов.
Потому что меня лично беспокоит, что за объекты я там удаляю и не будут ли у меня потом противоположные проблемы, связанные с отсутствием этих самых объектов.
Я делал когда-то, только информация там такая, что только опытный программист может понять что это такое. А если этих прокси-объектов тысячи или десятки тысяч (бывает достаточно часто), то все равно не уследишь.
Были. И в 2007-м, и даже в 2004-м мне встречались прокси-объекты. Если файл был создан в Mechanical, например, или в СПДС. Просто если соответствующий энейблер не установлен - при открытии файла предлагаются способы отображения этих прокси-объектов (как рамка или не отображать). Если энейблер установлен - при открытии файла ничего не выдается, но в чертеже можно пощупать эти объекты (если они видимые, конечно) и даже тупо взорвать их.
Я делал когда-то, только информация там такая, что только опытный программист может понять что это такое. А если этих прокси-объектов тысячи или десятки тысяч (бывает достаточно часто), то все равно не уследишь.
Ну, я это понимаю. Только если припрет - можно хоть будет разобраться (особенно если у объектов есть какой-нибудь признак типа (например, 1- таблица, 2 - стиль и т.п.)), а если не нужно - просто проигнорировать этот список. Ну, и выводить ведь его не обязательно на экран, а в файл листинга, и добавить вопросик во время отработки утилиты "Хотите сохранить список удаляемых объектов в файл?".
Ну ладно, это я уже вредничаю Нельзя, так нельзя. И так доволен, что хоть понял, в чем дело.
программист, рыцарь ObjectARX
Были. И в 2007-м, и даже в 2004-м мне встречались прокси-объекты. Если файл был создан в Mechanical, например, или в СПДС. Просто если соответствующий энейблер не установлен - при открытии файла предлагаются способы отображения этих прокси-объектов (как рамка или не отображать). Если энейблер установлен - при открытии файла ничего не выдается, но в чертеже можно пощупать эти объекты (если они видимые, конечно) и даже тупо взорвать их.
Ну, я это понимаю. Только если припрет - можно хоть будет разобраться (особенно если у объектов есть какой-нибудь признак типа (например, 1- таблица, 2 - стиль и т.п.)), а если не нужно - просто проигнорировать этот список. Ну, и выводить ведь его не обязательно на экран, а в файл листинга, и добавить вопросик во время отработки утилиты "Хотите сохранить список удаляемых объектов в файл?".
Ну ладно, это я уже вредничаю Нельзя, так нельзя. И так доволен, что хоть понял, в чем дело.
При наличии прокси-объектов копирование может быть успешным если нет ссылки на эти прокси-объекты. Если стоят все необъодимые энаблеры или сами приложения, то прокси-объектов нет. Признака что это за прокси-объект не существует. В лучшем случае имя родительского класса и его DXF группа 0.
Сегодня читал эту тему. Много думал. Потом поэкспериментировал, вот результаты:
1. Согласен, что при установленных энейблерах прокси-объектов нет. Потому что прокси-объект по определению объект-заместитель. Если стоят энейблеры - АКАД видит оригинальные объекты приложений.
2. Взял чертеж, в котором заведомо были объекты СПДС, открыл в 2009м АКАДе (энейблеры для него не были установлены) - вместо объектов СПДС отображаются прокси-объекты(квадратики). Выделил все, вместе с прокси, скопировал в буфер, открыл новый файл, вставил из буфера - копирование произошло успешно, но прокси-объекты не скопировались. Вывод: прокси-объекты не копируются, но копированию других объектов не мешают.
3. Загрузил модуль ExplodeProxy, команда EXPLODEALLPROXY ничего не взорвала (тут я удивился! Если прокси видны в чертеже, их нужно разорвать и оставить в чертеже как обычные объекты, а не удалить). Команда REMOVEALLPROXY аккуратно вычистила все прокси-объекты. Хотя в данном случае это было бесполезно, видимые объекты мне были нужны.
4. Взял чертеж, с которого началась эта тема, открыл в 2009м АКАДе. Некоторые (не все) блоки в чертеже не копируются. Причем они именно не копируются в буфер, потому что если после Ctrl-C жмем Ctrl-V, то вставляется то, что было помещено в буфер раньше! Видимых прокси нет. Команда EXPLODEALLPROXY ничего не взорвала, команда REMOVEALLPROXY аккуратно вычистила все прокси-объекты. После этого копирование всех объектов восстановилось. Но осадок остался - что это я там удалил-то?
5. Скачал [FONT=Verdana] Object Enabler для СПДС GraphiCS 5.0 под AutoCAD 2007-2009 [/FONT], установил. После этого ВСЕ проблемы исчезли: объекты СПДС в первом файле, естественно, видны, копируются, вставляются, взрываются обычной командой EXPLODE (они ж родные для СПДС). Во втором файле все по-прежнему, никакие новые объекты видны не стали, но копирование всех объектов через буфер восстановилось!
[FONT=Verdana]6. Чтобы совсем уж проверить все варианты, после установки энейблера вызвал команду EXPLODEALLPROXY - ничего не взорвалось ни в первом, ни во втором файлах. Команда REMOVEALLPROXY ничего не удалила ни в первом, ни во втором файле. Это еще раз подтверждает тезис, высказанный в посте 14: при установленном энейблере прокси-объектов в чертеже нет. Из этого вытекают:[/FONT]
[FONT=Verdana] Следствие 1: в моем исходном проблемном файле сидят какие-то приблуды именно от СПДС и проблемы с копированием были именно из-за них.[/FONT]
[FONT=Verdana] Следствие 2: поскольку я сам СПДС не пользуюсь, значит, эти приблуды могут мигрировать из чертежа в чертеж неявным образом (при копировании других объектов из чертежей, созданных с применением СПДС).[/FONT]
Alexander.Rivil is
- Отметить как новое
- Закладка
- Подписаться
- Отключить
Копируй с базовой точкой (CTRL+SHIFT+C или команда _COPYBASE) или вставляй в исходных координатах (команда _PASTEORIG)
Alexander Rivilis / Александр Ривилис
Programmer & Teacher & Helper / Программист - Учитель - Помощник / Програміст - вчитель - помічник
Facebook | Twitter | LinkedIn
russianspeaking
- Отметить как новое
- Закладка
- Подписаться
- Отключить
Дело в том, что при встаке выбранный объект находится на растоянии @50,50 от перекрестия прицела.
А мне нужно чтобы объект распологался строго по линиям прицела. Тогда проблемы не будет.
Alexander.Rivil is
- Отметить как новое
- Закладка
- Подписаться
- Отключить
Воспользуйся командой _COPYBASE и задай правильную базовую точку.
Alexander Rivilis / Александр Ривилис
Programmer & Teacher & Helper / Программист - Учитель - Помощник / Програміст - вчитель - помічник
Facebook | Twitter | LinkedIn
russianspeaking
- Отметить как новое
- Закладка
- Подписаться
- Отключить
Всё по прежднему. Смещение 50,50
Alexander.Rivil is
- Отметить как новое
- Закладка
- Подписаться
- Отключить
Базовую точку задай правильно (т.е. смещенную на 50,50 относительно той, что ты задаёшь)
Alexander Rivilis / Александр Ривилис
Programmer & Teacher & Helper / Программист - Учитель - Помощник / Програміст - вчитель - помічник
Facebook | Twitter | LinkedIn
russianspeaking
- Отметить как новое
- Закладка
- Подписаться
- Отключить
Объясню по другому.Я делаю прямоугольник с углами 0,0 и 1000,1000.
Дальше делаю круг радиусом 500 в произволбной точке.
Дальше выделяю этот круг рамкой, вырезаю этот круг Ctrl+X и нажимаю Ctrl+V.
При этом этот круг уже отображается на 50,50 от прекрестия прицела и соответственно при вводе координат 0,0 он становится на эти 50,50 от начала координат. А должен бы в начало
Alexander.Rivil is
- Отметить как новое
- Закладка
- Подписаться
- Отключить
Последняя попытка с моей стороны. Не используй Ctrl+X - используй команду _COPYBASE (или CTRL+SHIFT+C) и указывай правильную базовую точку.
P.S.: То, что у тебя получилось смещение 50,50 - это чистая случайность. Если AutoCAD'у не указать базовую точку при копировании, то он использует в качестве базовой точки координаты левого нижнего угла экрана.
Alexander Rivilis / Александр Ривилис
Programmer & Teacher & Helper / Программист - Учитель - Помощник / Програміст - вчитель - помічник
Facebook | Twitter | LinkedIn
Второй день пользуюсь ACAD 2009 и вдруг столкнулся с тем, что он как-то выборочно копирует блоки из одного чертежа в другой. Пол-часа пробовал разные варианты, закономерности не нашел. Если копировать несколько блоков и в наборе будет хотя бы один из тех, что не копируются - не копируются все блоки. Если блок взорвать и создать заново - вроде бы копируется.
Возможно, в этой версии ACAD-a у блоков появилось новое свойство (типа "защита от копирования")? Впрочем, возможно, такое свойство было и раньше, просто я не встречал его.
Если знаете, в чем тут дело - помогите, пожалуйста. Спасибо.
__________________ --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
2 kpblc: к сожалению, ничто из предложенного не помогло.
Придется возвращаться к 2007-му АКАДу, сейчас нет времени разбираться.
программист, рыцарь ObjectARX
. но ссылка на утилиту очистки от Прокси-объектов была дана дохлая, поэтому эту версию отработать не удалось.
Александр Ривилис: Спасибо, скачал. Пробую обработать этой утилитой, хотя в этом файле вроде бы прокси-объектов у меня нет (я думал, что СПДС-примочка после установки оставляет во всех файлах какие-то стили линий, масштабы и т.п., которые и удаляет эта утилита).
Хм. Пишет, что не может загрузить ARX-файл. Для 2009го АСАДА какой модуль нужно загружать, ExplodeProxy2010x32.arx?
__________________ --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
Александр Ривилис: Загрузилась утилита для 2007-го АКАДа.
Таки были какие-то прокси-объекты. Но какие.
Видимых прокси-объектов не было (обычно в Quick Select можно увидеть объекты типа Proxy). А какие могут быть невидимые прокси-объекты?
Короче, после удаления всех прокси из чертежа возможность копировать блоки появилась. Большое спасибо.
программист, рыцарь ObjectARX
Александр Ривилис: Загрузилась утилита для 2007-го АКАДа.
Таки были какие-то прокси-объекты. Но какие.
Видимых прокси-объектов не было (обычно в Quick Select можно увидеть объекты типа Proxy). А какие могут быть невидимые прокси-объекты?
Короче, после удаления всех прокси из чертежа возможность копировать блоки появилась. Большое спасибо.
Ну какие точно были я сказать не могу, но в двух словах есть прокси-примитивы ("видимые") и прокси-объекты (типа словарей, таблиц и т.д.), которые не имеют видимого представления. Так вот они не могут копироваться между чертежами, а если на них есть ссылка, то и то, что на них ссылается копироваться не может.
Ну какие точно были я сказать не могу, но в двух словах есть прокси-примитивы ("видимые") и прокси-объекты (типа словарей, таблиц и т.д.), которые не имеют видимого представления. Так вот они не могут копироваться между чертежами, а если на них есть ссылка, то и то, что на них ссылается копироваться не может.
Не могут копироваться, наверное, только в 2009м АКАДе. В 2007м я все прекрасно копировал и даже и не догадывался о существовании в чертеже каких-то прокси-объектов.
А можно сделать доп.функцию у этой ОЧЕНЬ ПОЛЕЗНОЙ ПРОГРАММКИ? Чтобы перед тем, как удалить все прокси-объекты, можно было получить удобоваримый список этих объектов.
Потому что меня лично беспокоит, что за объекты я там удаляю и не будут ли у меня потом противоположные проблемы, связанные с отсутствием этих самых объектов.
Наилучший выход из положения в случае с СПДС - разбивать объекты СПДС средствами самой СПДС. В случае с вертикальными решениями AutoCAD - делать импорт чертежа в AutoCAD средствами этих вертикальных решений.
программист, рыцарь ObjectARX
Не могут копироваться, наверное, только в 2009м АКАДе. В 2007м я все прекрасно копировал и даже и не догадывался о существовании в чертеже каких-то прокси-объектов.
А можно сделать доп.функцию у этой ОЧЕНЬ ПОЛЕЗНОЙ ПРОГРАММКИ? Чтобы перед тем, как удалить все прокси-объекты, можно было получить удобоваримый список этих объектов.
Потому что меня лично беспокоит, что за объекты я там удаляю и не будут ли у меня потом противоположные проблемы, связанные с отсутствием этих самых объектов.
Я делал когда-то, только информация там такая, что только опытный программист может понять что это такое. А если этих прокси-объектов тысячи или десятки тысяч (бывает достаточно часто), то все равно не уследишь.
Были. И в 2007-м, и даже в 2004-м мне встречались прокси-объекты. Если файл был создан в Mechanical, например, или в СПДС. Просто если соответствующий энейблер не установлен - при открытии файла предлагаются способы отображения этих прокси-объектов (как рамка или не отображать). Если энейблер установлен - при открытии файла ничего не выдается, но в чертеже можно пощупать эти объекты (если они видимые, конечно) и даже тупо взорвать их.
Я делал когда-то, только информация там такая, что только опытный программист может понять что это такое. А если этих прокси-объектов тысячи или десятки тысяч (бывает достаточно часто), то все равно не уследишь.
Ну, я это понимаю. Только если припрет - можно хоть будет разобраться (особенно если у объектов есть какой-нибудь признак типа (например, 1- таблица, 2 - стиль и т.п.)), а если не нужно - просто проигнорировать этот список. Ну, и выводить ведь его не обязательно на экран, а в файл листинга, и добавить вопросик во время отработки утилиты "Хотите сохранить список удаляемых объектов в файл?".
Ну ладно, это я уже вредничаю Нельзя, так нельзя. И так доволен, что хоть понял, в чем дело.
программист, рыцарь ObjectARX
Были. И в 2007-м, и даже в 2004-м мне встречались прокси-объекты. Если файл был создан в Mechanical, например, или в СПДС. Просто если соответствующий энейблер не установлен - при открытии файла предлагаются способы отображения этих прокси-объектов (как рамка или не отображать). Если энейблер установлен - при открытии файла ничего не выдается, но в чертеже можно пощупать эти объекты (если они видимые, конечно) и даже тупо взорвать их.
Ну, я это понимаю. Только если припрет - можно хоть будет разобраться (особенно если у объектов есть какой-нибудь признак типа (например, 1- таблица, 2 - стиль и т.п.)), а если не нужно - просто проигнорировать этот список. Ну, и выводить ведь его не обязательно на экран, а в файл листинга, и добавить вопросик во время отработки утилиты "Хотите сохранить список удаляемых объектов в файл?".
Ну ладно, это я уже вредничаю Нельзя, так нельзя. И так доволен, что хоть понял, в чем дело.
При наличии прокси-объектов копирование может быть успешным если нет ссылки на эти прокси-объекты. Если стоят все необъодимые энаблеры или сами приложения, то прокси-объектов нет. Признака что это за прокси-объект не существует. В лучшем случае имя родительского класса и его DXF группа 0.
Сегодня читал эту тему. Много думал. Потом поэкспериментировал, вот результаты:
1. Согласен, что при установленных энейблерах прокси-объектов нет. Потому что прокси-объект по определению объект-заместитель. Если стоят энейблеры - АКАД видит оригинальные объекты приложений.
2. Взял чертеж, в котором заведомо были объекты СПДС, открыл в 2009м АКАДе (энейблеры для него не были установлены) - вместо объектов СПДС отображаются прокси-объекты(квадратики). Выделил все, вместе с прокси, скопировал в буфер, открыл новый файл, вставил из буфера - копирование произошло успешно, но прокси-объекты не скопировались. Вывод: прокси-объекты не копируются, но копированию других объектов не мешают.
3. Загрузил модуль ExplodeProxy, команда EXPLODEALLPROXY ничего не взорвала (тут я удивился! Если прокси видны в чертеже, их нужно разорвать и оставить в чертеже как обычные объекты, а не удалить). Команда REMOVEALLPROXY аккуратно вычистила все прокси-объекты. Хотя в данном случае это было бесполезно, видимые объекты мне были нужны.
4. Взял чертеж, с которого началась эта тема, открыл в 2009м АКАДе. Некоторые (не все) блоки в чертеже не копируются. Причем они именно не копируются в буфер, потому что если после Ctrl-C жмем Ctrl-V, то вставляется то, что было помещено в буфер раньше! Видимых прокси нет. Команда EXPLODEALLPROXY ничего не взорвала, команда REMOVEALLPROXY аккуратно вычистила все прокси-объекты. После этого копирование всех объектов восстановилось. Но осадок остался - что это я там удалил-то?
5. Скачал [FONT=Verdana] Object Enabler для СПДС GraphiCS 5.0 под AutoCAD 2007-2009 [/FONT], установил. После этого ВСЕ проблемы исчезли: объекты СПДС в первом файле, естественно, видны, копируются, вставляются, взрываются обычной командой EXPLODE (они ж родные для СПДС). Во втором файле все по-прежнему, никакие новые объекты видны не стали, но копирование всех объектов через буфер восстановилось!
[FONT=Verdana]6. Чтобы совсем уж проверить все варианты, после установки энейблера вызвал команду EXPLODEALLPROXY - ничего не взорвалось ни в первом, ни во втором файлах. Команда REMOVEALLPROXY ничего не удалила ни в первом, ни во втором файле. Это еще раз подтверждает тезис, высказанный в посте 14: при установленном энейблере прокси-объектов в чертеже нет. Из этого вытекают:[/FONT]
[FONT=Verdana] Следствие 1: в моем исходном проблемном файле сидят какие-то приблуды именно от СПДС и проблемы с копированием были именно из-за них.[/FONT]
[FONT=Verdana] Следствие 2: поскольку я сам СПДС не пользуюсь, значит, эти приблуды могут мигрировать из чертежа в чертеж неявным образом (при копировании других объектов из чертежей, созданных с применением СПДС).[/FONT]
Читайте также: