dwg.ru forum rss xml
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Замена имен внедренных файлов

Замена имен внедренных файлов

Версия для печати
 
Ответ
Опции темы Поиск в этой теме
Непрочитано 19.11.2018, 17:04 #1
Замена имен внедренных файлов
posetitel
 
Регистрация: 16.10.2013
Сообщений: 168

posetitel вне форума Вставить имя

Добрый день!
Подскажите, возможно ли в автокаде программно или в ручную заменить названия внедренных в чертеж файлов.
Т.е. есть, например, "чертеж1.dwg", он внедрен в файл "общий проект.dwg", на чертеже произошли изменения и он стал "чертеж1_изм1.dwg". Необходимо, чтобы в файле "общий проект.dwg" вместо ссылки на "чертеж1" была ссылка на "чертеж1_изм1"
Просмотров: 485
 
Непрочитано 19.11.2018, 19:10
1 | #2
Alex.gomel


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


https://jtbworld.com/autocad-xrefrename-lsp
Alex.gomel вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 19.11.2018, 19:52
#3
posetitel


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


не совсем то.
хотел не вводить имена в ручную, а по аналогии с лиспом по переименованию блоков, ко всем внешним ссылкам дописать "изм1"
posetitel вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 21.11.2018, 08:51
1 | #4
VVA

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


Добавление к внешним ссылкам суффикса
Код:
[Выделить все]
(defun C:RXref ( / add bname blk)
;_Rename Xref
 (setq add (getstring "Новый суффикс: "))
 (setvar "CMDECHO" 1)
 (while (setq blk (tblnext "BLOCK" (null blk)))
    (setq bname (cdr(assoc 2 blk)))
    (if (and
          (snvalid bname 0);_Допустимое имя блока
          (assoc 1 blk) ;_Это внешняя ссылка
          (snvalid (strcat bname "_" add) 0);_Допустимое новое имя блока
          )
      (if command-s
        (command-s "_.-RENAME" "_BLOCK" bname (strcat bname "_" add))
        (command "_.-RENAME" "_BLOCK" bname (strcat bname "_" add))
        )
      )
    )
 (princ)
 )
 (princ "\nType RXref in command line to rename xref")(princ)
__________________
Как использовать код на Лиспе читаем здесь

Последний раз редактировалось VVA, 21.11.2018 в 14:42.
VVA вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 22.11.2018, 22:16
#5
VVA

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


Версия с переименовыванием имени внешней ссылки и перезагрузкой файла внешней ссылки
Имя внешней ссылки образуется как старое имя файла + суффикс.
Код:
[Выделить все]
(defun C:RXref ( / suf path newpath)
;_Переименовывает и перезагружает внешние ссылки
;_ добавляя к имени ссылки и имени ФАЙЛА ссылки запрашиваемый суффикс
;_ Файл по пути, указанном в ссылке с новым именем <имя ФАЙЛА ссылки><Новый суффикс>.dwg
;_ должен существовать  
  
 (vl-load-com)
 (setq suf (getstring "Новый суффикс: "))
  (vlax-for b (vla-get-blocks (vla-get-activedocument (vlax-get-acad-object)))
       (if (eq :vlax-true (vla-get-isxref b))
         (progn
           (setq path (vla-get-path b))
           (setq newpath
                  (strcat
                    (vl-filename-directory path)
                    "\\"
                    (vl-filename-base path)
                    suf
                    (vl-filename-extension path)
                  ) ;_ end of strcat
                 )
           (if (findfile newpath)
             (progn
               (vla-put-path b newpath)
               (vla-put-name b (strcat (vla-get-name b) suf)) 
               (princ (strcat "\nПерезагружаю " newpath))
             ) ;_ end of progn
             (princ (strcat "\nФайл " newpath " не найден"))
           ) ;_ end of if
         )
        )
    )
  (if command-s (command-s "_.-XREF" "_RELOAD" "*")(command "_.-XREF" "_RELOAD" "*"))
 (princ)
 )
 (princ "\nType RXref in command line to rename xref")(princ)
__________________
Как использовать код на Лиспе читаем здесь

Последний раз редактировалось VVA, 22.11.2018 в 23:29.
VVA вне форума вставить имя Обратить внимание модератора на это сообщение  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Замена имен внедренных файлов

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

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

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
При разархивировании файлов слетает кодировка имен файлов. Как исправить? tistas Прочее. Программное обеспечение 4 07.11.2018 14:03
Поиск и замена текста в группе файлов nik_mb Готовые программы 13 17.09.2018 20:07
DwgRuLispLib: Функция открытия диалога Open\Save As файла (файлов) Supermax Библиотека функций 20 14.03.2018 10:05
Сформировать файл из имен файлов директории. MS EXCEL dorogi-dorogi Прочее. Программное обеспечение 6 27.11.2012 14:28
Замена одного текста на другой автоматически в пакете файлов. Возможно? Sharnir AutoCAD 5 07.04.2011 16:33

|| Главная || Каталог САПР || Тендеры || Публикации || Объявления || Биржа труда || Download || Галерея ||
|| Библиотека || Кунсткамера || Каталог предприятий || Контакты || Файлообменник || Блоги ||