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

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

Уникальный идентификатор документа в Autocad

Ответ
Поиск в этой теме
Непрочитано 22.02.2013, 11:29 #1
Уникальный идентификатор документа в Autocad
Namolem
 
Регистрация: 26.09.2012
Сообщений: 13

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

Изначально я думал использовать имя файла бд, записанное в NamedObjectsDictionary.
Если называть эти файлы "db_{guid}.xml", все будет просто и понятно, но имя файла будет длинным и некрасивым.

Поэтому я хочу в файле с данными хранить неповторяющийся идентификатор документа.
Можно в NOD записывать генерируемый GUID, но будет проще, если такой идентификатор уже существует. Либо не Guid, а просто некоторое число, такое, что вероятность коллизии в 3-4 открытых документах будет достаточно мала? На данный момент в рабочей папке около 7000 файлов автокада.

Вопрос:
Есть ли в БД рисунка такой идентификатор, независимый от адреса и имени файла?
Просмотров: 7543
 
Непрочитано 22.02.2013, 15:35
#2
hwd

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


Прочитал несколько раз... Похоже ТС сам не чётко не представляет, чего он хочет - муть какая-то...
Как это:
Цитата:
Сообщение от Namolem Посмотреть сообщение
хочу использовать внешние файлы с данными.
может вызвать какие-то проблемы для этого:
Цитата:
Сообщение от Namolem Посмотреть сообщение
как это будет работать, если в программе будет открыто сразу несколько рисунков.
???
Ну будет у тебя открыто сразу несколько рисунков (в рамках одного или нескольких процессов), и что?
Нахрена козе боян с какой-то генерацией имён (непонятно для чего)?
Ты спокойно можешь читать данные из одного и того же XML файла ("внешнего файла с данными") сразу несколькими приложениями, если этот XML файл открыть соответствующим образом.
Цитата:
Сообщение от Namolem Посмотреть сообщение
Есть ли в БД рисунка такой идентификатор, независимый от адреса и имени файла?
Насколько мне известно - нет. GUID именно для этого и создавались.
Цитата:
Сообщение от Namolem Посмотреть сообщение
На данный момент в рабочей папке около 7000 файлов автокада.
И что? Хочешь сказать, что ты их сразу все параллельно открываешь? Даже если бы и открывал, то всё равно мог бы параллельно читать из одного и того же XML. А вообще в ОС имеется ограничение на количество одновременно открытых файлов.

Цитата:
Сообщение от Namolem Посмотреть сообщение
в NOD...
Что это?
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:

Последний раз редактировалось hwd, 22.02.2013 в 15:56.
hwd вне форума  
 
Непрочитано 22.02.2013, 17:25
#3
maratovich


 
Регистрация: 12.07.2009
г. Самара
Сообщений: 2,437
Отправить сообщение для maratovich с помощью Skype™


Цитата:
Сообщение от Namolem Посмотреть сообщение
Есть ли в БД рисунка такой идентификатор, независимый от адреса и имени файла?
Есть - количество примитивов : отрезков 50 шт., круг 80 шт.... и т.д. и тогда
Цитата:
Сообщение от Namolem Посмотреть сообщение
вероятность коллизии в 3-4 открытых документах будет достаточно мала
А что можно сразу открыть несколько файлов с одинаковым адресом и именем ?
maratovich вне форума  
 
Непрочитано 22.02.2013, 17:35
#4
hwd

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


Цитата:
Сообщение от maratovich Посмотреть сообщение
Есть - количество примитивов : отрезков 50 шт., круг 80 шт.... и т.д.
Один из самых худших вариантов проверки уникальности, до которого можно было додуматься.
Цитата:
А что можно сразу открыть несколько файлов с одинаковым адресом и именем ?
+1
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 22.02.2013, 17:41
#5
maratovich


 
Регистрация: 12.07.2009
г. Самара
Сообщений: 2,437
Отправить сообщение для maratovich с помощью Skype™


Цитата:
Сообщение от hwd Посмотреть сообщение
Один из самых худших вариантов, до которого можно было додуматься.
Зато верный, из цикла теории вероятностей - 50/50
Сам посуди дорога+ имя + количество + стили + всё что только может измениться в файле : это и есть УНИКУМ.
Чем один человек отличается от другого ? Тело одинаковое , а если разобраться......
Ты сам то других вариантов не предложил.........
maratovich вне форума  
 
Непрочитано 22.02.2013, 17:47
#6
hwd

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


Цитата:
Сообщение от maratovich Посмотреть сообщение
Зато верный, из цикла теории вероятностей - 50/50
Сам посуди дорога+ имя + количество + стили + всё что только может измениться в файле : это и есть УНИКУМ.
Чем один человек отличается от другого ? Тело одинаковое , а если разобраться......
Ты сам то других вариантов не предложил.........
В рамках одного каталога имена файлов и так уникальны, так что заниматься ещё и мониторингом количества различных примитивов в составе чертежа- это абсолютно глупая работа.
Цитата:
Сообщение от maratovich Посмотреть сообщение
Ты сам то других вариантов не предложил.........
Вариантов чего? Автор топика написал какую-то муть.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 22.02.2013, 17:55
#7
maratovich


 
Регистрация: 12.07.2009
г. Самара
Сообщений: 2,437
Отправить сообщение для maratovich с помощью Skype™


