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

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Массовый TRIM объектов

Массовый TRIM объектов

Ответ
Поиск в этой теме
Непрочитано 15.09.2004, 16:08 #1
Массовый TRIM объектов
X-DeViL
 
Бизнес-шмизнес
 
Питер
Регистрация: 26.05.2004
Сообщений: 1,911

Имеем насыщенный... очень насыщенный чертеж... каким образом можно сделать trim ВСЕХ объектов находящихся внутри какойнить области ограниченной ломаной линией?
Просмотров: 3259
 
Непрочитано 15.09.2004, 16:26
#2
{Smirnoff}

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


Командой _extrim из Экспрессов.
{Smirnoff} вне форума  
 
Непрочитано 15.09.2004, 17:01
#3
Arkady

AutoCad Development and Support
 
Регистрация: 21.08.2003
Israel
Сообщений: 183
Отправить сообщение для Arkady с помощью Skype™


Если есть Autocad Map - там есть Boundary Trim - дивная вещь.
Arkady вне форума  
 
Непрочитано 15.09.2004, 17:25
#4
Mikhail

инженер-технолог (ГИП)
 
Регистрация: 11.09.2003
Санкт-Петербург
Сообщений: 1,144


Как я разобрался
http://dwg.ru/forum/viewtopic.php?t=...a36ac23d8c6d49

Fence, fence и еще раз Fence
__________________
Большая беда науки в том, что при восхитительной теории можно получить отвратительные результаты.
Mikhail вне форума  
 
Автор темы   Непрочитано 15.09.2004, 18:43
#5
X-DeViL

Бизнес-шмизнес
 
Регистрация: 26.05.2004
Питер
Сообщений: 1,911


Fantomas
Мучо грациаз ))

ЕЩЕ вопрос...

А как сделать так чтобы все объекты ВНЕ области удалить?
X-DeViL вне форума  
 
Непрочитано 15.09.2004, 18:58
#6
{Smirnoff}

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


Уж незнаю что проще.

1) Посадить молодую симпатичную девушку и показать ей что удалять. 8)

2) Быстренько написать ЛИСПик который создаст набор всех объектов, затем вычтет из него набор объектов ограниченных точками полилинии ограничивающей контур и удалит оставшееся.

Но точно не сегодня... Пора домой. Кстати может у кого и готовый есть.
{Smirnoff} вне форума  
 
Непрочитано 15.09.2004, 19:20
#7
vk

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


Ежли 1 - интересно - интересно :wink:
Ежли 2 - можно конечно... да больно уж хлопотно... :cry:

А чем же EXTRIM плоха то? Ткнуть надо с той стороны, где удалять.... Хоть внутри контура, хоть снаружи....

Цитата:
Fence, fence и еще раз Fence
Кажись, не в этом случае - ручками придется контур обходить... Хотя, работает 100% надежно :!:
vk вне форума  
 
Автор темы   Непрочитано 16.09.2004, 08:43
#8
X-DeViL

Бизнес-шмизнес
 
Регистрация: 26.05.2004
Питер
Сообщений: 1,911


Fantomas
1. А денажку тожа ей отдать? или натурой расплатится? ))
2. ЛИСП это хорошо... а мож есть build-in команда?

vk

"Экстрим" меня устроил на 100%, но знаешь у каждого есть неосузествимая мечта... работать поменьше... а денег получать побольше... вот например с квартирографией так... - выделил контур, нажал вне контура.... чик... и он все что вне контура обрезало и удалило )) сказка )
X-DeViL вне форума  
 
Непрочитано 16.09.2004, 09:23
#9
AY


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


>X-DeViL
Если речь об инвертировании набора (для последующего удаления инвертированного набора), то есть возможность проделать это в окне qselect.
 
 
Непрочитано 16.09.2004, 09:24
#10
AY


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


Только для этого логичнее применять команду Wblock
 
 
Непрочитано 16.09.2004, 14:06
#11
{Smirnoff}

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


>X-DeViL
Вот коротенько без проверок и претензий на качество программирования, потому что времени нет. Выбираем замкнутую полилинию и стирается все что вокруг. Проверок никаких нет, при наличии дуговых сегментов могут быть проблеммы (стирание того что внутри). Ну уж извиняйте, в тестовом варианте работает нормально, в реальности негарантирую.
Код:
[Выделить все]
(defun c:exerase (/ pList fSet sSet i delEnt)
  (setq pList(mapcar 'cdr
		(vl-remove-if-not
		  '(lambda(x)(=(car x)10))(entget(car(entsel "Select boundary polyline ")))))
        fSet(ssget "_CP" pList)
	sSet(ssget "_A")
	i 0
	); end setq
  (repeat(sslength fSet)
    (if
      (setq delEnt(ssmemb(ssname fSet i) sSet))
      (progn
      (ssdel delEnt sSet)
      (setq i(1+ i))
      ); end progn
      ); end if
    ); end repeat
  (command "_.erase" sSet "")
  (princ)
  ); end defun
P.S. Естественоо сначала _extrim
{Smirnoff} вне форума  
 
Непрочитано 16.09.2004, 16:01
#12
vk

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


Это конечно, когда контур - полилиния из отрезков. А замкнутый контур то могет быть и окружностью или эллипсом где нет ни одной вершины! Тогда как? Может что то получится с применением опций выбора из Экспрессов, группа Exclude ....
Только с автоматизацией туго.
vk вне форума  
 
Непрочитано 16.09.2004, 16:12
#13
{Smirnoff}

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


Цитата:
Это конечно, когда контур - полилиния из отрезков. А замкнутый контур то могет быть и окружностью или эллипсом где нет ни одной вершины!
Я об этом товарища X-Devil предупреждаю.

Можно и окружности и эллипсы. Только VLAX-CURVE-.... использовать придеться...

>X-Devil Если соберетесь попробывать, сделайте Zoom чтобы вся полилиния была видна.
{Smirnoff} вне форума  
 
Автор темы   Непрочитано 16.09.2004, 19:40
#14
X-DeViL

Бизнес-шмизнес
 
Регистрация: 26.05.2004
Питер
Сообщений: 1,911


Fantomas
вырезать область я намонстрючился таким образом
сначала все обводим... затем экстримом балуемся.. затем select: cp и обводим периметр... и на лист

спасибо за лисп... попытался но как-то не получилось... а потом времени не было... попробую завтра.. о результатах должу в письменном виде в 3х эксемплярах ))
X-DeViL вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Массовый TRIM объектов