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

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

Импорт файлов SAT и сохнанение в формате DWG

Ответ
Поиск в этой теме
Непрочитано 30.01.2013, 16:22 #1
Импорт файлов SAT и сохнанение в формате DWG
Terzi Ilia
 
Регистрация: 18.02.2010
Сообщений: 11

Здравствуйте!
У меня возникла следующая проблема, которую я хотел бы решить программно. В папке у меня находятся более 100 файло в формате SAT полученных от клиента. Мне нужно импортировать их в Автокад и сохранить в отдельный DWG с именем файла SAT.

Я набросал код, но никак не могу заставить лисп открывать по очереди SAT файлы и сохранять DWG:

Код:
[Выделить все]
 (defun c:sat ()
   (setq spisok_sat (getfiled "Vyberite spisok failov SAT" "" "txt" 8)
	  
       (foreach txt spisok_sat
	     (command "_acisin" lista_files))
  (setvar "filedia" 0)
  (command "_save")
)
Подскажите где рыть? Заранее благодарен!

Последний раз редактировалось Кулик Алексей aka kpblc, 30.01.2013 в 16:49.
Просмотров: 4098
 
Непрочитано 30.01.2013, 19:30
#2
Олег (jr.)

специалист по околачиванию грушевых деревьев
 
Регистрация: 14.09.2004
Pietari, Venäjä
Сообщений: 811


Что нибудь вроде, сначала читаем список файлов,
сохраненных в выбранном файле и добавляем их
в текстовый список, закрываем файл и проводим
вставку объектов из каждого sat файла в рисунок
Команду SAVE лучше выполнить вручную
Без проверки:

Код:
[Выделить все]
(defun c:sat (/ file file_list fn spisok_sat)
   (setq spisok_sat (getfiled "Vyberite spisok failov SAT" "" "txt" 8))
	  (setq fn (open (findfile spisok_sat) "R"))
   (while (setq file (read-line fn))
     (setq file_list (cons file file_list))
     )
   (close fn)
   (setvar "filedia" 0)
       (foreach file file_list
	     (command "_acisin" file "")
	 )
  (setvar "filedia" 0)
   (setvar "cmdecho" 0)
  (command "_qsave")
   (princ)
)
Олег (jr.) вне форума  
 
Автор темы   Непрочитано 30.01.2013, 20:22
#3
Terzi Ilia


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


Спасибо, Олег!
Попробовал скрипт, но он импортирует все SAT из списка в один DWG и в конце предлагает сохранить как Drawing1.

Я бы хотел чтобы скрипт импортировал SAT из списка в пустой DWG и сохранял этот DWG и именем импортированного SAT. Потом переходил к следующему.

Я слегка изменил твой код, но в этом случае скрипт сохраняет только один DWG и кидает в папку, хранящейся в переменной tempprefix:

(defun c:sat (/ file file_list fn spisok_sat)
(setq spisok_sat (getfiled "Vyberite spisok failov SAT" "" "txt" 8))
(setq fn (open (findfile spisok_sat) "R"))
(while (setq file (read-line fn))
(setq file_list (cons file file_list))
)
(close fn)
(setvar "filedia" 0)
(foreach file file_list
(command "_acisin" file "")
(command "_qsave" file "")
)
(princ)
)

Можно сделать чтобы код переходил сохранял DWG по одному и кидал в ту же папку где сохранены SAT?
Terzi Ilia вне форума  
 
Непрочитано 30.01.2013, 20:28
#4
Олег (jr.)

специалист по околачиванию грушевых деревьев
 
Регистрация: 14.09.2004
Pietari, Venäjä
Сообщений: 811


Нужно тестировать у меня времени нет
навскидку после каждого файла попробуй команду _SAVEAS и тд...
Завтра попробую в Автокаде
Олег (jr.) вне форума  
 
Непрочитано 30.01.2013, 21:36
#5
Кулик Алексей aka kpblc
Moderator

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


Terzi Ilia, существуют специальные тэги [code][lisp][/lisp][/code]. Пользуйся ими.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 30.01.2013, 22:42
#6
Terzi Ilia


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


Извиняюсь, не знал. Постараюсь исправиться!
Terzi Ilia вне форума  
 
Непрочитано 31.01.2013, 00:52
#7
Олег (jr.)

специалист по околачиванию грушевых деревьев
 
Регистрация: 14.09.2004
Pietari, Venäjä
Сообщений: 811


Пробуй только не пытайся все делать програмно,
закрывай файл .dwt вручную
Код:
[Выделить все]
(defun c:trsat (/ acapp acdocs adoc file file_list fn newdoc sat_list tmpdoc tmppath)
     (setq sat_list (getfiled "Vyberite spisok failov SAT" "" "txt" 8))
	  (setq fn (open (findfile sat_list) "R"))
   (while (setq file (read-line fn))
     (setq file_list (cons (findfile  file) file_list))
     )
   (close fn)
  (setvar "sdi" 0)
(setq acapp  (vlax-get-acad-object)
      adoc   (vla-get-activedocument acapp)
      acdocs (vla-get-documents acapp))
     (setq tmppath (vla-get-templatedwgpath
		     (vla-get-files (vla-get-preferences acapp)))
	   tmpdoc  (findfile (strcat tmppath "\\acadiso.dwt"));; might be "acad.dwt" or other as well
	   newdoc  (vla-add acdocs tmpdoc))
(setq newdoc (vla-get-activedocument acapp))
    (foreach file file_list
	     (vl-cmdf "_acisin" file )
	 )
            (vla-saveAs newdoc (strcat (getvar "dwgprefix") "ImportSat.dwg"));; set a fullname of the new file to save
  (princ)
  )
Олег (jr.) вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Импорт файлов SAT и сохнанение в формате DWG



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Документация Проектировщику на Torrents DEM Разное 263 03.09.2024 12:25
Импорт файлов из Лиры-Визор или Лиры СТК в dwg(dfx) в 3D с сечениями. Denis Лира / Лира-САПР 3 11.04.2011 23:54
Грамотное открытие файлов DWG из макса (6,7,8) Chuma AutoCAD 11 03.02.2010 08:05
Программирование с использованием файлов DWG fiandy Программирование 3 22.03.2008 20:27
Предоставление чертежей в формате dwg bridgeconst Разное 19 13.02.2008 09:58