|
||
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
09.03.2004, 15:44 | #1 | |
Привязка только к объектам определенного цвета
Штаб
Регистрация: 21.08.2003
Сообщений: 943
|
||
Просмотров: 7589
|
|
||||
Проектировщик свиноводство Регистрация: 21.08.2003
Сообщений: 2,260
|
О таких тонких настройках Оснапа не знаю. Подозреваю что их нет.
вижу 2 выхода: - или все-же отключать видимость объектов одного из слоев - или писать лисп и в нем анализировать цвет объектов Но может знатоки еще что подскажут? |
|||
|
||||
Регистрация: 16.09.2003
Москва
Сообщений: 91
|
Если в прицел попадает несколько линий, то нажимая на табулятор, можно выбрать нужную линию, а также точку привязки - ближайшая, середина, конец и т.д.
А по цвету вряд ли, потому что линии одного цвета могут попасть в прицел и какую тогда выбрать? |
|||
|
||||
Инженер по системам безопасности Регистрация: 23.11.2003
Рига
Сообщений: 1,099
|
Сделать чтобы маркеры привязки появлялись скажем только на объектах красного цвета по моему нереально. Может это задача посильная ObjectArx? Но сделать чтобы реальная привязка работала только с объектами одного цвета возможно.
Я тут минут 15 соображал насчет этой задачи и кое что придумал. Допустим что мы "щелкаем" стараясь попасть как можно ближе к искомой точке привязки. Создавая вокруг нашей точки "искуственную аппертуру" можно исключить точки привязки объектов "ненужного" цвета и сразу привязаться к наиболее близкой точке примитива "нужного" цвета. Насколько это хорошо будет работать, представить сложно. |
|||
|
||||
Engineer Регистрация: 05.09.2003
New-York
Сообщений: 10,288
|
Не очень понятна задача. Если близко об-екты то можно сделать zoom поглубже. Колесом это просто. При необходимости сделай Zoomfactor=100. Шевельнешь колесом и разглядывай детально это место. Попробуй поиграться также задав объектам разную Elevation или разную коорд. Z. Попробуй также расположить их по цветам командой CDorder (Express-2004). В моей книге есть восстановление перпендикуляра от линии, причем в месте ее пересечения с другим об-ектом. Может, это похожая задача.
|
|||
|
||||
Регистрация: 21.08.2003
Штаб
Сообщений: 943
|
Идею можно описать так: белые объекты - это только фон для указания "крупных мазков". Все равно, что растр. К нему привязываться вообще не надо.
Варианты с табом, зумом и др. понятны, но это не то. Как я представляю работу с привязками (может я не прав): для чертежа создается база данных координат точек (конец, середина и др.) для ВСЕХ объектов. При перемещении курсора, его координаты сравниваются с координатами в базе данных. Если с каким-то допуском координаты равны, то осуществляется привязка. Так вот идея в том, чтобы исключить из базы координаты объектов определенного цвета. |
|||
|
||||
Архитектор Регистрация: 14.10.2003
Израиль
Сообщений: 365
|
Мне малым-мало спалось, да во сне привиделось... Совершенно общая идея для дальнейшей доработки нашими профессионалами, магистрами, гуру(ами) и иже с ними.
Что если отключать привязку не поцветно, а послойно. Безусловно это несколько меняет стиль работы, но цель достигается: не цепляться к фоновому чертежу. Можно обозначить все объекты слоя пунктирным контуром (как в Hatch/Pick Point или ToolPack/Xref/Extract Object), а сам слой при этом погасить. Привязки к пунктирному контуру не цепляются. Может это и возможно...
__________________
С уважением, Влад Гринзайд. |
|||
|
||||
Регистрация: 21.08.2003
Штаб
Сообщений: 943
|
Цитата:
Цитата:
Как это сделать? Цитата:
|
|||
|
||||
AutoCAD/AutoLISP Регистрация: 27.08.2003
Seattle/USA
Сообщений: 1,133
|
Уважаемые коллеги,
вот такое простенькое решение пришло на ум: Использовать Экспресс тулс LayISOLATE/LAYUNISOLATE команды. Изолировать образмерить и LAYUNISOLATE или щелкнуть пок кнопке предыдущий layer. Посмотреть - так ли и повторить по ниовой если неподходит...... При таком раскладе и програмку можно соорудить. Чтоб переключатся быстро и безболезненно... Конечно сначала все по разным layer растолкать с цветом соответственно. А может я чего не так понял - так уж извините господа/товарищи. Иначе все слишком сложно выходит :P :shock: :roll: |
|||
|
||||
сисадмин Регистрация: 26.08.2003
Самара
Сообщений: 1,022
|
>Startrek
Похожая мысль тоже крутилась в голове. В принципе, реализуемо. Только не совсем это правильно. Ведь если скрыть "ненужные" слои, то их не будет видно. Тогда встанет проблема, как разместить размер, чтоб он ненароком не наехал на объекты другого слоя. >Grinzaid Пунктиром выделить можно на уровне Лиспа или VBA, если применить метод Highlight к объектам не того цвета, только в таком виде они продолжают цеплять к себе привязку. (vla-Highlight (vlax-ename->vla-object (car (entsel))) :vlax-true) Видимо в Hatch/Pick Point или ToolPack/Xref/Extract Object это реализовано как-то иначе, на более высоком уровне. |
|||
|
||||
Регистрация: 21.08.2003
Штаб
Сообщений: 943
|
Пока я нашел такой выход (только не надо меня бить):
я чертеж распечатал (чтобы видеть "мазки") и отключил слой с белыми объектами. Слышал, что 2005-й выйдет в июне, так что действительно надо обратиться с этой проблемой - может успеют |
|||
|
||||
Сообщений: n/a
|
Была бы идея - решение найдется. См. приложение AlxdOSnapFilter на сайте http://www.alx.ncn.ru
AlxdOSnapFilter позволяет фильтровать примитивы участвующие в определении точки объектной привязки. Основные возможности: - фильтр по цвету - фильтр по имени слоя - фильтр по типу линий - фильтр по толщине - инвертирование любого фильтра - вкл/выкл фильтра FREEWARE Тестите. Найдете ошибки - киньте инфу на мыло. |
|||
|
||||
Архитектор Регистрация: 14.10.2003
Израиль
Сообщений: 365
|
Я вначале зарустил _osnapfilter в сложносоставном файле с внешними ссылками, и фильтр работал некорректно. Потом я создал специальный файл с двумя слоями и двумя цветами. По моим предположениям фильтр должен относиться положительно или отрицательно к одному из слоёв вне зависимости от inversed, но этого не происходит. Добавлю к сказанному, что сам автор программы интерпретирует inversed как "прозрачпость", а не как "негативный выбор". Так что пока глухо.
__________________
С уважением, Влад Гринзайд. |
|||