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

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

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

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

И вновь требуется помощь наших спецов:
нужен лисп, который откроет в текущей сессии Акада все файлы .dwg из указанной директории, включая поддиректории.
Просмотров: 10339
 
Непрочитано 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,291


Глупый вопрос: а почему нельзя в проводнике эти файлы выделить, потом кликнуть правой мышкой и сказать "открыть" ?
Хотя подозреваю, что заказанная прога куда-то еще как подпрограмма внедряться будет.
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,291


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,413
Отправить сообщение для Александр Ривилис с помощью 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
Талды-Париж
Сообщений: 6,010


Цитата:
Сообщение от 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
С.-Петербург
Сообщений: 40,408


Подшивка - мимо?
__________________
Моя библиотека 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 вне форума  
 
Непрочитано 07.05.2011, 22:54
#21
таи


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


Offtop:
Цитата:
Сообщение от hwd Посмотреть сообщение
странный вопрос...
Спасибо, понял подшивка и на фиг мне не нужна.
С лиспами сложнее - чувствую - что это полезная "весчь", но только как бы увидеть ее пользу?

Пример на словах не затруднит привести. Спасибо.
таи вне форума  
 
Непрочитано 07.05.2011, 22:56
#22
hwd

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


Цитата:
Сообщение от таи Посмотреть сообщение
С лиспами сложнее - чувствую - что это полезная "весчь", но только как бы увидеть ее пользу?
Пример на словах не затруднит привести. Спасибо.
Да вроде как по форуму полно информации на эту тему. Или то, что имеется - не убедительно?
Есть целая ветка на эту тему: тынц.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:

Последний раз редактировалось hwd, 07.05.2011 в 23:08.
hwd вне форума  
 
Непрочитано 07.05.2011, 23:12
#23
таи


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


Цитата:
Сообщение от hwd Посмотреть сообщение
Да вроде как по форуму полно информации на эту тему. Или то, что имеется - не убедительно?
Да все убедительно. Но пару строчек черкнуть для дилетанта трудно?
Верят личному примеру.
Не совсем понимаю, как лисп может мне помочь при черчении каждый раз нового объекта - в чем фишка?
Предположим, что я - самый что ни на есть Профан. Если трудно ответить пошлите на ссылку.
Я не прошу мне что-то писать- мне не понятен принцип использования лиспа - что это дает?
Хворобьев восхищался лиспописателями- я не понимаю этого процесса.
Просто двумя словами - что я не ловлю в данном вопросе?
От Вашего мастерства ничего не убудет, если объясните в двух словах.
таи вне форума  
 
Непрочитано 07.05.2011, 23:19
#24
hwd

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


Я же указал ссылку на целую ветку... Каждый её топик содержит решение той или иной проблемы со всеми исходниками, написанными преимущественно на лиспе...
Offtop: похоже, что пациент безнадёжен
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 07.05.2011, 23:26
#25
Sleekka

-
 
Регистрация: 24.07.2005
Москва
Сообщений: 1,335


Цитата:
Да все убедительно. Но пару строчек черкнуть для дилетанта трудно?
Верят личному примеру.
Не совсем понимаю, как лисп может мне помочь при черчении каждый раз нового объекта - в чем фишка?
Предположим, что я - самый что ни на есть Профан. Если трудно ответить пошлите на ссылку.
Я не прошу мне что-то писать- мне не понятен принцип использования лиспа - что это дает?
Хворобьев восхищался лиспописателями- я не понимаю этого процесса.
Просто двумя словами - что я не ловлю в данном вопросе?
Я лиспописатель, и когда мы проектировали микрорайон, мы не открывали 800 файлов чтобы там менять фамилии и сохранять, все было залинковано в бд автоматом изначально + хref = грамотная орагнизация процесса дает возможность делать ту же работу за меньшее время.
Так понятно?
Sleekka вне форума  
 
Непрочитано 07.05.2011, 23:26
#26
Кулик Алексей aka kpblc
Moderator

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


таи, напиши задачу, которая решается только в AutoCAD, занимает немного времени, но достаточно много кликов по разным диалоговым окнам. Вот тебе и проблема, которую наверняка можно решить либо лиспом, либо иным другим языком программирования.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 07.05.2011, 23:46
#27
таи


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


Цитата:
Сообщение от hwd Посмотреть сообщение
похоже, что пациент безнадёжен
Да, Вы, правы, в инженерных задачах - я говорю аналогичное.
Но, спасибо, что указали на мою бездарность.
Ка бы лиспы были так важны при решении инженерных задач - я человек достигший нижнего понимания Code-Aster Offtop: (как же там без программирования исходной задачи) и умеющий что-то Offtop: "пролепетать" в екселе - то кинулся бы изучать эту систему, но пока не понимаю важность ее.
В общем - жестко, но справедливо.
Учту, Ваше замечание.
таи вне форума  
 
Непрочитано 08.05.2011, 13:30
#28
Salo65

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


Цитата:
Сообщение от Nike Посмотреть сообщение
Сколько времени на это ушло, если не секрет?
Немногим менее 7-ми часов

Создавать базу данных физически некогда, ибо работы - как в том анекдоте про курицу несушку - "ты чего такая неухоженная? - Да некогда мне - я то несуся, то ...."
Salo65 вне форума  
 
Непрочитано 28.11.2020, 10:14
#29
Salo65

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


Апну тему по причине:

- McNeel удалил со своих серверов библиотеку DOSlib для AutoCAD 2006.
В Сети не нашёл, все ссылки ведут на ftp всё того же McNeel, но там "Page 404"

Не завалялось ли у кого архива?

Заранее благодарен!
Salo65 вне форума  
 
Непрочитано 28.11.2020, 15:25
1 | #30
frostmourn


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


Это подойдёт? Или какая там версия для 2006-го нужна?
Вложения
Тип файла: rar doslib16.rar (87.1 Кб, 14 просмотров)
frostmourn вне форума  
 
Непрочитано 28.11.2020, 15:51
#31
Salo65

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


Цитата:
Сообщение от frostmourn Посмотреть сообщение
Это подойдёт? Или какая там версия для 2006-го нужна?
Всё ОК, работает!

Спасибо ОГРОМНЕЙШЕЕ!!!
Salo65 вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Нужен лисп: открытие всех файлов в данной директории