Цитата:
Сообщение от hwd Посмотреть сообщение
Вариантов чего? Автор топика написал какую-то муть.
Да нет.... Здеся полёт мысли предпраздничный.... Видать напраздновался автор......
Кстати с Наступающим !
Вот он создал файл, начертил в нём фигню всякую и записал его в свою базу данных.
А потом тупо по недоглядке переименовал его или перекинул в другую папку.
Зачем создавать новый, когда этот файл уже есть, его надо только найти по своим характеристикам.
Соответственно он сканирует по всем папкам и файлам на предмет соответствия, может дорога и имя другое , а само содержание то что нужно.
Offtop: Блин, я очередной раз подумываю сделать себе сканирование мозга....
maratovich вне форума  
 
Непрочитано 22.02.2013, 18:02
#8
hwd

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


Цитата:
Сообщение от maratovich Посмотреть сообщение
Кстати с Наступающим!
Взаимно, с Днём Защитников Отечества.
Лучше топикстартера вряд ли кто-то поймёт, что именно он имел в виду. Появится - пояснит.
Цитата:
Сообщение от maratovich Посмотреть сообщение
создал файл, начертил в нём фигню всякую и записал его в свою базу данных.
... Зачем создавать новый, когда этот файл уже есть, его надо только найти по своим характеристикам.
Подсвеченное требует расшифровки... Велосипед "аля документооборот"?
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Автор темы   Непрочитано 23.02.2013, 11:23
#9
Namolem


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


С праздником!
Попытаюсь объяснить, что я имел ввиду.
Конечная цель - сделать редактор межевого плана, завязанный на автокад (просмотр, редактирование контуров).
К этим межевым планам нужно иметь доступ "извне" автокада - поэтому хочу их хранить в виде XML файлов.
Эти XML файлы к файлу рисунка нужно как-то привязать, например указать в XML файле число, уникальное для каждого рисунка.
Это число можно записать в виде GUID в NOD рисунка, но было бы проще, если бы оно уже существовало.

"количество примитивов" по понятным причинам не подходит.
Файлы могут перемещаться и переименовываться, поэтому не хочу использовать путь и имя файла.
Namolem вне форума  
 
Непрочитано 23.02.2013, 11:45
#10
hwd

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


Цитата:
Сообщение от Namolem Посмотреть сообщение
Конечная цель - сделать редактор межевого плана, завязанный на автокад (просмотр, редактирование контуров).
Такой редактор есть - AutoCAD.
Цитата:
Сообщение от Namolem Посмотреть сообщение
К этим межевым планам нужно иметь доступ "извне" автокада
Выше ты уже решил "завязываться на автокад", тогда почему в AutoCAD и не выполнять нужные тебе манипуляции?
Цитата:
Сообщение от Namolem Посмотреть сообщение
поэтому хочу их хранить в виде XML файлов
Т.е. ты хочешь из AutoCAD вытягивать нужную тебе информацию и сохранять её в формате XML? Если "да", то какого рода информацию?
Цитата:
Эти XML файлы к файлу рисунка нужно как-то привязать, например указать в XML файле число, уникальное для каждого рисунка.
Если так приспичило - можешь в XML файле хранить полное имя к файлу чертежа. Оно будет уникальным однозначно. Использование системных переменных в имени пути пойдёт на пользу.
Цитата:
Сообщение от Namolem Посмотреть сообщение
NOD
Выше ты проигнорировал мой вопрос относительно магнитофона...

Если тебе так приспичило в базе данных чертежа сохранять что-то уникальное, то ты можешь создать такую информацию в виде расширенных данных, которая бы хранилась в объекте Database, но ИМХО - в данном случае в этом нет абсолютно никакой необходимости.

P.S. Возможно автор хочет программно обрабатывать DWG, формируя на выходе некоторый XML в качестве результата обработки, а так же на основе XML формировать некоторый DWG. Возможно ошибаюсь...
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 23.02.2013, 11:46
#11
maratovich


 
Регистрация: 12.07.2009
г. Самара
Сообщений: 2,437
Отправить сообщение для maratovich с помощью Skype™


Ну тогда щелкай правой кнопкой мыши на файле, в свойствах увидишь вкладку "Прочие" (на винде 7) и прописывай там что тебе надо.
А потом можешь осуществить поиск файла по этим данным.
При таком раскладе - автокад вообще ненужен.
maratovich вне форума  
 
Непрочитано 23.02.2013, 12:28
#12
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


Цитата:
Сообщение от Namolem Посмотреть сообщение
Эти XML файлы к файлу рисунка нужно как-то привязать, например указать в XML файле число, уникальное для каждого рисунка.
А как потом найти этот файл - открывать все подряд до 7000-ного?
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Непрочитано 23.02.2013, 12:40
#13
maratovich


 
Регистрация: 12.07.2009
г. Самара
Сообщений: 2,437
Отправить сообщение для maratovich с помощью Skype™


