Привязка только к объектам определенного цвета
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Привязка только к объектам определенного цвета

Привязка только к объектам определенного цвета

Ответ
Поиск в этой теме
Непрочитано 09.03.2004, 15:44 #1
Привязка только к объектам определенного цвета
Torino
 
Штаб
Регистрация: 21.08.2003
Сообщений: 943

На чертеже созданы объекты двух цветов: красного и белого.
Расположены они очень близко друг к другу.
Необходимо создавать новые объекты, привязываясь к красным объектам.
Но при этом белые должны быть видны.

Можно ли сделать так, чтобы привязка осуществлялась только к красным объектам?
Просмотров: 7926
 
Непрочитано 09.03.2004, 16:11
#2
Pilot

Проектировщик свиноводство
 
Регистрация: 21.08.2003
Сообщений: 2,291


О таких тонких настройках Оснапа не знаю. Подозреваю что их нет.
вижу 2 выхода:
- или все-же отключать видимость объектов одного из слоев
- или писать лисп и в нем анализировать цвет объектов

Но может знатоки еще что подскажут?
Pilot вне форума  
 
Непрочитано 09.03.2004, 16:31
#3
niko


 
Регистрация: 16.09.2003
Москва
Сообщений: 91


Если в прицел попадает несколько линий, то нажимая на табулятор, можно выбрать нужную линию, а также точку привязки - ближайшая, середина, конец и т.д.
А по цвету вряд ли, потому что линии одного цвета могут попасть в прицел и какую тогда выбрать?
niko вне форума  
 
Непрочитано 10.03.2004, 00:48
#4
{Smirnoff}

Инженер по системам безопасности
 
Регистрация: 23.11.2003
Рига
Сообщений: 1,099


Сделать чтобы маркеры привязки появлялись скажем только на объектах красного цвета по моему нереально. Может это задача посильная ObjectArx? Но сделать чтобы реальная привязка работала только с объектами одного цвета возможно.

Я тут минут 15 соображал насчет этой задачи и кое что придумал. Допустим что мы "щелкаем" стараясь попасть как можно ближе к искомой точке привязки. Создавая вокруг нашей точки "искуственную аппертуру" можно исключить точки привязки объектов "ненужного" цвета и сразу привязаться к наиболее близкой точке примитива "нужного" цвета.

Насколько это хорошо будет работать, представить сложно.
{Smirnoff} вне форума  
 
Непрочитано 10.03.2004, 04:40
#5
Vova

Engineer
 
Регистрация: 05.09.2003
New-York
Сообщений: 10,288


Не очень понятна задача. Если близко об-екты то можно сделать zoom поглубже. Колесом это просто. При необходимости сделай Zoomfactor=100. Шевельнешь колесом и разглядывай детально это место. Попробуй поиграться также задав объектам разную Elevation или разную коорд. Z. Попробуй также расположить их по цветам командой CDorder (Express-2004). В моей книге есть восстановление перпендикуляра от линии, причем в месте ее пересечения с другим об-ектом. Может, это похожая задача.
Vova вне форума  
 
Непрочитано 10.03.2004, 08:46
#6
Baron


 
Регистрация: 17.12.2003
Сообщений: 114


А с нажатым Ctrl не вариант выбирать?
Baron вне форума  
 
Непрочитано 10.03.2004, 09:22
#7
niko


 
Регистрация: 16.09.2003
Москва
Сообщений: 91


CTRL - для выбора (перебора) объектов при копировании, переносе и т.п.
TAB - в режиме объектной привязки.
Можно ещё открыть 2-4 окна с разным ZOOM.
niko вне форума  
 
Автор темы   Непрочитано 10.03.2004, 11:54
#8
Torino


 
Регистрация: 21.08.2003
Штаб
Сообщений: 943
<phrase 1=


Идею можно описать так: белые объекты - это только фон для указания "крупных мазков". Все равно, что растр. К нему привязываться вообще не надо.
Варианты с табом, зумом и др. понятны, но это не то.

Как я представляю работу с привязками (может я не прав): для чертежа создается база данных координат точек (конец, середина и др.) для ВСЕХ объектов.
При перемещении курсора, его координаты сравниваются с координатами в базе данных.
Если с каким-то допуском координаты равны, то осуществляется привязка.

Так вот идея в том, чтобы исключить из базы координаты объектов определенного цвета.
Torino вне форума  
 
Непрочитано 10.03.2004, 13:11
#9
Grinzaid

Архитектор
 
Регистрация: 14.10.2003
Израиль
Сообщений: 365
<phrase 1=


Мне малым-мало спалось, да во сне привиделось... Совершенно общая идея для дальнейшей доработки нашими профессионалами, магистрами, гуру(ами) и иже с ними.

Что если отключать привязку не поцветно, а послойно. Безусловно это несколько меняет стиль работы, но цель достигается: не цепляться к фоновому чертежу.

Можно обозначить все объекты слоя пунктирным контуром (как в Hatch/Pick Point или ToolPack/Xref/Extract Object), а сам слой при этом погасить. Привязки к пунктирному контуру не цепляются.

