Как инвертировать выделение в автокаде
Форумы CADUser → Autodesk → AutoCAD → AutoCAD 2006. Как отключить выделение объектов при попадании на них курсора?
Тема: AutoCAD 2006. Как отключить выделение объектов при попадании на них курсора?
Как отменить утолщение (выделение) объектов при попадании на них курсора в версии 2006.
> Галина
Системная переменная
Тип: битовый код
Сохранен в: реестр
Начальное значение: 3
Управляет отображением предварительного просмотра выбора . Объекты выделяются при наведении на них прицела. В этом случае предварительный выбор означает, что объект был бы выбран при щелчке на нем. Параметр хранится в виде битового кода, использующего сумму следующих значений.
Включено, если ни одна команда не активна
Включено в ответ на запрос выбора объекта
РУС
Вкладка «Выбор» (диалоговое окно «Настройка»)
Просмотр выбранных объектов
Выделяет объекты при наведении на них прицела. Системная переменная PREVIEWEFFECT определяет внешний вид выделенных объектов.
Когда активна команда
Позволяет предварительный просмотр выбранных объектов, только если команда активна и отображается запрос "Выбрать объекты". (системная переменная SELECTIONPREVIEW)
Если нет активных команд
Отображает выбранные элементы для предварительного просмотра, если ни одна команда не активна. (системная переменная SELECTIONPREVIEW)
Параметры визуальных эффектов
Отображает диалоговое окно "Параметры визуальных эффектов".
ENG
Selection Tab (Options Dialog Box)
Selection Preview
Highlights objects as the pickbox cursor rolls over them. The PREVIEWEFFECT system variable controls the appearance of the highlighted objects.
When a Command Is Active
Displays selection previewing only when a command is active and the Select Objects prompt is displayed. (SELECTIONPREVIEW system variable)
When No Command Is Active
Displays selection previewing when no commands are active. (SELECTIONPREVIEW system variable)
Visual Effect Settings
Displays the Visual Effect Settings dialog box.
подскажите, возможно ли autocad выделить объекты чертежа так, что бы выделились даже те объекты, которые не попадают в видимость экрана, но были захвачены рамкой выделения.
__________________
Работаю за еду.
Working for food.
Für Essen arbeiten.
العمل من أجل الغذاء
Працую за їжу.
__________________
Работаю за еду.
Working for food.
Für Essen arbeiten.
العمل من أجل الغذاء
Працую за їжу.
Фиг, не выделяет, ежели визуально. Конечно программным методом можно добиться, сначала получив точки, а уже потом запихав их в ssget. Но стандартными автокадовскими средствами нельзя.
Конечно программным методом можно добиться, сначала получив точки, а уже потом запихав их в ssget. Но стандартными автокадовскими средствами нельзя.
__________________
Работаю за еду.
Working for food.
Für Essen arbeiten.
العمل من أجل الغذاء
Працую за їжу.
__________________
Работаю за еду.
Working for food.
Für Essen arbeiten.
العمل من أجل الغذاء
Працую за їжу.
ctrl+A не катит, т.к. часто нужно выделить не все а. почти все. А что такое ssget? Это вероятно лисп для выделения?
Формироваться то он формируется, только в этот набор не входит то что было за пределами экрана. Последовательность, например, такая для наглядности:
1. Вводим (setq ss (ssget "_W" (getpoint) (getpoint)))
2. Указываем первую точку вверху слева.
3. При запросе второй, паном (колесиком мышки) сдвигаем экран так чтобы часть примитивов и первая точка оказались за пределами экрана.
4. Указываем вторую точку внизу справа. Создался набор ss.
5. Вводим команду "_move" и при запросе объектов вводим "!ss" и видим что те объекты которые были за пределами экрана, но якобы попадали в нашу рамку, не выделены.
Может в ActiveX чего есть.
__________________
Работаю за еду.
Working for food.
Für Essen arbeiten.
العمل من أجل الغذاء
Працую за їжу.
ctrl+A не катит, т.к. часто нужно выделить не все а. почти все. А что такое ssget? Это вероятно лисп для выделения?
Если нужно выделить почти все, то выделяй все, а потом с Shift то что не нужно.
ssget - это функция AutoLISP
Ага, а сначала запустить команду, а потом выделять что не дает (соответственно, pickfirst должна быть установлена в нормальный режим)?
Есть ли команда инвертировать выбор?
Т.е. выделено в файле какое-то множество элементов, и дать команду - выбрать все, кроме выделенного?
--- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
Да, точно - есть фирменная возможность! Через команду _SELECT.
Нет фирменной возможности инвертировать выбор "одной кнопкой".
^C^C_.select;_all;_remove;_p;
Не то? Пишу "насухую", так что тестируй аккуратно
----- добавлено через 23 сек. -----
Ну или лиспом, и "повесить" его на горячую клавишу.
--- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
Но сколько уже таких макросов, лиспов, палеток, панелек, замен действий кнопок Автокада на свои и пр.
Offtop: По мне - так это больше плюс, нежели минус. Думаю, что это одна из основных причин столь бешеной популярности Автокада. Ведь, как ни крути, абсолютно всё, что может захотеть любой пользователь, - в программу изначально не засунешь. А с возможностью добавления практически любого функционала каждый каприз может быть осуществлен. Многое уже давно есть в свободном доступе и список исполненных желаний до сих пор - хоть уже и не с такой скоростью - пополняется. Благо, добрые люди не перевелись. При необходимости можно достаточно быстро овладеть минимальными навыками программирования - язык лисп довольно прост для освоения. Ну на худой конец можно за небольшую сумму найти того, кто это сделает. Одним словом - КАЙФ
Да что-то достало. То ли от большелуния и жары, то ли от тщеты усилий
Offtop: Либо Автокад некачественно или неполно сделан изначально, что нужно все время что-то дописывать или переписывать. Либо естественно, что все время нужно добавлять и добавлять. Либо третье.
В Автокаде многое "набросано в принципе", но не доделано, не обеспечено возможностями, и порядочно косяков не исправляется десятилетиями.
И все-таки: выбор элементов относится же к задачам самым базовым? Да, тот же инвертированный выбор сделать можно, но совсем ведь не на раз. Выбора относительно указанного существующего контура так и нет.
И, во-вторых, всю накопленную бездну полезных или дополнительных макросов, программок, настроек и пр. почти невозможно без потерь переносить на другие машины, в другие версии, передавать сотрудникам, соисполнителям.
С новыми версиями совсем прикольно, что в новых старые программки или даже макросы могут не работать. Понятно, когда написанное для новых версий может не работать в старых, но наоборот? Вот, мои знакомые вынуждены работать в основном на версиях не старше 2008, т.к. нет у них возможностей переписать на современные версии нужный им набор программок. Платить за написание одних и те же программ дважды, трижды, многожды? Теоретически, нормально было бы, если б фирма, меняя формат и пр. брала бы на себя обязательства соответственно переделывать и программки пользователей!
Народ мне нужна очень "ерьезная вещ"в автокаде))),а именно. С помощью замкнутой полилинии я должен обвести облясть с энным каличеством ибьектов и при выделении этой полилинии должны выдилится все обьекты попавшие в контуры полилинии.Заранее говорю блок з0десь неподойдет потомучто эта полилиния должна легко изменять свою форму и соответственнол изменяется количество попавших обьектов в нуть этой самой линии и распределение обьектов по слоям тоже неподходит ибо это небыстрее чем расчет вручную :cry: .Может быть необходимо написать специалный скрипт для решения этой задачи. может кто подскажет . или это проще зделать в какой либо другой программе.Да и чтобы избавить вас от лышних вопросов сразу говорю все это нужно в области Градостроительства для быстрого подщета планогаммы расселения городов
__________________ --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
1. Выбор производится Рамкой многоугольника (_WP). Т.е. попадают объекты, которые полностью лежат внутри многоугольной области. Если нужно секущим многоугольником, замени текст
2. Полилиния контура должна быть выпуклой
***Добавлено*** 2011-03-14
Фрагмент чертежа по прямоугольной, круглой или ломаной границе
Команды: SCWP; SCCP
Выделение объектов путем указания существующего контура.
В качестве контура могут выступать сплайны, полилинии, дуги, круги, элипсы.
Контур должен быть выпуклым.
Большое спасибо что откликнулись))!!
Группы здесь скорее всего не подойдут потому-то они постоянно могут изменятся. В качестве примера вылежал фрагмент расселения, на карте 2 зоны пересекающие друг друга…..и мне нужна такая вещ…При выделении синей или зеленой полилинии должны выделятся ТОЛЬКО все красные точки попавшие в ее контуры. про wpolygon я знаю это немного другое мне нужна именно линия отображающаяся на чертеже а не многоугольный курсор, причем я должен при желании изменить форму или переместить эту линию и соответственно точки попавшие в контур станут другие. Незнаю на сколько всё это решаемо, жду ваших комментариев. Заранее спасибо)
[ATTACH]1161695004.jpg[/ATTACH]
Инженер по системам безопасности
Судя по картинке это не точки а блоки. Попробуйте этот лиспик. Сначала указываете граничную полилинию, потом образцовый блок. Если надо действительно точки то переделать несложно.
Тут есть рабочий лисп на эту тему от VVA (корректно второе издание, переработанное и дополненное).
Мне, например, надо выделять объекты в области контура (замкнутого, разумеется) точь-в-точь, т.е., именно то, что находится внутри контура, ни больше ни меньше. Лисп же с этой ссылки делает чуть не так. Команда SCWP выделяет только объекты, целиком попавшие в контур, при этом игнорируются те, что находятся по обе стороны контура. А команда SCCP выделяет все те, хотя бы часть которых попала в контур. Лиспом, точнее командой BreakTouching отсюда я разрываю все граничащие с контуром линии. Потом делаю Offset (Подобие) секущего контура внутрь на 0,1мм с удалением исходного секущего контура, и выделяю то, что внутри контура командой SCCP, либо наоборот, Offset наружу и командой SCWP. Подобие нужно потому, как я понял, что наш секущий контур после разрыва всех линий касается этих линий как внутри, так и снаружи себя, что нежелательно в моем случае при использовании ни SCCP, ни SCWP. В принципе, это выход, но очень много манипуляций. Может, можно как-то выбирать объекты внутри контура с их разрывом одной командой?
P.S. Изначально хотел, просто донести информацию до кого-то, кому это может пригодиться, но если кто подскажет, как упростить процесс, буду благодарен, хотя и так труда особого не составляет. Вчера коллегу удивил, вырезав из большой карты круглый фрагмент за пятнадцать секунд. Она break'ом все линии рвала, потом выделяла по одной
Вот еще идея возникла написать макрос на кнопку. С BreakTouching и SCWP все понятно, но как с Offset'ом быть? Как объяснить машине программно, что мне надо сделать Offset внутрь, например, на 0,1?
Это самое сложное, проще наверное попросить пользователя "ткнуть" мышкой. Как вариант - преобразовать в регион и взять центр тяжести.
Индексация финансовых сигригенций зависит от латентоадекватных мажеритарных абструкций.(с)М. Задорнов |
Фрагмент чертежа по прямоуг. или кругл. границе
Хотя, пожалуй лучше опубликую тут - ссылки иногда теряются:
Как Вы знаете, сейчас я провожу тренинг "Использование AutoCAD на 100%". И во вчерашнем семинаре я поднял тему выделения объектов. Казалось бы, рядовая тема, но многие люди, проходящие тренинг (даже опытные пользователи), не знают о дополнительных настройках рам выделения!
Вот я и решил выложить тему в общий доступ.
Функция базовая, поэтому ее должны знать все!
Думаю Вам пригодится.
В данном уроке мы рассмотрим методы выделения в AutoCAD. Все знают и пользуются двумя рамами выделения. Первая это секущая рама (имеет зеленый цвет), она тянется с права на лево, и все что даже частично попадает в нее выделяется. Вторая рама называется охватывающая (имеет синий цвет), она тянется с лева на право и выделяет только те объекты, которые целиком попадают в нее. Но мало кто знает и пользуется контекстными функциями. Если мы нажмем на левую кнопку мыши и начнем тянуть раму, в командной строке у нас появятся три субопции: Линия, Рмн-угол, СМн- угол.
При выборе СМн-угол у нас появляется штрихпунктирная линия, с помощью которой строим полигон. Он имеет зеленый цвет и значит является секущим. Объекты, которые касаются его даже частично, выделяются. Если же мы выбираем Рмн-угол, то получим синий полигон, и выделять он будет только те объекты, которые попадают в него целиком. И остается последний вид, это линия. Выделяет она только те объекты, через которые проходит. Если же мы хотим снять выделение с какого-либо объекта, для этого зажимаем клавишу Shift и выделяем этот объект.
Читайте также: