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

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

Библиотека блоков

Ответ
Поиск в этой теме
Непрочитано 21.11.2007, 17:44
Библиотека блоков
Spy
 
3d, проектирование диспетчеризации инженерных систем, автоматизация
 
Ростов-на-Дону
Регистрация: 27.02.2007
Сообщений: 136

Начал заниматься автоматизацией. Там соответственно много типовых элементов на принципиальных схемах. Отсюда вырос вопрос о создании библиотеки с блокоми.
Вопрос: Как грамотнее и продуктивнее создать библиотеку блоков в Автокаде 2007?
Просмотров: 43279
 
Непрочитано 21.12.2007, 22:16
#61
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Вернемся все-таки к библиотеке.

Где лежат блоки? - Правильно, в файлах. А какие это файлы? - Двух видов. Первый - файл, в котором фигурирует только этот блок и больше ничего. Второй - файл, в котором помимо этого блока есть много других и прочий мусор, блоками не являющийся (чертежи и модели короче).

Можно легко написать макрос, который переколбасит на вашем компьютере все файлы DWG и слижет из них списки с имеющимися в файлах блоками.

Долго это, понимаю, но делать периодически проверку компьютера на вирусы тоже похожая по продолжительности задача.

По этому списку легко находить по имени блока файл, в котором он лежит. Опись так сказать.

По сути, дерево папок вещь хорошая, но что делать, если вам подарили модель теплового пункта, а там штук 200 блоков и что разбирать по болтику?

Далее. Эта опись построена по принципу базы данных, где и по алфавиту можно все посмотреть и по признаку. Признак этот - это название группы, к которой относится этот блок. У группы тоже есть свой признак и так далее.

Открываем AutoCAD, запускаем прогу работающую с эти БД-шным файлом и ползая ли по признакам (как по дереву папок), или ползая ли по алфавиту (типа ищем Кран на букву К) сразу видим в каких файлах сие лежит и давим кнопень "слизать". Автоматически открывается тот файл, копируется в настоящий файл от туда блок и производится обновление состава блоков в файле БД.

Таким образом, в какой бы вы файл не зашли, у вас будет отслеживаться файл БД автоматически.

Короче библиотекой является весь комп и в чем там все лежит - дело вторичное.

Подарить такую "библиотеку" можно только вместе с винчестером. Но зато пользоваться такой библиотекой куда как удобней, чем лазить по дереву папок и искать где и что лежит.

Кстати про поиск. В текстовом файле или БД Access поиском найти нужное сочетание букв в названии блока - это не то, чтобы все файлы dwg перелопачивать.
Supermax вне форума  
 
Непрочитано 21.12.2007, 23:01
#62
Кулик Алексей aka kpblc
Moderator

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


Дело не только и не столько в том, что "весь комп есть библиотека". Помимо текстового представления есть еще и графическое, а оно не менее важно. В этом смысле ИМХО ToolPalettes с группировкой дадут фору любому варианту.
P.S. Хотел написать тьму всякого, но подумал, что сам запутаюсь и всех запутаю. Ээх, жалко, ShaggyDoc сюда особо не заглядывает, он бы рассказал...
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 22.12.2007, 15:10
#63
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Я не согласен с тобой Kpblc, TOOLPALETTES - не удачная задумка AutoDECK-a. Если хочешь в этом убедиться - набросай туда лиспов. Там и лиспы вставляются как и DWG файлы. Причем даже простым перетаскиванием из папки в TOOLPALETTES.
Нет там дерева, нет поиска, нет видов представлений как в простых папках. Можно только либо значки, либо текст к ним, либо то и другое. Все.
Я бы сказал, что простые папки Винды - в сто раз лучше. В них даже поиск есть.

Вот меня мучает вопрос, а если в путях Сupport File Search Path не указан путь к файлу с моделью, в которой много нужных блоков, можно ли такой файл считать библиотечным?
Supermax вне форума  
 
Непрочитано 22.12.2007, 23:35
#64
Кулик Алексей aka kpblc
Moderator

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


Supermax, в ToolPalettes можно менять картинки
Цитата:
Нет там дерева, нет поиска, нет видов представлений как в простых папках
ruCAD, дерево блоков; либо Details из ADT; либо собственная аналогичная разработка.
Цитата:
Вот меня мучает вопрос, а если в путях Сupport File Search Path не указан путь к файлу с моделью, в которой много нужных блоков, можно ли такой файл считать библиотечным?
Я - считаю. У меня в Support Paths путь к файлу библиотеки не прописан и вычисляется "динамически" по мере надобности.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 24.12.2007, 13:53
#65
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Картинки, вещь безусловно нужная и полезная, но одними картинками сыт не будешь.
Надо хелп-справку изучать тщательнее, но пока руки не доходят. Может от туда через внешние ссылки можно будет вываливаться в нужные места.

Я точно знаю, что создание любой библиотеки, будь то блоки, будь то функции напарывается на проблему усвоения нового и отслеживание изменений существующего. Вторую часть проблемы можно преодолеть усилив решение первой части. Например: Я имею некую программу, которая всю базу файлов dwg на моем компьютере делает библиотекой. Проводит учет имеющихся файлов dwg, bak, sv$ и либо по мере их открытия списывает из них список с блоками, либо один раз на пол дня занимает комп и перелопачивает все файлы.
Таким образом, мы всегда относимся к имеющимся файлам как к новому поступлению находим блоки исходя из неопределенности их наличия.

Если написать такую программу то почти всем, кто работает с AutoCAD-ом будет интересно "а что же есть у меня в компьютере?". Порядок поддерживают единицы. У большинства, к сожалению, все лежит хоть и отсортированное по папкам, но все равно без понятия, "а что же у меня есть?". Я тоже без такого понятия.
И так будет постоянно. Надо с этим кончать "технически". Никакие "obliko morale" не помогут. Это еще производители нас жалеют, не выбрасывают на свои сайты и по сети блоки и файлы со своими изделиями. Пока не поздно, надо готовиться к наплыву графики.

Я тут базу к архикаду ставил одной девушке, так там список папок - фиг прочтешь, а там еще и подпапки есть и в них еще и еще. Без поиска даже файл не найти, а надо не выходя из программы, решая задачу вставки блока в данную точку. Кошмар!
Supermax вне форума  
 
Непрочитано 24.12.2007, 15:02
#66
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Простейшая вещь, однако облом приключился.
Запустил поиск *.dwg - искало 2 минуты. Винт - 200 гиг, из которых 152 заняты и 47 свободны. Нашло 14046 файлов (чисто файлов, не ярлыки). Списать результаты поиска в файл txt - увы не получилось.

А надо как-то это сделать. Может в других программах есть сервис с сохранением результатов поиска?

Последний раз редактировалось Supermax, 24.12.2007 в 15:47.
Supermax вне форума  
 
Непрочитано 24.12.2007, 15:24
#67
Кулик Алексей aka kpblc
Moderator

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


