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

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Добавление в модель новых вхождений блоков (уникальных) поштучно

Добавление в модель новых вхождений блоков (уникальных) поштучно

Ответ
Поиск в этой теме
Непрочитано 21.05.2010, 11:16 #1
Добавление в модель новых вхождений блоков (уникальных) поштучно
Sirius2w
 
Проектировщик ТХ
 
Регистрация: 16.11.2009
Сообщений: 139

Проблема такая -
1. есть огромная база блоков ,
2. есть есть чертеж в котором повторяются блоки из базы и есть большое количество вновь созданных блоков.

В базу постоянно вливаем вновь созднные блоки и тем самым она у нас разростается, но приходиться или на память добавльть новые или в ручную сравнивать есть такие блоки (новые) в этой базе или нет

как придумать что бы из нового чертежа в базу "заливались" по одному представителю из новых блоков? (через "ЦУП" долго)

может вовсе переделать как то - для каждого отдельного блока создавать новый файл и сделать отдельное хранилище файлов - потом придумать что-то вроде каталога, из которого можно было бы выбирать и вставлють (оперативно) в файл блоки?
Просмотров: 4203
 
Непрочитано 21.05.2010, 16:29
1 | #2
T-Yoke

Артиллерист - вертолётчик. Дипломированный инженер-механик. Technologist
 
Регистрация: 29.11.2004
Где-то около Москвы
Сообщений: 16,791
Отправить сообщение для T-Yoke с помощью Skype™


Цитата:
Сообщение от Sirius2w Посмотреть сообщение
Проблема такая -
1. есть огромная база блоков ,
2. есть есть чертеж в котором повторяются блоки из базы и есть большое количество вновь созданных блоков.

В базу постоянно вливаем вновь созднные блоки и тем самым она у нас разростается, но приходиться или на память добавльть новые или в ручную сравнивать есть такие блоки (новые) в этой базе или нет
как придумать что бы из нового чертежа в базу "заливались" по одному представителю из новых блоков? (через "ЦУП" долго)
может вовсе переделать как то - для каждого отдельного блока создавать новый файл и сделать отдельное хранилище файлов - потом придумать что-то вроде каталога, из которого можно было бы выбирать и вставлють (оперативно) в файл блоки?
Похоже вы начинаете с конца.
Сначала создали базу, а теперь думаете как же она должна правильно и удобно работать.
Может сначала логику её работы продумать и систему удобного поиска и создания новых блоков организовать, нумерацию, визуальные превьюшки, ну... вам видней, что и как вас не устраивает, а уж потом собственно базу трогать.
__________________
«Артиллерия не токмо грохот, но и наука!» Пётр I
T-Yoke на форуме  
 
Непрочитано 21.05.2010, 17:21
#3
Alan

CAD
 
Регистрация: 28.08.2003
Киев
Сообщений: 1,834
<phrase 1=


Необходимо воспользоваться
Поиск:
Ключевые слова: библиотека блоков
Обсуждали неоднократно...
__________________
По теории майский жук летать не может.
Но он этого не знает. И летает...
Alan вне форума  
 
Автор темы   Непрочитано 24.05.2010, 09:07
#4
Sirius2w

Проектировщик ТХ
 
Регистрация: 16.11.2009
Сообщений: 139
Отправить сообщение для Sirius2w с помощью Skype™


Цитата:
Сообщение от Alan Посмотреть сообщение
Необходимо воспользоваться
Поиск:
Ключевые слова: библиотека блоков
Обсуждали неоднократно...
: Извените, но так ответить легче всего

Цитата:
Может сначала логику её работы продумать и систему удобного поиска и создания новых блоков организовать, нумерацию, визуальные превьюшки, ну... вам видней, что и как вас не устраивает, а уж потом собственно базу трогать.
Логика такая :
Блок с атрибутами (содержимое атрибутов уже заполнено при вставке через центр управления теряется содержимое)
Хранилище блоков - один файл либо отдельный файл на каждый блок (на выбор)
блоки создаются в ручную на любом этапе проектирования в любом файле
Затем набор всех используемых блоков на череже анализируется (лиспом или макросом) и сравнивается с базой блоков
анализ производиться по имени блока, по содержанию 2-х или 3-х ключевых атрибутов и если одно из условий не совпадает - выделяется на чертеже и копируется в буфер обмена.
Пример:
На плане:
стул металлический = 15 шт
стол обеденный = 4 шт
камод = 6 шт

в базе:
стул металлический
шкаф для одежды
стол офисный

после анализа на плане выделяется 1 (из 4-х) стол обеденный, 1 (из 6 ) камод.
и копируется в буфер.
Из буфра обмена переноситься в файл библиотеки - в ручную.

Это процесс пополнения базы.

