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

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

Нужен лисп: открытие всех файлов в данной директории

Ответ
Поиск в этой теме
Непрочитано 25.04.2005, 14:23 #1
Нужен лисп: открытие всех файлов в данной директории
Torino
 
Штаб
Регистрация: 21.08.2003
Сообщений: 943

И вновь требуется помощь наших спецов:
нужен лисп, который откроет в текущей сессии Акада все файлы .dwg из указанной директории, включая поддиректории.
Просмотров: 9979
 
Непрочитано 25.04.2005, 14:44
#2
{Smirnoff}

Инженер по системам безопасности
 
Регистрация: 23.11.2003
Рига
Сообщений: 1,099


А компостер у тебя не заклинит :?:

Лови. Файлы "doslib15.arx" и "doslib16.arx" которые ты должен закинуть в Support (в зависимости от версии Автокада) чтобы это работало сейчас скину тебе по мейлу.
Код:
[Выделить все]
(defun c:diropen(/ pathList scFactor docColl curDoc errList errCount sucCount
		allSet layCol layerState selSets newSet)
 
  (defun asmi-doslib-load (/)
    (cond
      ((=(substr(getvar "ACADVER")1 2) "15")
       (progn
  (if(not(member "doslib15.arx" (arx)))
      (arxload "doslib15.arx" "File doslib15.arx.arx not found! ")
    ); end if
  );end progn
       )
      ((=(substr(getvar "ACADVER")1 2) "16")
       (progn
  (if(not(member "doslib16.arx" (arx)))
       (arxload "doslib16.arx" "File doslib16.arx.arx not found! ")
    ); end if
  );end progn
       )
       ); end cond
    (if(or
       (member "doslib15.arx" (arx))
       (member "doslib16.arx" (arx))
       ); end or
      T
      ); end if
  ); end of asmi-doslib-load


 

  (defun asmi-all-folder-dwgs (/ rootDir dirList newFiles fileList)
  (if
  (setq
    rootDir(dos_getdir "Folder to select DWG's " "C:\\" "Select folder select DWG's")
   ); end setq
  (progn
   (setq dirList(dos_dirtree rootDir)
    fileList '()
   ); end setq
  (foreach dir dirList
    (if
      (setq newFiles(dos_dir(strcat dir "*.dwg")0))
      (progn
   (setq newFiles(mapcar '(lambda (x)(strcat dir x))newFiles)
              fileList(append fileList newFiles)
   ); end setq
       ); end progn
      ); end if
    ); end foreach
  fileList
   ); end progn
  ); end if
); end of asmi-all-folder-dwgs


 
  (if(asmi-doslib-load)
    (progn
      (if
       (setq pathList(asmi-all-folder-dwgs))
        (progn
          (setq docColl(vla-get-Documents(vlax-get-acad-object))
           errList '()
      errCount 0
      sucCount 0
          ); end setq
  (foreach path pathList
   (if
        (vl-catch-all-error-p
         (setq curDoc
          (vl-catch-all-apply 'vla-open(list docColl path))))
     (progn
     (setq errList(append errList(list path)))
     (setq errCount(1+ errCount))
     ); end progn
     (setq sucCount(1+ sucCount))
   ); end if
	 ); end progn
     ); end if
      ); end foreach
    ); end progn
       (princ "\n!!! *.DWG FILES NOT FOUND IN SELECTED DIRECTORY AND SUBDIRECTORIES !!! ")
   ); end if
      
  (if(/= 0 errCount)
    (progn
      (princ "\n!!! ISN'T OPENED FILES !!!")
      (princ "\n------------------------------------------------")
      (foreach file errList
   (princ(strcat "\n" file))
   ); end foreach
      (princ "\n------------------------------------------------")
      (princ(strcat "\n!!! TOTAL ISN'T OPENED FILES: " (itoa errCount) " !!! \n"))
       ); end progn
      ); end if
    (if(/= 0 sucCount)
    (princ(strcat "\n*** " (itoa sucCount) " FILES WAS OPENED *** "))
    (princ "\n*** NO FILES WAS OPENED! ***")
      ); end if
    (textscr)
(princ)
); end of c:mscale

(vl-load-com)
{Smirnoff} вне форума  
 
Непрочитано 25.04.2005, 15:31
#3
Pilot

Проектировщик свиноводство
 
Регистрация: 21.08.2003
Сообщений: 2,260


Глупый вопрос: а почему нельзя в проводнике эти файлы выделить, потом кликнуть правой мышкой и сказать "открыть" ?
Хотя подозреваю, что заказанная прога куда-то еще как подпрограмма внедряться будет.
Pilot вне форума  
 
Автор темы   Непрочитано 25.04.2005, 15:33
#4
Torino


 
Регистрация: 21.08.2003
Штаб
Сообщений: 943
<phrase 1=


Это программа нужна, чтобы у меня не возникло туннельного эффекта
От открывания большого количества чертежей, раскиданных по папкам.
Дослиб имеется.
Так что программа сразу запустилась и выполнила именно то, что надо было.
Спасибо большое!
(ПС: А компостер у меня последнего поколения. Из титанового сплава. Так что не заклинит )

>>Pilot
Проблема в том, что в файлы находятся во вложенных папках.
Поэтому в проводнике их все выделить махом не получится.
А внедрять никуда не планирую (автора я спрошу об этом в первую очередь).
Torino вне форума  
 
Непрочитано 25.04.2005, 15:55
#5
{Smirnoff}

Инженер по системам безопасности
 
Регистрация: 23.11.2003
Рига
Сообщений: 1,099


>Torino

Смотри рекомендации Kryker по профилактике туннельного эффекта в теме Глаза.
{Smirnoff} вне форума  
 
Автор темы   Непрочитано 25.04.2005, 16:10
#6
Torino


 
Регистрация: 21.08.2003
Штаб
Сообщений: 943
<phrase 1=


Кто-нибудь видел подобное?
Я в первый раз
[ATTACH]1114431011.jpg[/ATTACH]
Torino вне форума  
 
Непрочитано 25.04.2005, 16:33
#7
Pilot

Проектировщик свиноводство
 
Регистрация: 21.08.2003
Сообщений: 2,260


2 Torino
Со вложенными папками легко справляется Тотал-Коммандер по комбинации Ctrl+B. Все файлы в подпапках становятся как бы в одной. Только я не пробовал таким образом файлы оптом открывать. Но попробую.
Pilot вне форума  
 
Автор темы   Непрочитано 25.04.2005, 17:02
#8
Torino


 
Регистрация: 21.08.2003
Штаб
Сообщений: 943
<phrase 1=


>>Pilot
Попробовал - получилось!
Надо бы изучить TC подробнее.
Спасибо.
Torino вне форума  
 
Непрочитано 05.05.2011, 16:58
#9
Salo65

ИнжеНегр - констриктор :)
 
Регистрация: 03.06.2010
Рождён в СССР!
Сообщений: 48


Спасибо!!!
Респект и уважуха!!!

Наткнулся на сие когда надо было одновременно открыть для редактирования 8 сотен файлов в 92-х директориях с кучей поддиректорий...
СУПЕР!!!
Salo65 вне форума  
 
Непрочитано 06.05.2011, 16:43
#10
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,405
Отправить сообщение для Александр Ривилис с помощью Skype™


Цитата:
Сообщение от Salo65 Посмотреть сообщение
Наткнулся на сие когда надо было одновременно открыть для редактирования 8 сотен файлов в 92-х директориях с кучей поддиректорий...
И что AutoCAD не выпал в осадок?
Александр Ривилис вне форума  
 
Непрочитано 06.05.2011, 17:06
#11
Salo65

ИнжеНегр - констриктор :)
 
Регистрация: 03.06.2010
Рождён в СССР!
Сообщений: 48


да нет, у меня харда моцная стоит....

Пробовал сие чудо сегодня на ноуте - тот естессно ушёл в фатал еррор - недостаточно памяти...
А стационар - нормально съел...

Последний раз редактировалось Salo65, 07.05.2011 в 11:10.
Salo65 вне форума  
 
Непрочитано 06.05.2011, 20:51
#12
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от Salo65 Посмотреть сообщение
надо было одновременно открыть для редактирования 8 сотен файлов
Это яркий пример того, о чём написано у меня в подписи...
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 07.05.2011, 13:21
#13
Salo65

ИнжеНегр - констриктор :)
 
Регистрация: 03.06.2010
Рождён в СССР!
Сообщений: 48


8 сотен файлов - это 95 типовых проектов, в которых содержится указанное кол-во файлов автоГада.
Подрядчик, под чью контору (де-юре) выпускаются проекты уволил парочку человек, на их место взял новых. Пришлось заняться маразмом и поменять фамилии в штампах всего пакета документов.
Чтобы не сойти с ума - открыл всё вместе, заменил необходимое в первом файле, а потом - копи-паст-сейв-альт+таб, копи-паст-сейв-альт+таб, копи-паст-сейв--альт+таб...клоуз,... Game over!!!
Salo65 вне форума  
 
Непрочитано 07.05.2011, 13:51
#14
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Главное, что тебе такой вариант решения подходит. Устраивает - и ладно...
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 07.05.2011, 14:25
#15
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Цитата:
Сообщение от Salo65 Посмотреть сообщение
8 сотен файлов - это 95 типовых проектов, в которых содержится указанное кол-во файлов автоГада.
Подрядчик, под чью контору (де-юре) выпускаются проекты уволил парочку человек, на их место взял новых. Пришлось заняться маразмом и поменять фамилии в штампах всего пакета документов.
Чтобы не сойти с ума - открыл всё вместе, заменил необходимое в первом файле, а потом - копи-паст-сейв-альт+таб, копи-паст-сейв-альт+таб, копи-паст-сейв--альт+таб...клоуз,... Game over!!!
один раз сделал не правильно... потом 800 раз исправлять... скупой и глупый платит дважды... но тут...
gomer вне форума  
 
Непрочитано 07.05.2011, 14:39
#16
Nike

Шаражпроектхалтурмонтаж
 
Регистрация: 29.10.2004
Талды-Париж
Сообщений: 5,989


Цитата:
Сообщение от Salo65 Посмотреть сообщение
копи-паст-сейв-альт+таб, копи-паст-сейв-альт+таб, копи-паст-сейв--альт+таб...клоуз,... Game over!!!
пока "копи-паст-сейв-альт+таб, копи-паст-сейв-альт+таб, копи-паст-сейв--альт+таб" хоть хоккей посмотреть..
Сколько времени на это ушло, если не секрет?
Nike вне форума  
 
Непрочитано 07.05.2011, 14:57
#17
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


дело в том что лисп или даже сценарий написать не сложно... но 800 файлов достаточно много... если что пошло не так... хрен проверишь...
gomer вне форума  
 
Непрочитано 07.05.2011, 16:48
#18
Кулик Алексей aka kpblc
Moderator

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


Подшивка - мимо?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 07.05.2011, 18:07
#19
таи


 
Регистрация: 28.08.2008
Сообщений: 2,294


Offtop:
Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Подшивка - мимо?
А что такое подшивка? И какие проблемы при черчениии можно решить с помощью лиспа?
Ну мамой клянусь - не знаю.
Буду благодарен за объяснения в общих чертах проблемы.
таи вне форума  
 
Непрочитано 07.05.2011, 21:29
1 | #20
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от таи Посмотреть сообщение
А что такое подшивка?
подшивки:
тынц,
тынц.
Цитата:
Сообщение от таи Посмотреть сообщение
какие проблемы при черчениии можно решить с помощью лиспа?
странный вопрос... А какие проблемы вообще решают с помощью языков программирования? За кефиром они точно не бегают...
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Нужен лисп: открытие всех файлов в данной директории

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

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