Может это и возможно...
__________________
С уважением,
Влад Гринзайд.
Grinzaid вне форума  
 
Автор темы   Непрочитано 10.03.2004, 16:34
#10
Torino


 
Регистрация: 21.08.2003
Штаб
Сообщений: 943
<phrase 1=


Цитата:
Сообщение от Grinzaid
да во сне привиделось...
Если бы во сне, а то в работе...

Цитата:
Сообщение от Grinzaid
Что если отключать привязку не поцветно, а послойно.
Т.е. привязка не осуществляется к объектам определенного слоя?
Как это сделать?

Цитата:
Сообщение от Grinzaid
Можно обозначить все объекты слоя пунктирным контуром (как в Hatch/Pick Point или ToolPack/Xref/Extract Object), а сам слой при этом погасить. Привязки к пунктирному контуру не цепляются.
Если можно, про это подробнее.
Torino вне форума  
 
Непрочитано 11.03.2004, 00:17
#11
Startrek

AutoCAD/AutoLISP
 
Регистрация: 27.08.2003
Seattle/USA
Сообщений: 1,133


Уважаемые коллеги,
вот такое простенькое решение пришло на ум:
Использовать Экспресс тулс LayISOLATE/LAYUNISOLATE команды.
Изолировать образмерить и LAYUNISOLATE или щелкнуть пок кнопке предыдущий layer.
Посмотреть - так ли и повторить по ниовой если неподходит......
При таком раскладе и програмку можно соорудить. Чтоб переключатся быстро и безболезненно...
Конечно сначала все по разным layer растолкать с цветом соответственно.
А может я чего не так понял - так уж извините господа/товарищи.
Иначе все слишком сложно выходит :P :shock: :roll:
Startrek вне форума  
 
Непрочитано 11.03.2004, 00:59
#12
vk

сисадмин
 
Регистрация: 26.08.2003
Самара
Сообщений: 1,022
<phrase 1=


>Startrek
Похожая мысль тоже крутилась в голове. В принципе, реализуемо. Только не совсем это правильно. Ведь если скрыть "ненужные" слои, то их не будет видно. Тогда встанет проблема, как разместить размер, чтоб он ненароком не наехал на объекты другого слоя.

>Grinzaid
Пунктиром выделить можно на уровне Лиспа или VBA, если применить метод Highlight к объектам не того цвета, только в таком виде они продолжают цеплять к себе привязку.

(vla-Highlight (vlax-ename->vla-object (car (entsel))) :vlax-true)

Видимо в Hatch/Pick Point или ToolPack/Xref/Extract Object это реализовано как-то иначе, на более высоком уровне.
vk вне форума  
 
Непрочитано 11.03.2004, 09:40
#13
Pilot

Проектировщик свиноводство
 
Регистрация: 21.08.2003
Сообщений: 2,291


Да... Похоже, придется обращаться в Автодеск - чтоб они в следующей версии реализовали такую тонкую настройку привязок
Pilot вне форума  
 
Автор темы   Непрочитано 11.03.2004, 12:37
#14
Torino


 
Регистрация: 21.08.2003
Штаб
Сообщений: 943
<phrase 1=


Пока я нашел такой выход (только не надо меня бить):
я чертеж распечатал (чтобы видеть "мазки") и отключил слой с белыми объектами.
Слышал, что 2005-й выйдет в июне, так что действительно надо обратиться с этой проблемой - может успеют
Torino вне форума  
 
Непрочитано 11.03.2004, 16:10
#15
vk

сисадмин
 
Регистрация: 26.08.2003
Самара
Сообщений: 1,022
<phrase 1=


Цитата:
надо обратиться с этой проблемой - может успеют
Ага, это им прям ну оччччень надо
vk вне форума  
 
Непрочитано 22.03.2004, 08:58
#16
Alxd


 
Сообщений: n/a


Была бы идея - решение найдется. См. приложение AlxdOSnapFilter на сайте http://www.alx.ncn.ru

AlxdOSnapFilter позволяет фильтровать примитивы участвующие в определении точки объектной привязки.

Основные возможности:
- фильтр по цвету
- фильтр по имени слоя
- фильтр по типу линий
- фильтр по толщине
- инвертирование любого фильтра
- вкл/выкл фильтра

FREEWARE
Тестите. Найдете ошибки - киньте инфу на мыло.
 
 
Автор темы   Непрочитано 22.03.2004, 12:02
#17
Torino


 
Регистрация: 21.08.2003
Штаб
Сообщений: 943
<phrase 1=


В точку!
Спасибо!
Torino вне форума  
 
Непрочитано 22.03.2004, 12:36
#18
Grinzaid

Архитектор
 
Регистрация: 14.10.2003
Израиль
Сообщений: 365
<phrase 1=


Что-то этот фильтр не фурычит.
__________________
С уважением,
Влад Гринзайд.
Grinzaid вне форума  
 
Непрочитано 22.03.2004, 12:41
#19
Alxd


 
Сообщений: n/a


В логику фильтра вникнуть надо. В настройках по сути указывается то, что будет использовать фильтр (а не то, что исключит!!!) при вычислении точки привязки. Если надо исключить, включай inversed!

