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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Может есть lisp для копирования объектов из разных блоков в пространство чертежа ?

Может есть lisp для копирования объектов из разных блоков в пространство чертежа ?

Ответ
Поиск в этой теме
Непрочитано 23.12.2016, 15:35 #1
Может есть lisp для копирования объектов из разных блоков в пространство чертежа ?
Куинбус Флестрин
 
Регистрация: 12.12.2016
Сообщений: 24

Добрый день!

Может кто-нибудь знает lisp для копирования объектов из разных блоков в пространство чертежа автокад. Фактически аналог команды _ncopy (Copies objects nested in an xref or a block). Но для внешних ссылок необходимости нет. Нужен только для блоков. Желательно чтобы при копировании из блока объекты (например размеры) не становились разбитыми (расчленёнными). Автокады 2011-2015.

На данном форуме есть немного близкая тема "LISP. Копирование объекта из внешней ссылки в текущий чертеж", но не совсем то. Может кто уже пользуется подобным lisp(ом) и может что-то подсказать.

Заранее благодарю.
Просмотров: 2170
 
Непрочитано 23.12.2016, 17:45
#2
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,991
<phrase 1= Отправить сообщение для VVA с помощью Skype™


Может отсюда можно взять идею Nested Move
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 23.12.2016, 19:10
#3
zenon

Остекляем!!! Алюминим!!!
 
Регистрация: 21.02.2005
Москва
Сообщений: 3,827
<phrase 1=


_ncopy прекрасно копирует из блока.
__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search:
zenon вне форума  
 
Автор темы   Непрочитано 23.12.2016, 20:59
#4
Куинбус Флестрин


 
Регистрация: 12.12.2016
Сообщений: 24


Добрый вечер!

Спасибо всем кто откликнулся на мой вопрос!

- Действительно _ncopy прекрасно копирует из блока, но в Автокаде 2011 при данном копировании, она во первых отключает значок объектной привязки "OSNAP" и привязка не работает пока действует команда _ncopy. Т.е. копирование осуществляется без возможности пользоваться объектной привязкой. Но это еще не главное. Все размещенные в блоках размеры после копирования в пространство чертежа оказываются расчлененными, что сильно мешает при работе.

-Что касается лисп-идеи Nested Move, то это очень хороший лисп и я возьму его себе на "вооружение". Однако взять его за идею для дальнейшего преобразования у меня не получится. Я как "лиспописатель", увы полный профан, хотя как пользователь использую в своей работе разные лиспы. В том числе и от уважаемого VVA, за что ему огромное спасибо. Но уметь внедрять лиспы в автокад, вешать их на кнопки или размещать в меню, это, увы, не одно и тоже что их писать или профессионально редактировать. Могут сказать: "Так учись, штудируй литературу и темы на форуме и к тебе тоже придет счастье". К сожалению прочитав многие статьи здесь и в других местах по внедрению готового лиспа, пока не имею временных возможностей для более глубокого освоения. Это не психология паразита. В своей проектной области я специалист и как могу стараюсь получить и другие знания (в рамках своих жизненно-временных возможностей). Ведь многие на этом форуме ищут готовые лиспы и не думаю, что я совершил страшный проступок задав свой вопрос. Боже упаси, чтобы кто-то стал еще из-за моих проблем "конкретно парится". Просто я много искал в инете и ничего по данной теме готового не нашел. Может здесь кто знает.
А не найдется так "Нет так нет!", как писал Иосиф Уткин.
VVA еще раз спасибо за ссылку на Nested Move. Пригодится!
Удачи всем!
Куинбус Флестрин вне форума  
 
Автор темы   Непрочитано 25.12.2016, 20:18
#5
Куинбус Флестрин


 
Регистрация: 12.12.2016
Сообщений: 24


