|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
|
||||
Регистрация: 20.03.2008
Сообщений: 2,653
|
Цитата:
Поразительно! Ни одна мелочь не ускользнет от твоего зоркого взгляда. Тебя пора номинировать на звание Модератор века Offtop: Не пойму,что-то изменилось - мой браузер или форум - не могу теперь изменить название ссылки, а теги не очень-то понимаю. Еще и ник не выходит вставить в сообщение никак VVA, и вправду хороший вариант для произвольных полилиний, особенно в связке с лиспом для выделения объектов в области контура. Спасибо. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,855
|
Цитата:
[url=http://www.caduser.ru/forum/index.php?PAGE_NAME=read&FID=44&TID=44865]Нужный текст[/url]
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Один вопрос, похоже, риторический: в самом базовом Автокаде так и нет возможности выбора объектов внутри указанного существующего контура?
Второе: по поводу отличной программы VVA из п.2 в #4, которая выделяет все объекты в указанном контуре. Один в ней недостаток - на мой взгляд. Или спорный момент. Программа по команде SCWP (выделить объекты внутри контура) не выделяет те тексты и блоки, части которых выходят за пределы контура, но чьи точки вставки попадают в контур. Да, по команде SCCP (выделить объекты хоть частично попадающие в контур) эти тексты и блоки выделятся. но вместе с ними выделятся и другие элементы, попадающие хоть частично на контур. Т.е., по-моему, при выделении объектов внутри контура (SCWP) нужно выделять и тексты, блоки, чьи точки вставки попадают в контур. Даже если их общие габариты выходят за его пределы. |
||||
|
||||
Регистрация: 20.03.2008
Сообщений: 2,653
|
Цитата:
Наверное, для такой цели логичнее сделать третью команду, которая включит в набор тексты и блоки, не попавшие целиком внутрь контура. Первые две ведь работают полностью по аналогии со штатными рамкой и секрамкой. |
|||
|
||||
Немного мечтаний... В кад-MicroStation отродясь, т.е. с конца 80-х - точно, есть волшебный инструмент Fence. Это не тип элемента, хотя его форму можно редактировать, а отдельная сущность - граница обработки данных. Fence можно задать рамкой, окружностью, им можно начертить произвольный замкнутый контур, назначить им существующий замкнутый контур, текущий экран, границы файла и границы площади, которую ограничивают линии файла вокруг указанной точки. В нем можно выставить режимы: внутри, внутри и пересекает, вырезаемое внутри границей (Clip), снаружи, снаружи и пересекает, вырезаемое снаружи границей (Void-Clip). И набор специальных команд для элементов с учетом Fence: удалить, разбить, перенести, скопировать и пр. В т.ч. перенести или скопировать в другой файл.
Кроме того, практически для всех обычных команд, действий существует опция Use Fence и настройка его режима в каждой из команд. Т.е. Fence - это потенциальное выделение в указанной границе, которое, задав, можно использовать или не использовать в любой момент и для любого нужного действия с элементами, соответствующими этой границе и заданному режиму. При этом, его можно использовать любое количество раз - просто включить опцию Use Fence при нужных действиях и подстраивать режим. Живет Fence до тех пор, пока его не отменят или не назначат другое. Эффективно чрезвычайно. А рамка, секрамка, выделение/отмена штучные и пр. в MicroStation тоже есть Цитата:
Гм... Вы правы - SCWP и SCCP работают именно так, как рамка и секрамка! Я как-то в пылу сражения об этом не подумал Offtop: Я теоретизировал так: - во-первых, геометрически блоки и тексты характеризуются в первую очередь точкой вставки. - во-вторых, если бы существовал выбор не только элементов внутри многоугольника (контура), но и выбор вне контура, то они должны быть обратны друг другу. А это возможно только по точкам вставки. Т.е. при выборе внутри контура тексты и блоки, чьи точки вставки попадают внутрь, выделяются, а при выборе всего снаружи контура - не выделяются. Иначе они не выделятся ни при выборе внутри контура, ни снаружи, что, по-моему, нонсенс. Но, возможно, я вообще не прав. Кстати, в том же MicroStation выделение делается так же, как в Автокаде - попадающие на контур/Fence тексты и блоки не выделяются ни при Inside, ни при Void |
||||
|
||||
В целом реализовано выделение внутри/вне контуров с учетом только точек вставки блоков и текстов.
Заодно, еще шесть вариантов выделения по контурам. И с учетом предварительного выбора. И выбор сразу по множеству контуров. И контуры можно собирать из множества отдельных элементов. И есть выделение элементов на линиях или пересекающих линии с учетом 3D. Хотя, и пока только под 2010-2012, и контуры не могут быть криволинейными.
__________________
количество моих сообщений не говорит о знании Автокада |
||||
|
||||
Такая засада - и лисп SelectContour, и arx Psi_Sel при определенных условиях не отображают на экране выделение элементов. Хотя, в панели свойств пишется, что выбраны элементы.
Происходит так: 1. Обе программы выбирают указанное относительно контура и этот выбор отображается на экране голубыми ручками элементов. 2. Выключаю или замораживаю какой-то слой. 3. Обе программы выбирают указанное относительно контура, но на экране это не отображается. Хотя в панели свойств пишет о числе выбранных элементов. Сколько раз программы ни вызывай - на экране выбранное не видно. Если же просто ткнуть мышкой в экран, то выбор отобразится на экране включенными ручками. Или если после выключения слоя сделать общий вид или regenall, то выбранное SelectContour или Psi_Sel сразу отображается на экране. В чем проблема в отображении выбранного после выключения слоев? Проверял на 2012 и 2014. Последний раз редактировалось АлексЮстасу, 29.10.2013 в 01:12. |
||||
|
||||
Цитата:
Цитата:
__________________
количество моих сообщений не говорит о знании Автокада |
||||