А теперь процесс извлечения необходимого блока:
Что то вроде отдельного открываемого окошка в том же файле, куда производиться вставка, в котором можно задать параметры поиска:
1 . ключевое слово (значение атрибута) 2. Имя блока
в нижней части (к примеру) список найденного (построчно с выпиской значений атрибутов найденного блока)
при клике на строчку в левой или правой части окна появляется изображение для предпросмотра
Все по типу поиска в 2010 автокаде (с параметрами поиска) только еще и с картинкой и что бы работал начиная с 2004 версии

Вот как это все воплатить в жизнь?
хотябы поэтапно

Последний раз редактировалось Sirius2w, 24.05.2010 в 13:37.
Sirius2w вне форума  
 
Автор темы   Непрочитано 25.05.2010, 11:00
#5
Sirius2w

Проектировщик ТХ
 
Регистрация: 16.11.2009
Сообщений: 139
Отправить сообщение для Sirius2w с помощью Skype™


Что ни у кого нет идей?
Sirius2w вне форума  
 
Непрочитано 25.05.2010, 11:21
#6
atollon


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


При вставке блока атрибуты не теряются - по умолчанию у атрибутов блока нет значений
Если надо без изменений значений - делайте блоки не с переменными атрибутами а с постоянным текстом - называйте блок_с_такими_то_параметрами
Блоки можно делать-сохранять как DWG-файлы
Сохранять в папку "библиотека" и далее папки по разделам (или файл с блоками - например "блоки столов")
Сохранение-вставка ручками, так как не представляю автоконтроль-учет произвольных имен блоков для одного и того же элемента (прямоугольник - стол, мой стол, стол прямоугольный, ... Стол, СТОЛ), или одно и тоже название для разной графики, тут народ пишет что со слоями то не могут добиться обнообразия...
__________________
Толстов Евгений
atollon вне форума  
 
Автор темы   Непрочитано 25.05.2010, 13:36
#7
Sirius2w

Проектировщик ТХ
 
Регистрация: 16.11.2009
Сообщений: 139
Отправить сообщение для Sirius2w с помощью Skype™


В том то и дело - столов может быть масса, но у каждого свой уникальный код (имя) которое генерируется автокадом при создании этого блока.
нужно сделать программно - сравнение имеющихся имен блоков (в библиотеке) с теми, которые используются на чертеже, если не совпадают (а таких может быть и 20 % и 1% от всего количества) то выделить их - а далее понятное дело - ручками
Атрибут должен быть контролируемым, иначе дальнейшее использование блока с этим атрибутом будет неудобным.
Вот пример блоков во вложении
Вложения
Тип файла: dwg
DWG 2004
Библиотека блоков.dwg (63.8 Кб, 886 просмотров)
Sirius2w вне форума  
 
Непрочитано 25.05.2010, 14:56
#8
atollon


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


Приехали - имена блоков - автоматом. Не нужен вам уникальный АВТОКАДОВСКИЙ код, нужно Имя-Марка блока-изделия по ассортименту.
Проверка по атрибутам - значения которых также теоретически бесконечно...
Если берем например болт марки такойто - то он не может иметь произвольные значения. Кол-во болтов-марок - конечно. Из библиотеки их берут по ассотименту а не какойто произвольный и потом начинают менять и по своему обзывать...
Имя блока - это имя блока, в библиотеке он будет-должен быть 1, а атрибуты - это переменные - мало ли кто что напишет - это не создает нового блока, а просто меняет его свойства, как не создается новый блок при новой координате точки вставки, масштаба, слоя...
Так что повторяюсь - если нужно одинаковые блоки с разным содержанием текста - то это разные блоки и при встаке разных столов пользователь недолжен менять его характеристики - нужны другие значения - значит вставляй другой объект-блок другой марки, с другим текстом.
Другое дело, если динамический блок, с жестко прописанными ограничениями по изменению размеров, с настроенными под марки параметров видимости.

Насчет ручной проверки наличия блока в файле библиотеки - одноименный блок просто не получиться туда вставить
Если при работе вставляете из библиотеки - то новых блоков не должно появиться, а если создали - то тут же скидывайте в библиотеку - так что все решается организацией работы
__________________
Толстов Евгений
atollon вне форума  
 
Непрочитано 25.05.2010, 15:14
#9
Сергей Дубина


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


Хотелось бы добавить, чтобы имя было уникальным: Документ-изделие марка
Пример:
ГОСТ-ХХХ_Болт_М12
ТУ-YYY_Болт_М12
ТПР-ZZZ_Болт_М12
__________________
КазнитьØнельзяØпомиловать:eek:
Сергей Дубина вне форума  
 
Автор темы   Непрочитано 25.05.2010, 17:24
#10
Sirius2w

Проектировщик ТХ
 
