Re: LISP. Фрагмент чертежа по прямоуг. или кругл. границе

Денис, программа Александра Ривилиса не будет обрабатывать активированные объекты надстроек, только проксиграфику.
Я к чему веду, сейчас ежели объект надстройки целиком попал в рамку выбора, то он копируется, а вот если по границе, то игнорируется, пусть уж тоже просто копируется, а доработать можно и вручную не так их и много.

Re: LISP. Фрагмент чертежа по прямоуг. или кругл. границе

nonez,
С "активированными объектами надстроек" не работал, поэтому просьба прислать на fd-@mail DWG-файлик с данными объектами, вечером посмотрю.
Думаю, здесь нужно после строчки кода:
(setq aa9 (ssget "_F" aa6 '((-4 . "<OR")(-4 . "<NOT")(-4 . "<OR")
вставить ту строчку сообщения, что получится после ввода в командную строку:
(assoc 0 (entget (car (entsel))))
и указания "активированного объекта надстроек"

Re: LISP. Фрагмент чертежа по прямоуг. или кругл. границе

Денис Флюстиков пишет:

С "активированными объектами надстроек" не работал, поэтому просьба прислать на fd-@mail DWG-файлик с данными объектами, вечером посмотрю.

Мммм... думаю не прокатит, это у меня они активированные, а на твоем компе это будет уже проксиграфика.
могу предложить следующее: если есть какая либо надстройка СПДС либо что-то другое, попробуй создать объект надстройки и поиграться с ним.

Re: LISP. Фрагмент чертежа по прямоуг. или кругл. границе

nonez пишет:

... поиграться с ним.

nonez,
К сожалению, "поиграться" не имею возможности, на работе стоит официальный софт, поэтому под AutoCAD только LISP программки. А что дает (assoc 0 (entget (car (entsel)))) на "активированном объекте надстроек"?

Re: LISP. Фрагмент чертежа по прямоуг. или кругл. границе

Денис,
что-то типа этого

Command: (assoc 0 (entget (car (entsel))))

Select object: (0 . "ATH_POLY")

Command: (assoc 0 (entget (car (entsel))))

Select object: (0 . "ATH_LINE")

Выслал на мыло что хотелось бы.

Re: LISP. Фрагмент чертежа по прямоуг. или кругл. границе

nonez,
Попробуй после строчки в коде:
(setq aa9 (ssget "_F" aa6 '((-4 . "<OR")(-4 . "<NOT")(-4 . "<OR")
вставить:
(0 . "ATH_*")

Re: LISP. Фрагмент чертежа по прямоуг. или кругл. границе

О сработало, спсб

Re: LISP. Фрагмент чертежа по прямоуг. или кругл. границе

А более универсальное можно создать или только таким способом??

Re: LISP. Фрагмент чертежа по прямоуг. или кругл. границе

nonez пишет:

О сработало, спсб

пжлст

nonez пишет:

А более универсальное можно создать или только таким способом??

Я вряд ли смогу, т.к., уже говорил, не имею возможности поиграть с активированными объектами надстроек

Re: LISP. Фрагмент чертежа по прямоуг. или кругл. границе

Денис
Кстати вспомнил, объект Multileader в 2008, для 2006 является проксиграфикой, это нельзя как нить обыграть?

Re: LISP. Фрагмент чертежа по прямоуг. или кругл. границе

"Fragm_Den" от 20.02.10:
Исправлена работа с объектами на заблокированном слое

Re: LISP. Фрагмент чертежа по прямоуг. или кругл. границе

Здравствуйте! пользуюсь вашим кодом! очень удобно и практически безотказно работает! но преобрели  GeoniCS, и код не работает в этом приложении а также в файлах созданных через него! при попытке выпонить подрезку выдает следующее
(это из-за объектов геоникса как я понял)

Вторая точка области:<Неверное имя объекта: 724925F0>
Команда:
Выход во время обработки данных

Re: LISP. Фрагмент чертежа по прямоуг. или кругл. границе

1 1,
Проверял работу программ только под "чистыми" AutoCAD'ами, сейчас смог найти возможность запустить под MechaniCS (насчет GeoniCS пас), код работает, но оказалось, что есть проблема с отработкой контекстного меню и, похоже, это по всем LISP-приложениям.

Re: LISP. Фрагмент чертежа по прямоуг. или кругл. границе

А есть возможность не перемещать вырезанный фрагмент, а копировать в буфер? (чтобы координаты сохранились)

Re: LISP. Фрагмент чертежа по прямоуг. или кругл. границе

Sturman,
Копировать в буфер возможность есть, как вариант в коде с http://dwg.ru/dnl/6731
перед строчкой:
(while aa2
вставить строчку:
(vl-cmdf "_.copyclip" aa11 "")

Re: LISP. Фрагмент чертежа по прямоуг. или кругл. границе

Спасибо, сработало. Только вот на чертежах с большой загрузкой (изолинии рельефа) не все объекты вырезаются (автокад 2010)..

Re: LISP. Фрагмент чертежа по прямоуг. или кругл. границе

Sturman,
Пришли мне на fd-@mail.ru DWG-файлик, посмотрю, может, разберусь, в чем причина (автокад 2009)..

Re: LISP. Фрагмент чертежа по прямоуг. или кругл. границе

Денис Флюстиков пишет:

(vl-cmdf "_.copyclip" aa11 "")

Денис, я так понимаю, что сохранение координат должно быть полным.
я не знаю как в лиспе :):):), но акадовский copyclip за базовую точку берет левый нижний угол для указанных объектов в текущей системе координат. и с вставкой будут проблемы :), т.к. кто его знает какую точку выбрал акад?

PS: лучше пользоваться copybase, и в качестве базовой точки указывать 0,0. тогда проблем точно не будет. особенно если оси будут стоять по виду и в исходном чертеже при копировании, и в том, куда будем вставлять.

Re: LISP. Фрагмент чертежа по прямоуг. или кругл. границе

в общем, при обрезке большого файла (>600мб, детальная топосъёмка) автокад 2010 работает некорректно. но автокад 2007 всё делает нормально. и copyclip сохраняет координаты

(изменено: Иван Иванов, 18 ноября 2010г. 10:00:57)

Re: LISP. Фрагмент чертежа по прямоуг. или кругл. границе

День добрый Денис. Большое спасибо за Ваши программы. Пользуюсь несколькими.

Программа не работает с XRef. В сообщениях 43 и 44 эта ситуация понималась.  Есть ли подвижки в деле с XRef?

Re: LISP. Фрагмент чертежа по прямоуг. или кругл. границе

Иван Иванов пишет:

...
Есть ли подвижки в деле с XRef?

"Fragm_Den" от 17.11.10:
Обработка внешних ссылок

Re: LISP. Фрагмент чертежа по прямоуг. или кругл. границе

Денис, скажите пожалуйста, можно ли дописать в программу выбор объекта из растрового изображения.

Re: LISP. Фрагмент чертежа по прямоуг. или кругл. границе

Юрий Музыка,
Вопрос не ясен, ведь программа обрабатывает и те растры, граница которых не пересекает заданный контур обрезки (контур внутри растра).
Уточни вопрос, а лучше вышли мне на fd-@mail.ru DWG-файлик с примером.

Re: LISP. Фрагмент чертежа по прямоуг. или кругл. границе

Денис, а нельзя ли добавить опцию на выбор
вставлять это вырезанное изображение в виде блока или так как у вас сейчас есть...

Re: LISP. Фрагмент чертежа по прямоуг. или кругл. границе

Денис Флюстиков,

Уважаемый Денис можно ли подправить "Fragm_Den" от 17.11.10: под 2000 ACAD?
Спасибо.