Цитата:
Сообщение от Дима_ Посмотреть сообщение
А как потом найти этот файл - открывать все подряд до 7000-ного?
Перебором всех файлов и считыванием его свойств на предмет соответствия запросу.
Не так уж и долго получится.
maratovich вне форума  
 
Непрочитано 23.02.2013, 12:50
#14
hwd

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


Цитата:
Сообщение от maratovich Посмотреть сообщение
Не так уж и долго получится.
Зависит от обстоятельств. Если файлы в сети и скорость передачи данных в текущий момент не на высоте (по тем или иным причинам), то процесс может быть и не таким быстрым, как хотелось бы.

Пока автор подробно не изложит сути задачи, которую он решает - сложно сказать что-либо определённое. В теме он указывает то, как он хочет решать, но не описывает подробно саму задачу (что на входе, что на выходе).
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Автор темы   Непрочитано 23.02.2013, 15:06
#15
Namolem


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


>Такой редактор есть - AutoCAD.
Уточню: завязанный на автокад (просмотр, редактирование контуров в автокаде, остальное в программе, которая будет реализована в виде плагина к автокаду)

>тогда почему в AutoCAD и не выполнять нужные тебе манипуляции
возможно, в будущем проекты будут перенесены в общую базу данных, из автокада вытащить все данные по ним будет проблематично

>что такое NOD
В справочниках часто встречал такую аббревиатуру для Named Objects Dictionary, думал что она широко известна. Извиняюсь.

>А как потом найти этот файл - открывать все подряд до 7000-ного?
предполагается, что файл лежит рядом с рисунком. Но от перемещений и переименовываний это предположение не страхует
Namolem вне форума  
 
Непрочитано 23.02.2013, 15:22
#16
maratovich


 
Регистрация: 12.07.2009
г. Самара
Сообщений: 2,437
Отправить сообщение для maratovich с помощью Skype™


Цитата:
Сообщение от Namolem Посмотреть сообщение
Уточню: завязанный на автокад (просмотр, редактирование контуров в автокаде, остальное в программе, которая будет реализована в виде плагина к автокаду)
Эка Вы размахнулись...... У Вас что - пару ближайших лет забронировано под эту программу?
Тут я пас.......
maratovich вне форума  
 
Непрочитано 23.02.2013, 15:43
#17
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372


Цитата:
Конечная цель - сделать редактор межевого плана, завязанный на автокад (просмотр, редактирование контуров).
К этим межевым планам нужно иметь доступ "извне" автокада - поэтому хочу их хранить в виде XML файлов.
Очередная попытка изобретения давно изобретенного - ГИС (геоинформационной системы). При этом "завязанный на автокад" - самое худшее, потому что AutoCAD очень дорого стоит. Или расчет на ломаные версии?
Надо просто приобрести инструментальное средство для ГИС (например очень дешевую, практически бесплатную, ObjectLand) и просто начать выполнять работу. Если руки чешутся попрограммировать, так это можно и в ObjecLand делать. Или в любых других ГИС, но OL как раз в кадастрах и используют по всей стране.

Это если цель - решить проблему. Ну а если целью является изобразить, что "я сделал велосипед", то можно продолжать. Если уж детский вопрос об уникальном ID стал трудностью, то что дальше-то будет.
ShaggyDoc вне форума  
 
Непрочитано 23.02.2013, 18:02
#18
Олег (jr.)

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


Цитата:
Сообщение от Namolem Посмотреть сообщение
Добрый день.
Для работы с документом я хочу использовать внешние файлы с данными.
Необходимо продумать как это будет работать, если в программе будет открыто сразу несколько рисунков.

Изначально я думал использовать имя файла бд, записанное в NamedObjectsDictionary.
Если называть эти файлы "db_{guid}.xml", все будет просто и понятно, но имя файла будет длинным и некрасивым.

Поэтому я хочу в файле с данными хранить неповторяющийся идентификатор документа.
Можно в NOD записывать генерируемый GUID, но будет проще, если такой идентификатор уже существует. Либо не Guid, а просто некоторое число, такое, что вероятность коллизии в 3-4 открытых документах будет достаточно мала? На данный момент в рабочей папке около 7000 файлов автокада.

Вопрос:
Есть ли в БД рисунка такой идентификатор, независимый от адреса и имени файла?
Сравни переменную 2 рисунков: TDUUPDATE
Олег (jr.) вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Уникальный идентификатор документа в Autocad



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с запуском AutoCad This AutoCAD 22 15.02.2016 20:07
AUTOCAD 2010 перестал переключаться в многооконный режим. Проблемы с переменными Андрей Х. AutoCAD 24 27.05.2015 10:17
Autocad MEP Выбери итересующую тему! VitalyAF Вертикальные решения на базе AutoCAD 13 14.09.2012 11:40
Как вернуть полноценный диалог выбора шаблона при создании документа в AutoCAD 2010? anonymous AutoCAD 4 20.12.2009 22:15