Регистрация: 16.11.2009
Сообщений: 139
Отправить сообщение для Sirius2w с помощью Skype™


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

Хорошо, допустим - имя блока будет по марке, как и с помощью чего осуществлять быстрый поиск по двум параметрам? ключевое слово в названии (стол* далее любое кол-во символов) марка СП*любое колво символов (оно же имя блока)
Sirius2w вне форума  
 
Непрочитано 25.05.2010, 22:58
#11
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,379


Sirius2w, это не библиотека блоков, это один файл с кучей блоков со всеми вытекающими проблемами
Хмурый вне форума  
 
Непрочитано 25.05.2010, 23:52
#12
atollon


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


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

- может всеже сделаешь динамические блоки? Посмотри варианты того же двутавра в стандартной вкладке инструментальной палитры - по крайней мере добъешься стандартизации какойто и орграничишь пользователей выбором параметров
__________________
Толстов Евгений
atollon вне форума  
 
Автор темы   Непрочитано 26.05.2010, 09:37
#13
Sirius2w

Проектировщик ТХ
 
Регистрация: 16.11.2009
Сообщений: 139
Отправить сообщение для Sirius2w с помощью Skype™


Цитата:
Сообщение от atollon Посмотреть сообщение
Не просто с кучей блоков, но и еще с кучей вставок одного и того же блока с разными значениями атрибутов, а это значит что придется вставлять не как блок из этого файла, а открывать его, искать блок с нужным содержанием полей и копировать его в буфер обмена
Вот именно об этом я и говорю..
Инструментальная палитра - хорошо, но теряются атрибуты как при вставке через центр управления.
Динамические блоки (внешняя оболочка) позволяет сохранить неизменными значения атрибутов во вложенных блоках, это приемлемо и для части оборудования можно сделать так. Это удобно когда много однотипного оборудования (например столы разной марки но все в одном динамическом блоке) но как быть с остальным ? мы ведь не только столами занимаемся а еще есть куча (по 1 -2 шт) других элементов оборудование для СТО, Медицины, торговое, школьное и т.д. Получается ОООЧЕНЬ геморно - создать сначала блок, забить значения атрибутов, потом из него сделать динамический или простой блок, что бы сохранить неизменными значения этих атрибутов добавить его в палитру (присвоить имя-марку) ... у меня уже голова кругом... дальше не буду продолжать
проще так - создать блок, забить значения атрибутов и поместить в библиотеку его вот и все


не нужно сейчас придумавать способ создания блоков - нужно придумать легкий способ поиска готовых с помощью программы по 2-м параметрам (марка оборудования, наименование оборудования)
Алгоритм:
Параметр поиска "набор символов"
сравнивается с значениями атрибутов - совпало значит "истина" нет "ложь"
то что совпало - выводиться в виде списка - выбираешь нужную строку (если выдало несколько результатов) и вставляешь блок в чертеж

Последний раз редактировалось Sirius2w, 26.05.2010 в 09:43.
Sirius2w вне форума  
 
Непрочитано 26.05.2010, 09:43
#14
Кулик Алексей aka kpblc
Moderator

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


Цитата:
Сообщение от Sirius2w Посмотреть сообщение
теряются атрибуты как при вставке через центр управления.
Теряются атрибуты или значения атрибутов?
Кто мешает сделать поля в атрибутах?
Если ничего из предложенного в теме не подходит, остается только "чисто программное создание" блоков (ИМХО, конечно).
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 26.05.2010, 10:23
#15
atollon


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


Вот я и говорю - программно
т.к. средствами автокада можно найти блоки или текст в открытом рисунке, да и то - не 1, а все одинаковые, а вот сравнивать с содержимым внешнего файла - без создания базы данных, где будут прописаны имена файла, блока, атрибутов... и программы работы с ней все равно не обойтись... как минимум - создать Excel файл для ручной проверки, надо или нет создавать новый блок, т.е. опять упираемся в обеспечение-организацию рабочего процесса
Насчет проверки - есть или нет, уже говорил - не создавать новые, не проверив библиотеку, а там всем блокам метку в имя ставить - библиотечный. Тогда можно будет быстро найти блоки в чертеже без этой отметки
Насчет "голова кругом" - закономерный результат и неизбежный этап - всегда в начале все валят в одну кучу (не так и много данных, можно одним взглядом окинуть и вычленить нужное), а вот потом, как захлестнет - хочешь-не хочешь а придется наводить порядок - анализировать и структурировать данные и приручать соседей гигиене в общественном месте
__________________
Толстов Евгений

Последний раз редактировалось atollon, 26.05.2010 в 10:29.
atollon вне форума  
 
Автор темы   Непрочитано 26.05.2010, 10:44
#16
Sirius2w

Проектировщик ТХ
 