Примерный код:
Код:
[Выделить все]
(apply 'append (mapcar  '(LAMBDA(x) (DWGRU-BROWSEFILES-IN-DIRECTORY x "*.dwg" t)) '("c:"  "d:")))
; А потом уже полученный список обрабатывай как угодно
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 24.12.2007, 15:46
#68
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Ты хочешь сказать, что DWGRU-BROWSEFILES-IN-DIRECTORY есть в той библиотеке, что ты мне дал?
Я что-то не вижу этой функции на сайте.
Supermax вне форума  
 
Непрочитано 24.12.2007, 15:49
#69
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


И еще одна поправка, а ярлыки ты как отсеиваешь?
Supermax вне форума  
 
Непрочитано 24.12.2007, 15:53
#70
Кулик Алексей aka kpblc
Moderator

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


Загрузи fas, потом vlide и попробуй выполнить. Например, такое:
(dwgru-browsefiles-in-directory "c:\\1" "*.dwg" t)
Предварительно в папку c:\1 накидай пару-тройку файлов, чтоб результат увидеть.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 24.12.2007, 19:28
#71
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Автокад по видимому нашел все, что у меня есть. Долго выдавал пачками распечатки путей (это же всего один список) и вырубился без предупреждения. Просто взял и выключился. Даже когда мне надо снести задачу через диспетчер задач, так бысто никогда не получится.
Нельзя так перегружать память и логику программы.
Надо сразу в файл результат писать, а лучше в таблицу.
Сам попробуй запустить такое.

Добавлено: Слетает систематически.

Последний раз редактировалось Supermax, 24.12.2007 в 19:45.
Supermax вне форума  
 
Непрочитано 24.12.2007, 19:59
#72
Кулик Алексей aka kpblc
Moderator

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


Если честно, то я не понимаю конечного назначения программы / лиспа. Как бы то ни было: каталог D:\test; количество файлов dwg - 41 620; время срабатывания лиспа - около минуты; через TotalCommander - примерно секунд 20-30. Лисп не обращается к WinAPI напрямую, хотя, наверное, надо бы. dos_* функции не тестировал - они не дают пройтись "внутри" каталога, а рекурсию рисовать лениво.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 24.12.2007, 20:06
#73
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Да, маловато у тебя файлов на D:. Может 40 тысяч и у меня прокатит? Сейчас попробую.

Смысл не в проге, а втом, чтобы задокументировать имеющиеся файлы на компе (для начала). Блоки из них переписать таким же макаром видно не судьба - комп и это еле-еле тянет. Наверное надо будет просто по мере работы с файлами автоматом их прочесывать, или в крайнем случае небольшими партиями, а не так глобально.

Хочу узреть общую картину.
Supermax вне форума  
 
Непрочитано 24.12.2007, 20:19
#74
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


2008 - сдюжал. а 06-ой не тянет, однако.
Теперь вопрос "что с этим сделать, чтобы увидеть результат? И в каком виде, собственно, этот результат нужен?
Supermax вне форума  
 
Непрочитано 24.12.2007, 20:24
#75
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Kpblc, ты можешь в свою функцию вставить еще один признак, чтобы в файл сливало, а print в конце убрать?
Или дай мне исходник, я в нем сам поколупаюсь.
Supermax вне форума  
 
Непрочитано 24.12.2007, 20:45
#76
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Вот еще тема о блоках:
http://www.caduser.ru/cgi-bin/f1/board.cgi?t=19887gd
Profan вне форума  
 
Непрочитано 24.12.2007, 22:42
#77
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Я чего-то не врубился. Запустил - создало cui, mnu и mns файлы. Открыл, думал новые функции появятся - из полученного ничего не понял и где дерево файлов - так и не увидел.

А у вас как?
Supermax вне форума  
 
Непрочитано 25.12.2007, 00:21
#78
Кулик Алексей aka kpblc
Moderator

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


Исходник, который я применил в DwgRuLispLib (слегка его модифицировав): http://www.caduser.ru/cgi-bin/f1/boa...19612AN&page=2
Второй вариант: http://www.caduser.ru/cgi-bin/f1/board.cgi?t=32891aD
По результатам сравнения (в папке 2 файла dwg) z-files-in-directory в 2,3 раза медленнее getfile (для 14 файлов - в 8,47 раз).
P.S. Библиотеку, кстати, придется переделывать...
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 25.12.2007, 13:52
#79
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Просмотрел и опробовал все функции.
Getfile, как самая, самая, выдала тот же эффект, что и твоя. "2006 - обваливается 2008 - держится, но от этого не легче.
Создать список из 160000 строк, каждая из которых полный путь к файлу, каду не под силу. Да и не нужно это.
Это ошибочная стратегия написания функции.
Надо каждый путь сбрасывать в файл, или создавать переменные по 100 путей в каждой.
Данная функция хороша для поиска или для одной, не большой папки. Для проведения тотального документирования содержимого компьютера непригодна и именно из за того, что пытается создать список и вывести результат на дисплей.
Supermax вне форума  
 
Непрочитано 25.12.2007, 14:43
#80
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Задачу надо усложнить.
К пути и имени файла надо присовокупить размер файла, чтобы отслеживать изменение файлов.
Путь нужен отдельно, а имя отдельно.
Результат надо сливать в mdb файл Access-а. По столбцам : Путь; Имя; Размер.
Далее будут столбцы с именем блока, его размером и далее дерево вложенности данного блока по группам, к которым он относится.
Таким образом, имея дерево файлов мы можем отсортировать его по пути и собрать все файлы конечной папки, отсортировать по имени файла и собрать все папки где таковой имеется и т.д.
При открытии файла, автоматически будет списываться состав блоков в этом файле и дополняться эта база.
С картинками сложнее, но надо сделать. Предлагаю запускать внешнее приложение с адресом выбранного файла, а оно уже будет показывать его слайд.
Supermax вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Библиотека блоков

Опции темы Поиск в этой теме
Поиск в этой теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Библиотека доступа к содержимому растров из LISP - существуе kp+ LISP 6 16.10.2007 21:45
Пропали привязки у блоков Валенок AutoCAD 7 20.06.2007 15:27
Взрыв блоков Filcarpenter Разное 19 28.01.2007 09:57
Библиотека динамических блоков Коробейников Алексей Динамические блоки 2 05.04.2005 16:08