(изменено: gonini, 10 сентября 2012г. 16:26:24)

Тема: ObjectARX. Создание копии куска чертежа, ограниченного замкнутым контуром

название команды: gnn_copy
текущая версия: 2.5
autocad: 2008/2009/2010/2011/2012/2013 (начиная с 2010 автокада 32/64-bit)
назначение: создание копии участка чертежа, ограниченного замкнутой полилинией.

как пользоваться:
1. для начала нужен чертеж и секущая рамка (замкнутая полилиния, например, прямоугольник)
2. вызвать команду gnn_copy
3. указать секущую рамку
4. ждать :)
5. когда ползунок добежит до конца, программа предложит перенести скопированный кусок в другое место.

PS: как добавить нужный ARX-файл в autocad:
1. выполнить команду Сервис -> Приложения.
2. в окне "Загрузка/выгрузка приложений" нажать кнопку "Приложения...".
3. откроется окно "Автозагрузка". В нем нажать кнопку "Добавить..." и указать расположение ARX-файла и подтвердить выбор.
4. если все сделано правильно, в окне "Автозагрузка" отобразится этот файл.
5. закрыть окно "Автозагрузка" и окно "Загрузка/выгрузка приложений".

В архиве ARX для каждого из написанных выше автокадов (не перепутайте) и краткое описание со скриншотом.

Re: ObjectARX. Создание копии куска чертежа, ограниченного замкнутым контуром

Очень желательно указать какие типы примитивов обрабатываются.

(изменено: 1 1, 11 мая 2010г. 18:57:26)

Re: ObjectARX. Создание копии куска чертежа, ограниченного замкнутым контуром

а с блоками не работает. точнее копирует не фрагмент подрезаный,а весь блок. было бы конечно лучше если из блока еще получить фрагмент!

(изменено: gonini, 12 мая 2010г. 10:16:28)

Re: ObjectARX. Создание копии куска чертежа, ограниченного замкнутым контуром

Александр Ривилис пишет:

Очень желательно указать какие типы примитивов обрабатываются.

ну хорошо. режутся по кромке:
- все производные от AcDbCurve (отрезок, полилиния, прямо- и n-угольник, дуга, круг, облако, сплайн, эллипс, эллиптическая дуга, кольцо)
- AcDbHatch (штриховки)
- AcDbRegion (область)
- AcDbSolid (2d фигура)

точки, размеры, однострочные и многострочные тексты, растровые изображения и блоки не режутся по идеологическим соображениям. В моем представлении они либо нужны, либо удаляются. Вот нигде не видел карту, например, где обрезанным кругом (дугой) обозначается населенный пункт :) (это я про блоки)

такие типы как AcDb3dSolid, AcDbMPolygon, AcDbPolyFaceMesh, AcDbPolygonMesh, AcDbSection, AcDbShape, AcDbSubDMesh, AcDbSurface, AcDbTrace вообще обрабатывать не сильно хочется, т.к. они в основном для 3d, а я даже представить себе не могу зачем может понадобиться вырезанный кусок сети, под классы AcDbMline (мультилиния), AcDbFace есть заготовки где вклиниться для обработки, но пока нет времени. короче говоря они берутся полностью (это я про все типы объектов в этом абзаце) и в командной строке идет сообщение *** Объекты, не предусмотренные програмой, были взяты полностью.
кажется все перечислил.

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

1 1 пишет:

а с блоками не работает. точнее копирует не фрагмент подрезаный,а весь блок. было бы конечно лучше если из блока еще получить фрагмент!

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

(изменено: nonez, 12 мая 2010г. 10:15:40)

Re: ObjectARX. Создание копии куска чертежа, ограниченного замкнутым контуром

gonini,
Уже есть и на мой взгляд гораздо лучше работает
https://www.caduser.ru/forum/topic44865.html
ps кстати и блоки обрабатываются

Re: ObjectARX. Создание копии куска чертежа, ограниченного замкнутым контуром

nonez пишет:

gonini, 

Уже есть и на мой взгляд гораздо лучше работает

https://www.caduser.ru/forum/topic44865.html

ps кстати и блоки обрабатываются

ничего не имею против. в этом мире каждый имеет право на существование :)

Re: ObjectARX. Создание копии куска чертежа, ограниченного замкнутым контуром

я так подумал и решил что человек сам должен решать, обрезать ему растры, блоки и т.п. или включать их целиком
теперь при запуске команды есть возможность зайти в настройки и указать с какими типами объектов команда работает (можно, например, не учитывать точки и/или какие-то другие типы объектов), и какие из них нужно обрезать по контуру.
также для удобства появилась возможность повернуть и отмасштабировать скопированный участок внутри команды (также задается через настройки).

Re: ObjectARX. Создание копии куска чертежа, ограниченного замкнутым контуром