Добрый вечер!
Потихоньку стараюсь все решить. С объектной привязкой, конечно, можно было просто при работе команды_ncopy нажимать кнопки на панели привязки, но я сделал прозрачную команду '_osmode;15395 и она работает вместе с _ncopy. Так проще.
Теперь осталось разобраться с расчлененными размерами при копировании _ncopy из блока. Возможно осторожно надо будет глянуть файл trexblk.lsp. Посмотрим. Ducunt volentem fata.
Удачи всем и хорошей недели!

----- добавлено через ~22 ч. -----
Добрый вечер!

Проблему удалось решить (с посторонней помощью). Все. Тему можно закрывать.
Куинбус Флестрин вне форума  
 
Непрочитано 27.12.2016, 11:47
#6
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,832


Ну так расскажи о решении-то.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 30.12.2016, 15:24
#7
Куинбус Флестрин


 
Регистрация: 12.12.2016
Сообщений: 24


Добрый день!
Решение увы как у Ходжи Насреддина:"Сошью себе новый хурджин!". Просто человеку у которого была данная проблема установили 2015 акад вместо 2011. Почему "с посторонней помощью"? Потому, что я, увы, не раздаю автокады и это сделал соответствующий человек со специально делегированными ему правами.
Но есть интересное решение для копирования объектов из блока:
- Используем команду _REFEDIT (в русском ССЫЛРЕД) и выбираем блок или лучше после выбора блока щелкаем ПКМ и выбираем в контекстном меню "Контекстное редактирование блока".
- Затем с помощью обычной команды "Копировать выбранные" копируем нужные объекты в необходимую область чертежа (лучше с объектной привязкой).
- Затем с помощью команды "Исключить из рабочего набора" панели _REFEDIT исключаем скопированные объекты из состава блока
- Затем жмем команду "Сохранить изменение вхождения" панели _REFEDIT и подтверждаем свои действия
Все, теперь нужные объекты и останутся в блоке и будут скопированы куда необходимо вне блока. Правда работает только для одного, а не для нескольких блоков.
Ну это если кому интересен и такой вариант.
A propos, в файлe trexblk.lsp для 2015 акада есть различия с вариантом файла для 2011. Но экспериментировать я не стал.
Не судите строго.
Всем удачи и хорошего Нового Года!

----- добавлено через ~7 ч. -----
Также возможно снять "птичку" у пункта "Блокировать объекты, не входящие в рабочий набор" в разделе "Параметры" окна "Редактирование вхождений" команды ССЫЛРЕД и, условно скажем, "обмениваться элементами" между чертежом (он все равно будет "неподсвечен") и блоком.
Бывает, правда, при очень многократном использовании команда _REFEDIT может подглючить и "перестать запускаться". Вместо запуска окна "Редактирование вхождений" пишет в командной строке "Cancel" (прокси нет и команда _dblclkedit (1) ; _audit тоже ничего не показывает).
Есть разные варианты, но обычно сохраняю файл и открываю снова и глюк исчезает.
Но в общем, все что написано в этом посте и посте 7 уже обсуждалось здесь на многих темах (в том или ином виде).
Думаю вопрос исчерпан (уже даже уклонились от изначальной проблемы).
Еще раз спасибо всем кто даже хоть посмотрел эту тему. VVA еще раз спасибо за Nested Move. Жаль что я смог взять только лисп, а увы не идею.
Удачи!
Куинбус Флестрин вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Может есть lisp для копирования объектов из разных блоков в пространство чертежа ?

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
LISP. Очистка рисунка от "пустых" блоков Makswell Готовые программы 15 26.10.2022 15:24
Несъемная опалубка из стекломагниевых блоков. Насколько технология может быть востребована и эффективна? bf21 Технология и организация строительства 5 31.10.2019 12:47
Visual LISP: Почему перебор объектов в SelectionSet неактивного документа происходит очень медленно? Shourick LISP 15 13.03.2015 15:23
Использование блоков в моделировании объектов gesper AutoCAD 5 10.02.2012 18:03
LISP для очистки чертежа от дублирующихся объектов Nikolays AutoCAD 5 13.12.2010 16:59