Регистрация: 16.11.2009
Сообщений: 139
Отправить сообщение для Sirius2w с помощью Skype™


Кулик Алексей aka kpblc> Теряются значения

Хорошо, спасибо всем, я сам не программист, поэтому проблема останется нерешенной. Значит далее будем в ручную мучиться.
Тем более сейчас собрался увольняться с этой работы - развивать эту идею некому. Хотя жаль если честно....
Очень много труда вложил в нее. Начиналось все с малого - просто создал базу изображений... подучил возможности автокада - добавил к изображениям атрибуты... еще подучил - нашел с помощью добрый людей возможность генерировать готовую оформленную спецификацию оборудования .. еще подучил - сделал несколько групп динамичских блоков из ранее созданных однотипных блоков.
еще покопался - нашел возможность средствами автокада делать 2 раздела в одном (стадия "проект" и "рабочее проетирование") минимальными затратами с использованем тех же блоков с атрибутами. ВСЕ ОЧЕНЬ УДОБНО по сравнению с тем как мы работали 2 года назад. Все постигается со временем :-)

Последний раз редактировалось Sirius2w, 26.05.2010 в 10:50.
Sirius2w вне форума  
 
Непрочитано 26.05.2010, 11:28
#17
atollon


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


Цитата:
Сообщение от Sirius2w Посмотреть сообщение
Кулик Алексей aka kpblc> Теряются значения
Так и должно быть, так как происходит НЕ перенос объекта, а ВСТАВКА блока, при котором надо их вводить. Ведь в центре управления виден 1 блок, а не сотня его вставок с различными значениями атрибутов, а если для каждого их варианта создавать новый блок, тогда и атрибуты не нужна, достаточно текста.
__________________
Толстов Евгений
atollon вне форума  
 
Непрочитано 26.05.2010, 11:53
1 | #18
Alan

CAD
 
Регистрация: 28.08.2003
Киев
Сообщений: 1,834
<phrase 1=


Цитата:
Сообщение от Sirius2w Посмотреть сообщение
Кулик Алексей aka kpblc> Теряются значения

Хорошо, спасибо всем, я сам не программист, поэтому проблема останется нерешенной. Значит далее будем в ручную мучиться.
Тем более сейчас собрался увольняться с этой работы - развивать эту идею некому. Хотя жаль если честно....
Очень много труда вложил в нее. Начиналось все с малого - просто создал базу изображений... подучил возможности автокада - добавил к изображениям атрибуты... еще подучил - нашел с помощью добрый людей возможность генерировать готовую оформленную спецификацию оборудования .. еще подучил - сделал несколько групп динамичских блоков из ранее созданных однотипных блоков.
еще покопался - нашел возможность средствами автокада делать 2 раздела в одном (стадия "проект" и "рабочее проетирование") минимальными затратами с использованем тех же блоков с атрибутами. ВСЕ ОЧЕНЬ УДОБНО по сравнению с тем как мы работали 2 года назад. Все постигается со временем :-)
Всё таки Поиск великая штука и совершенно зря Вы им не воспользовались.
По теме "библиотека блоков" написано много, да и по "спецификация оборудования" тоже. Сам просто этим занимался и кое-что (как умел, конечно, сделал). Публиковал мысли и результаты работы по этим темам неоднократно.
Приведу только одну ссылку. http://forum.dwg.ru/showthread.php?t...E2%E0%ED%E8%FF
__________________
По теории майский жук летать не может.
Но он этого не знает. И летает...
Alan вне форума  
 
Автор темы   Непрочитано 26.05.2010, 12:19
#19
Sirius2w

Проектировщик ТХ
 
Регистрация: 16.11.2009
Сообщений: 139
Отправить сообщение для Sirius2w с помощью Skype™


Цитата:
Сообщение от atollon Посмотреть сообщение
Так и должно быть, так как происходит НЕ перенос объекта, а ВСТАВКА блока, при котором надо их вводить. Ведь в центре управления виден 1 блок, а не сотня его вставок с различными значениями атрибутов, а если для каждого их варианта создавать новый блок, тогда и атрибуты не нужна, достаточно текста.
Наталкнули на интерсную мысль - уже пробую...
нужно при создани блока забить в графу "по умолчанию" необходимые значения - тогда при вставке по умолчанию будет прописываться истина для блока. а потом если не понравиться - отдельный блок редактируется в ручную)))
короче меня понесло - щас как разберусь - оформлю результат и напишу подробнее
Sirius2w вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Добавление в модель новых вхождений блоков (уникальных) поштучно

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Добавление индекса к именам выбранных блоков Кочетков Андрей Программирование 13 30.08.2018 18:35
Предложения по расчетным моделям сооружений aldt Расчетные программы 8 06.07.2009 17:53