Не надо рубить с плеча так сразу
 
 
Непрочитано 22.03.2004, 13:20
#20
Grinzaid

Архитектор
 
Регистрация: 14.10.2003
Израиль
Сообщений: 365
<phrase 1=


Я вначале зарустил _osnapfilter в сложносоставном файле с внешними ссылками, и фильтр работал некорректно. Потом я создал специальный файл с двумя слоями и двумя цветами. По моим предположениям фильтр должен относиться положительно или отрицательно к одному из слоёв вне зависимости от inversed, но этого не происходит. Добавлю к сказанному, что сам автор программы интерпретирует inversed как "прозрачпость", а не как "негативный выбор". Так что пока глухо.
__________________
С уважением,
Влад Гринзайд.
Grinzaid вне форума  
 
Непрочитано 23.03.2004, 08:04
#21
Alxd


 
Сообщений: n/a


Создаем новый чистый чертеж. Потом создаем две линии, одна в слое "test1", другая в слое "test2". Для наглядности можно присвоить слоям разные цвета.
Вызываем команду _osf;_la;_name;test1
В итоге получаем, что привязка работает только к объектам на слое test1.
Если надо сделать так, чтобы объекты привязывались ко всему, кроме test1, вызываем команду _osf;_la;_inverse

С внешними ссылками надо иметь ввиду то, что используется полное имя слоя, типа: XREF|LayerName. Следовательно фильтр надо писать так: XREF|Layer*
 
 
Непрочитано 23.03.2004, 09:16
#22
Grinzaid

Архитектор
 
Регистрация: 14.10.2003
Израиль
Сообщений: 365
<phrase 1=


Теперь получилось. Я думал, что под цветом имеется в виду конечный цвел объекта, т.е. красный оъект, будь он красным bylayer или просто красным, будет отфильтровываться по цвету. Оказалось иначе.

Если бы можно было отфильтровывать слой, в котором сидит xref, включая все слои xref-а, или добавить новый фильтр по xref-у... :roll:
__________________
С уважением,
Влад Гринзайд.
Grinzaid вне форума  
 
Непрочитано 23.03.2004, 12:30
#23
Alxd


 
Сообщений: n/a


Уточните пжлст. Я не до конца понял последнюю фразу.
 
 
Непрочитано 23.03.2004, 12:59
#24
Grinzaid

Архитектор
 
Регистрация: 14.10.2003
Израиль
Сообщений: 365
<phrase 1=


Хорошо бы не привязыватьвя к определённому иксрефу, например к топосъёмке или к предыдущему этажу, т.е создать новый фильтр:
[Color/LAyer/LType/LWeight/XRef/eXit]
__________________
С уважением,
Влад Гринзайд.
Grinzaid вне форума  
 
Непрочитано 23.03.2004, 14:33
#25
Alxd


 
Сообщений: n/a


А чем не нравиться указание имени внешней ссылки в имени слоя???
Т.е. сделать фильтр по слою xref|* inversed
 
 
Непрочитано 23.03.2004, 15:29
#26
Grinzaid

Архитектор
 
Регистрация: 14.10.2003
Израиль
Сообщений: 365
<phrase 1=


Почему не нравится? Нравится. Не знал, что можно задавать имя слоя частично. вроде работает. Продолжу упражняться.

Как обнулять имя слоя?
__________________
С уважением,
Влад Гринзайд.
Grinzaid вне форума  
 
Непрочитано 24.03.2004, 06:28
#27
Alxd


 
Сообщений: n/a


Обнулять? Поставить * и все
Кстати, насчет * и пр. wild-card'ов. В справке к AutoCAD описаны все символы, которые можно использовать при вводе шаблона строки. Там есть *, @, #, ~, - и даже диапазон [...]. Так что можно сделать шаблон строки весьма навороченным. [sm802]
 
 
Непрочитано 26.03.2004, 06:30
#28
Alxd


 
Сообщений: n/a


2 Torino>
Я же говорил, что сделаю версию под AutoCAD 2004 и 2005. Вот и сделал. Качай AlxdOSnapFilter2004.zip там же, на http://www.alx.ncn.ru
 
 
Автор темы   Непрочитано 26.03.2004, 11:04
#29
Torino


 
Регистрация: 21.08.2003
Штаб
Сообщений: 943
<phrase 1=


Спасибо!
Я должник!
Torino вне форума  
 
Непрочитано 29.03.2004, 14:20
#30
Эдуард

строительство
 
Регистрация: 16.01.2004
Петербург
Сообщений: 165
<phrase 1=


Вариант:
Если поместить примитивы на слой Defpoints а слой 0 выключить
привязка к этим примитивам не работает хотя они видимы на экране.
Отсюда напрашивается простенький Лисп с любой фильтрацией
по желанию хозяина и без всяких сложностей.
Эдуард вне форума  
 
Автор темы   Непрочитано 29.03.2004, 15:56
#31
Torino


 
Регистрация: 21.08.2003
Штаб
Сообщений: 943
<phrase 1=


В 2005-ом слоя defpoints убрали из менеджера слоев.
Torino вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Привязка только к объектам определенного цвета