Выложил новую версию. Из нового, все настройки команды сохраняются в файл settings.gnn, который автоматически создастся в процессе работы и лежит в папке с arx-файлом. Это позволяет сохранить настройки между запусками автокада, а не только в процессе текущего запуска, как было раньше.
Также появилась возможность (подсмотрел пожелания людей здесь: https://www.caduser.ru/forum/topic44865.html) копировать откопированный кусок в буфер обмена с базовой точкой (0,0). Так что при вставке, в другой чертеж ставьте в нем систему координат "по виду" и вставляйте с координатой 0,0.

Re: ObjectARX. Создание копии куска чертежа, ограниченного замкнутым контуром

появилась версия 2.1.
1. теперь учитываются блоки, являющиеся внешними ссылками (не зависимо от того, как обрабатывается блок - с обрезкой или берется полностью, если блок является внешней ссылкой, то он берется полностью. ну а если отключена обработка блоков, то и внешние ссылки копироваться не будут :)).
2. появилась возможность задавать ограничивающий контур не только замкнутой полилинией без сглаживания, но и замкнутым сплайном, окружностью и эллипсом, ну и соответственно полилиния со сглаживанием тоже подходит :).
ссылка на скачивание в первом посте.

Re: ObjectARX. Создание копии куска чертежа, ограниченного замкнутым контуром

Добрый день, уважаемый gonini!
Хорошая штука, но с обрезкой блоков явно тупит, при всём уважении.
Здесь https://www.caduser.ru/forum/topic44865.html механизм устойчивее.
Также не всегда корректно определяет замкнутость контура (границ обрезки).
Вот к примеру запускаем функцию, берём в качестве контура круг - вроде нормально всё отработало,
затем просто вырываем из этого же круга кусочек (получаем дугу), затем пытаемся всё повторить,
указывая заведомо негодный контур, и Autocad 2008 (в моём случае), вылетает с фатальной ошибкой...
Может что-нибудь ещё подшаманить, а?

Re: ObjectARX. Создание копии куска чертежа, ограниченного замкнутым контуром

Хорошая штука, но с обрезкой блоков явно тупит, при всём уважении.

в вашей версии arx блок взрывается или на него натягивается маска?

Здесь https://www.caduser.ru/forum/topic44865.html механизм устойчивее.

а ссылка куда должна привести хоть? :)

Также не всегда корректно определяет замкнутость контура (границ обрезки).
Вот к примеру запускаем функцию, берём в качестве контура круг - вроде нормально всё отработало,
затем просто вырываем из этого же круга кусочек (получаем дугу), затем пытаемся всё повторить,
указывая заведомо негодный контур, и Autocad 2008 (в моём случае), вылетает с фатальной ошибкой... Может что-нибудь ещё подшаманить, а?

почему б не подшаманить :). это всегда пожалуйста. только нужен ваш чертеж и более подробное описание проблемы. и по поводу блоков тоже как-то не сильно понятно.

Re: ObjectARX. Создание копии куска чертежа, ограниченного замкнутым контуром

обновил версию программы.
из изменений, заметил неправильное поведение программы, если в выкопировке участвуют блоки. Исправил.
По просьбам пользователей :) добавилась возможность создавать контур обрезки во время работы программы, а не только выбирать уже нарисованный.

Re: ObjectARX. Создание копии куска чертежа, ограниченного замкнутым контуром

А можно добавить возможность сохранения выделенного фрагмента в отдельный двг/дхф файл (с заданием версии акада в настройках)?

Re: ObjectARX. Создание копии куска чертежа, ограниченного замкнутым контуром

Почему по ссылке выше я иду на страницу с разблокировкой ифона?

поправьте ссылку плиз

Re: ObjectARX. Создание копии куска чертежа, ограниченного замкнутым контуром

Boxa Shu пишет:

А можно добавить возможность сохранения выделенного фрагмента в отдельный двг/дхф файл (с заданием версии акада в настройках)?

можно в настройках команды указать, чтоб выкопировка с базовой точкой писалась в буфер обмена. а оттуда уже руцями в новый файл и также руцями "сохранить как..." с указанием формата и версии dwg/dxf или  чего-то более экзотического.

Alex G. пишет:

Почему по ссылке выше я иду на страницу с разблокировкой ифона?
поправьте ссылку плиз

Увы, хостинг, на котором лежал сайт развалился  :cry: и теперь там разблокируют ифоны  :D  :D  :D . Заниматься поиском нового, схожего по параметрам, и, главное, бесплатного и без напрягающей рекламы на пол страницы у меня сейчас нет времени. Вы не первый, кто об этом пишет (правда, в основном на мыло :))
Возможно, у меня найдется пару свободных дней для решения этой проблемы после Пасхи, а возможно и еще позже.

Re: ObjectARX. Создание копии куска чертежа, ограниченного замкнутым контуром

Уважаемые форумчане, кто-нть может бросить ссылку на последнюю версию данной программы? Ато автор не отвечает на письмо :(( а программа очень нужная...  :|

(изменено: Electr, 29 августа 2011г. 12:20:02)

Re: ObjectARX. Создание копии куска чертежа, ограниченного замкнутым контуром

может эта программа подойдет

Re: ObjectARX. Создание копии куска чертежа, ограниченного замкнутым контуром

Electr,
Спасибо огромное :)

Re: ObjectARX. Создание копии куска чертежа, ограниченного замкнутым контуром

Рад помочь. ;)