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

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

пакетный перевод слоев

Ответ
Поиск в этой теме
Непрочитано 04.03.2004, 12:51 #1
пакетный перевод слоев
Visla
 
Конструктор (металлоконструкции)
 
Москва
Регистрация: 04.03.2004
Сообщений: 46

Пивет всем, есть необходимсоть перевести одни слои в другие. Знаю и пользуюсь тем, что есть команда _LayTrans, но у меня есть куча файлов которые вставляю блоком в рабочий чертеж. Недавно перешел на другой набор рабочих слоев и теперь вставляя их получаю в добавок к новым слоям старый набор. Вручную переводить в каждом файле слои из одних в другие можно, но как понимаете долго (файлов наработанных ранее уж очень много). Возможно ли это сделать пакетным образом? То есть, к примеру, указать набор файлов в котором нужно провести замену одних слоев на другие. Или придется лисп писать. К сожалению его я не знаю.

Заранее спасибо.
Просмотров: 2992
 
Непрочитано 04.03.2004, 15:16
#2
Arkady

AutoCad Development and Support
 
Регистрация: 21.08.2003
Israel
Сообщений: 183
Отправить сообщение для Arkady с помощью Skype™


А Cad Standards пользоваться не пробовал?
Работает в 2002/2004. Там есть переводчик слоев с возможностью сохранения порядка перевода.Очень удобная штука.
Arkady вне форума  
 
Автор темы   Непрочитано 04.03.2004, 15:38
#3
Visla

Конструктор (металлоконструкции)
 
Регистрация: 04.03.2004
Москва
Сообщений: 46


все правильно, Cad Standarts - это интсрумент в котором есть Laytrans, именно этим я и пользуюсь, но так можно зделать только для одного файла, а как то же самое проделать для нескольких файлов одновременно и сразу, типа "пакетом"?
Visla вне форума  
 
Непрочитано 04.03.2004, 22:06
#4
Arkady

AutoCad Development and Support
 
Регистрация: 21.08.2003
Israel
Сообщений: 183
Отправить сообщение для Arkady с помощью Skype™


Доброго врмени суток.
Совсем автоматом не получится, но красивое решение есть.
Меня эта задача очень заитерсовала , стал копаться в хелпе и вот чего откопал.
Имеем функцию acet-laytrans которая обственно и есть команда laytrans.
Полный ект хелпа:
Код:
[Выделить все]
(acet-laytrans "filename" [settings]) 
Arguments :
filename -  A string specifying a file containing layer mappings to be used for translation. 

settings :

A bit-coded integer specifying Layer Translator processing options. The bits can be added together in any combination to form a value between 0 and 15. If the settings argument is omitted, a value of 15 (all options selected) is assumed. The bit values are as follows: 

0 No options 
1 Force entity color to BYLAYER 
2 Force entity linetype to BYLAYER 
4 Translate objects in blocks 
8 Write transaction log
Теперь решение основанное на зтой функции.

1.Имеем файл стандарта с готовым списком перевода (в моем случае C:/D/Coursefiles/l-trans.dws)
2.В файле AcadDoc.lsp создаем новую команду напрмер
Код:
[Выделить все]
(defun c:ltr()
 (acet-laytrans "C:/D/Coursefiles/l-trans.dws" 7)
)
и запускаем ее во всех чертежах.
Можно создать список функций под разные файлы стандартов.(или сделать выбор файла)

3.А можно еще более просто
На VBA создаем такой макро
Код:
[Выделить все]
Public Sub LTR()
Dim Drawing As AcadDocument
Dim cmdstr As String
cmdstr = "(acet-laytrans " & Chr(34) & "C:/D/Coursefiles/l-trans.dws" & Chr(34) & " 7) "
For Each Drawing In AcadApplication.Documents
    Drawing.SendCommand (cmdstr)    
Next
End Sub
Открываем вместе все чертежи ,которые хотим изменить, и ОДИН РАЗ запускаем макро. Можно еще добавить автосохранение . Все.

Макро проверил на четырех чертежах вместе - работает.
Arkady вне форума  
 
Автор темы   Непрочитано 11.03.2004, 13:57
#5
Visla

Конструктор (металлоконструкции)
 
Регистрация: 04.03.2004
Москва
Сообщений: 46


Так, понятно с макросами. Возможно ли вставляя блок или чертеж в файл сделать так, что бы автоматом слои вставляемого чертежа (блока) по определенному шаблону были приведены к слоям чертежа "приемщика" (в который вставляем)?
Visla вне форума  
 
Непрочитано 12.03.2004, 19:19
#6
Arkady

AutoCad Development and Support
 
Регистрация: 21.08.2003
Israel
Сообщений: 183
Отправить сообщение для Arkady с помощью Skype™


Мне кажется ,что проверять и изменять слои нужно ДО вставки, а не осле. Наверное можно написать свой INSERT -> выбрал - открыл - проверил - вставил.
Arkady вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > пакетный перевод слоев

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

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