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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Внедрение всех внешних ссылок командой и последующее EXPLODE

Внедрение всех внешних ссылок командой и последующее EXPLODE

Ответ
Поиск в этой теме
Непрочитано 04.05.2013, 20:50 #1
Внедрение всех внешних ссылок командой и последующее EXPLODE
AVF83
 
Проектирование
 
Краснодар
Регистрация: 21.04.2013
Сообщений: 12

Здравствуйте! Всех с майскими праздниками!
Посмотрел на форуме, но не нашёл решения по внедрению внешней ссылки в чертёж (всех внешних ссылок) одной командой. Можно, конечно, вручную в каждом чертеже операцию провести, но их 500! Цель такая: освободить чертёж от всевозможных ссылок-связей и сделать его автономным (чтобы можно было "выдернуть" файл из пачки и он не потерял "вид"). Такое возможно осуществить?
Планирую использовать bat и scr:
Цитата:
FOR %%f in (..\*.dwg) do start /wait C:\"Program Files"\Autodesk\"AutoCAD 2012 - Russian"\acad.exe "%%f" /b dluse-1.scr
Цитата:
_DATALINKUPDATE _U _K _QSAVE _QUIT
Кстати, в первом случае (внедрить внешние ссылки) ответа найти не смог. А во втором (расчленение всех связей, блоков и пр.) вот что думаю:
Использую _ai_selall _explode в командной строке - всё работает! Но когда вставляю этот же набор команд в dluse-1.scr (между _K и _QSAVE ), то ничего не происходит! А точнее, после того, как чертёж открылся, после команды _EXPLODE в командной строке предлагается выбрать объекты и _QSAVE не является объектом. Т.е. связка _ai_selall _explode в сценарии не работает! Почему так происходит, кто-нибудь сталкивался?
Просмотров: 4365
 
Непрочитано 04.05.2013, 23:39
1 | #2
5hev

roads
 
Регистрация: 22.12.2010
msk
Сообщений: 121
<phrase 1= Отправить сообщение для 5hev с помощью Skype™


Внедрение (в файле scr)
Код:
[Выделить все]
 (vlax-for i (vla-get-blocks (vla-get-ActiveDocument (vlax-get-acad-object)))
  (if (equal (vla-get-isxref i) :vlax-true)
    (vla-bind i :vlax-false)
  )
)
Далее уже сохранение и выход.
5hev вне форума  
 
Автор темы   Непрочитано 05.05.2013, 00:20
#3
AVF83

Проектирование
 
Регистрация: 21.04.2013
Краснодар
Сообщений: 12


Спасибо, попробовал!
В файле сценария добавил dluse-1.lsp таким образом (на время эксперимента всё лишнее удалил из сценария):
Цитата:
(load "dluse-1.lsp")
_QSAVE
Однако, в командной строке пишет:
Цитата:
Команда: (load "dluse-1.lsp")
; ошибка: no function definition: VLAX-GET-ACAD-OBJECT
Команда: _QSAVE
Что-то не работает.
Может быть архив выслать?
__________________
Делай, что должен и будь, что будет!
AVF83 вне форума  
 
Непрочитано 05.05.2013, 00:25
1 | #4
5hev

roads
 
Регистрация: 22.12.2010
msk
Сообщений: 121
<phrase 1= Отправить сообщение для 5hev с помощью Skype™


В начале файла с программкой должно стоять
Код:
Я не добавил, потому что у меня это в автозагрузке по умолчанию
5hev вне форума  
 
Автор темы   Непрочитано 05.05.2013, 00:30
#5
AVF83

Проектирование
 
Регистрация: 21.04.2013
Краснодар
Сообщений: 12


Огромное спасибо! Отлично сработало! Теперь так все файлы буду прогонять.
__________________
Делай, что должен и будь, что будет!
AVF83 вне форума  
 
Непрочитано 02.07.2019, 06:08
#6
Sart


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


Добрый день. Подскажите как сделать лисп из кода в сообщении 2 для внедрения ссылок? Что то не получается, не дружу я с лиспом.
Sart вне форума  
 
Непрочитано 04.07.2019, 12:41
1 | #7
VVA

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


Sart,
Код:
[Выделить все]
 
(defun C:BINDALL ()
  (vl-load-com)
  (vlax-for i (vla-get-blocks
                (vla-get-activedocument (vlax-get-acad-object))
              ) ;_ end of vla-get-blocks
    (if (equal (vla-get-isxref i) :vlax-true)
      (vl-catch-all-apply 'vla-bind (list i :vlax-false))
    ) ;_ end of if
  ) ;_ end of vlax-for
  (princ)
) ;_ end 
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 04.07.2019, 13:24
#8
Sart


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


Спасибо огромное
Sart вне форума  
 
Непрочитано 10.09.2020, 17:27
#9
GrAndred


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


Скажите, не удалось ли найти решения, чтобы вставить все внешние ссылки разом?
GrAndred вне форума  
 
Непрочитано 10.09.2020, 17:48
#10
Кулик Алексей aka kpblc
Moderator

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


А тему прочитать и попробовать коды?
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 10.09.2020, 18:03
#11
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,335


Цитата:
Сообщение от GrAndred Посмотреть сообщение
Скажите, не удалось ли найти решения, чтобы вставить все внешние ссылки разом?
Кому нужно было, давно себе сделали...

Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
А тему прочитать и попробовать коды?
Что то у меня сомнения, на тему внедрит ли код из 7 сообщения ссылки, которые сами содержат множество ссылок, часть из которых не загружена...
__________________
_бложиг
Boxa вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Внедрение всех внешних ссылок командой и последующее EXPLODE

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Слои внешних ссылок Werwolf AutoCAD 20 25.07.2020 01:21
Проверить нахождение внешних ссылок xref Apelsinov Программирование 22 18.09.2012 17:25
сбой в работе внешних ссылок АА2011 s_get Вертикальные решения на базе AutoCAD 21 11.05.2011 13:03
Вложенность внешних ссылок. shartal AutoCAD 1 11.05.2011 11:13
Как выполнить команду Explode для всех деталей с сборок? DonVik Программирование 2 23.02.2009 12:41