перевести множество готовых файлов в другую СК
-
- Гуру
- Сообщения: 619
- Зарегистрирован: 09 авг 2009, 13:09
- Репутация: 67
- Ваше звание: топограф, технолог
- Откуда: Мааськва
перевести множество готовых файлов в другую СК
Можно назначить сразу целому множеству уже существующих файлов dwg нужную СК.
Есть ли способ создать другие dwg-файлы с другой СК из имеющегося множества dwg-файлов?
Это регулярно встречающаяся при создании многолистных планов-карт ситуация.
Есть ли способ создать другие dwg-файлы с другой СК из имеющегося множества dwg-файлов?
Это регулярно встречающаяся при создании многолистных планов-карт ситуация.
-
- Гуру
- Сообщения: 5298
- Зарегистрирован: 09 апр 2010, 19:30
- Репутация: 1015
- Ваше звание: просто мимо прохожу
- Откуда: Ё-бург
Re: перевести множество готовых файлов в другую СК
Именно для таких целей сделали консольный AutoCAD
Один лист - один файл?
Один лист - один файл?
-
- Гуру
- Сообщения: 619
- Зарегистрирован: 09 авг 2009, 13:09
- Репутация: 67
- Ваше звание: топограф, технолог
- Откуда: Мааськва
Re: перевести множество готовых файлов в другую СК
Э... "консольный Автокад" - это хто?
Да, один файл - один лист.
И переводить в другую СК файл в файл.
Да, один файл - один лист.
И переводить в другую СК файл в файл.
- bingeomap
- Гуру
- Сообщения: 503
- Зарегистрирован: 06 июл 2012, 08:37
- Репутация: 53
- Откуда: Азербайджан, Баку
Re: перевести множество готовых файлов в другую СК
А что такое "консольный AutoCAD"?
С уважением,
Биннат Халилов
Биннат Халилов
-
- Гуру
- Сообщения: 5298
- Зарегистрирован: 09 апр 2010, 19:30
- Репутация: 1015
- Ваше звание: просто мимо прохожу
- Откуда: Ё-бург
-
- Гуру
- Сообщения: 619
- Зарегистрирован: 09 авг 2009, 13:09
- Репутация: 67
- Ваше звание: топограф, технолог
- Откуда: Мааськва
Re: перевести множество готовых файлов в другую СК
Правильно я по беглому знакомству предположу, это не для пользователей, а для программистов?
-
- Гуру
- Сообщения: 5298
- Зарегистрирован: 09 апр 2010, 19:30
- Репутация: 1015
- Ваше звание: просто мимо прохожу
- Откуда: Ё-бург
Re: перевести множество готовых файлов в другую СК
Неа, это для ленивых пользователей. Если надо обработать кучу файлов - пишешь скрипт и так как консольный АкАд не грузит GUI, процесс происходит быстро!
-
- Гуру
- Сообщения: 619
- Зарегистрирован: 09 авг 2009, 13:09
- Репутация: 67
- Ваше звание: топограф, технолог
- Откуда: Мааськва
Re: перевести множество готовых файлов в другую СК
Это уже реально? Кто-то что-то написал-сделал?
А сейчас способа для создания файлов с новой СК на основе набора файлов еще нет?
А сейчас способа для создания файлов с новой СК на основе набора файлов еще нет?
-
- Гуру
- Сообщения: 5298
- Зарегистрирован: 09 апр 2010, 19:30
- Репутация: 1015
- Ваше звание: просто мимо прохожу
- Откуда: Ё-бург
Re: перевести множество готовых файлов в другую СК
http://www.cadforum.cz/cadforum_en/qaID.asp?tip=6544
Код: Выделить всё
(defun C:SetWGS ()
(setvar "CMDDIA" 0)
(command "ADESETCRDSYS" "_ses" "LL84" "_ex")
(setvar "CMDDIA" 1)
(princ)
)
можноМожно назначить сразу целому множеству уже существующих файлов dwg нужную СК.
Нужно только всё в "3_трансформация_координат_из_dwg_в_dwg" записать как скрипт...создать другие dwg-файлы с другой СК
- Вложения
-
- 3_трансформация_координат_из_dwg_в_dwg.pdf
- трансформация
- (166.04 КБ) 947 скачиваний
-
- назначить сразу целому множеству уже существующих файлов dwg нужную СК
- gis_lab_scr1.JPG (26.32 КБ) 12559 просмотров
-
- Гуру
- Сообщения: 619
- Зарегистрирован: 09 авг 2009, 13:09
- Репутация: 67
- Ваше звание: топограф, технолог
- Откуда: Мааськва
Re: перевести множество готовых файлов в другую СК
Это был не вопрос, а утверждениеАлексЮстасу писал(а):Можно назначить сразу целому множеству уже существующих файлов dwg нужную СК.
Т.е. в самом Map такой сервис сейчас не реализован?АлексЮстасу писал(а):Нужно только всё в "3_трансформация_координат_из_dwg_в_dwg" записать как скрипт...
Тогда действительно "записать как скрипт...":
- открыть новый файл, назначить в нем нужную СК,
- подключить к нему старый файл с его СК,
- описать запрос к старому файлу с нужными параметрами, и выполнить его,
- отключить старый файл.
И сделать это для указанного набора существующих файлов с какой-то СК.
Только как это "записать как скрипт..." половчее реализовать?
Я сам только макросы пробовал писать.
-
- Гуру
- Сообщения: 5298
- Зарегистрирован: 09 апр 2010, 19:30
- Репутация: 1015
- Ваше звание: просто мимо прохожу
- Откуда: Ё-бург
Re: перевести множество готовых файлов в другую СК
А я, только сегодня заметилЭто был не вопрос, а утверждение
Смотри
Для этого случая, скрипт будет выглядеть так:
Код: Выделить всё
-MapImport
MAPINFO
имя файла
Нет
С
У
Гидротехн_t
Д
С
С
Д
Код
В
В
Переменные CMDDIA и FILEDIA надо выставить в 0
-
- Гуру
- Сообщения: 619
- Зарегистрирован: 09 авг 2009, 13:09
- Репутация: 67
- Ваше звание: топограф, технолог
- Откуда: Мааськва
Re: перевести множество готовых файлов в другую СК
С Вашей бесценной подачи уперся, потерял очередную кучку нервов, но накропал:trir писал(а):сохраняешь как текстовый файл с расширением .scr и выполняешь командой "Пакет"
Код: Выделить всё
CMDDIA
0
FILEDIA
0
_new
[i]Шаблон для нового файла.dwt[/i]
_MODEL
_ADESETCRDSYS
_s
[i]Код системы координат, в которую нужно трансформировать[/i]
_x
_ADEDRAWINGS
_at
[i]Подключаемый файл, который будет трансформирован.dwg[/i]
_x
_ADEQUERY
_c
_d
_l
_a
_x
_e
_d
_ADEDRAWINGS
_de
[i]Отключаемый подключенный файл.dwg[/i]
_x
_zoom
_e
_SAVEAS
2004
[i]Сохраняем куда нужно трансформированные данные с новым именем.dwg[/i]
CMDDIA
1
FILEDIA
1
Но, увы, сообразил только для отдельного файла.
А как это сделать пакетно - для каждого файла из указанного их множества?
Нужно же какой-то цикл организовать, переменную для имени файла или т.п. (пардон за псевдопрограммизьм)?
-
- Гуру
- Сообщения: 5298
- Зарегистрирован: 09 апр 2010, 19:30
- Репутация: 1015
- Ваше звание: просто мимо прохожу
- Откуда: Ё-бург
Re: перевести множество готовых файлов в другую СК
сам думаю...А как это сделать пакетно - для каждого файла из указанного их множества?
Update1: В командной строке АкАд'а можно выполнять lisp-выражения, это же справедливо для пакетных файлов
Это значит, что
Код: Выделить всё
CMDDIA
0
Код: Выделить всё
(setvar "CMDDIA" 0)
Код: Выделить всё
_ADEQUERY
_c
_d
_l
_a
_x
_e
_d
Код: Выделить всё
(command "_ADEQUERY" "_c" "_d" "_l" "_a" "_x" "_e" "_d")
Код: Выделить всё
(setq Test_dwg "[i]Подключаемый файл, который будет трансформирован.dwg[/i]")
(command "_ADEDRAWINGS" "_at" Test_dwg "_x")
-
- Гуру
- Сообщения: 619
- Зарегистрирован: 09 авг 2009, 13:09
- Репутация: 67
- Ваше звание: топограф, технолог
- Откуда: Мааськва
Re: перевести множество готовых файлов в другую СК
Я не владею лиспом. Например, я не в курсе, можно ли "0" в первом лисп-выражении писать без кавычек? (Другие же параметры в кавычках?). И второй финт я пока не в состоянии оценить, и что, как и куда можно "вынести в пакетный файл".trir писал(а):В командной строке АкАд'а можно выполнять lisp-выражения, это же справедливо для пакетных файлов
Это значит, чтоможно заменить наКод: Выделить всё
CMDDIA 0
Это улучшает читабельность, а так же позволяет сделать такой финт ушами:Код: Выделить всё
(setvar "CMDDIA" 0)
Причём "setq" можно вынести в другой пакетный файл и запускать из него первый...Код: Выделить всё
(setq Test_dwg "[i]Подключаемый файл, который будет трансформирован.dwg[/i]") (command "_ADEDRAWINGS" "_at" Test_dwg "_x")
По косвенным признакам мне кажется, что для не самого опытного программиста эта задача совсем несложная. (Но на всякий случай прошу у программистов пардону).
Да! Пути-названия файлов в скрипте нужно писать в кавычках - иначе пробелы в названиях папок или файлов будут препятствием. Но почему-то не все - на кавычки для названий подключаемых файлов выдается ошибка.
-
- Гуру
- Сообщения: 5298
- Зарегистрирован: 09 апр 2010, 19:30
- Репутация: 1015
- Ваше звание: просто мимо прохожу
- Откуда: Ё-бург
Re: перевести множество готовых файлов в другую СК
Знать Lisp - очень полезно
Шаг №1
Шаг №2
Шаг №3
Шаг №1
Код: Выделить всё
_qnew
(command "_ADESETCRDSYS" "с" "Pulkovo42.LL" "вЫход")
(command "-MapImport" "mapinfo" "D:\\work\\process\\objects\\1604\\Ирк._обл.таб\\Т_город_500.TAB" "Нет" "С" "У" "Т_город_500" "С" "Д" "Код" "Д" "С" "В" "В")
(command "_saveas" "2007" "D:\\work\\process\\objects\\1604\\dwg\\label\\Т_город_500.dwg")
Код: Выделить всё
(setq layer_name "Т_город_500.TAB")
(setq path1 "D:\\work\\process\\objects\\1604\\Ирк._обл.таб\\")
(setq path2 "D:\\work\\process\\objects\\1604\\dwg\\label\\")
_qnew
(command "_ADESETCRDSYS" "с" "Pulkovo42.LL" "вЫход")
(command "-MapImport" "mapinfo" (strcat path1 layer_name) "Нет" "С" "У" "Т_город_500" "С" "Д" "Код" "Д" "С" "В" "В")
(command "_saveas" "2007" (strcat path2 layer_name))
Код: Выделить всё
(defun cr_dwg (layer_name path1 path2 /)
(command "_qnew")
(command "_ADESETCRDSYS" "с" "Pulkovo42.LL" "вЫход")
(command "-MapImport" "mapinfo" (strcat path1 layer_name ".TAB") "Нет" "С" "У" layer_name "С" "Д" "Код" "Д" "С" "В" "В")
(command "_saveas" "2007" (strcat path2 layer_name ".TAB"))
)
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость