в свойствах файла записала "ключик"Какой ключик?
я вижу картину такую как с Xref ссылками-когда в притянутых файлах жмут сэйв,появляется извещение.. типо того."Типо того" ничего не понял. ;) Xref знает путь к dwg-файлу из которого вставлен и в чертеже при вставке Xref создается запись таблицы блоков, которая имеет свойство IsFromExternalReference == true
Какой ключик?Ну я путь к проекту сохраняю в Properties ->Summary->HyperlinkBase ->D:\Projects\2014\Zavod...
"Типо того" ничего не понял. Xref знает путь к dwg-файлу из которого вставлен и в чертеже при вставке Xref создается запись таблицы блоков, которая имеет свойство IsFromExternalReference == trueтак я к тому что решение хотелось бы примерно такое (с точки зрения пользователя).Как сделать маячок на изменения?
что в данной таблице изменилось что-то..не подвергая машины пользователей а-када постоянным коннектам к базе.А как ты себе такое представляешь? Нужно по таймеру обращаться к базе. Других вариантов я не вижу. Более того. Я так понимаю что на автомате обновлять из базы нельзя. Нужно спрашивать у пользователя.
А как ты себе такое представляешь? Нужно по таймеру обращаться к базе. Других вариантов я не вижу. Более того. Я так понимаю что на автомате обновлять из базы нельзя. Нужно спрашивать у пользователя.я пока ничего не представляю,за неимением опыта работы с SQL ))) ,месяц где-то, ковыряюсь в C#, просто хотела узнать есть ли инструментарий,или какой то механизм отслеживания конкретных таблиц, может какой то промежуточный файл тхт писать?типо лога..или как .
просто хотела узнать есть ли инструментарий,или какой то механизм отслеживания конкретных таблицОтслеживания где? В чертеже открытом в AutoCAD? Есть. В базе данных? Наверное есть, но тут я ничем не помогу. Более того я пока совсем не понимаю постановку задачи.
А как ты себе такое представляешь? Нужно по таймеру обращаться к базе. Других вариантов я не вижу.Как минимум Oracle и MSSQL имеют штатный функционал "событий" на обновление "другими" полученного результата (то есть по сути изменения данных). MySql такого не умеет (хотя может в последних уже и умеет - я не следил) - но "умельцы" делали варианты (по сути опросом через интервал). Правда сами-же "производители" (я про фирменные, а не про умельцев) не рекомендуют особо сильно загружать СУБД такими "событиями".
Отслеживания где? В чертеже открытом в AutoCAD? Есть. В базе данных? Наверное есть, но тут я ничем не помогу. Более того я пока совсем не понимаю постановку задачи.
Правда сами-же "производители" (я про фирменные, а не про умельцев) не рекомендуют особо сильно загружать СУБД такими "событиями".Спасибо.
Синхронизировать базу с подшивкой, а блоки с подшивкой АкАд сам синхронизирует!Спасибо.
Я ведь вообще речи не вела о таблицах данных в автокаде %)..конечно же речь о строках таблиц БД(SQL)..Тогда напрашивается следующий вопрос. Почему вопросы по работе с БД задаются на форуме по AutoCAD .NET API? Может их следует задавать на специализированном форуме? Где-нибудь на SQL.RU. Предлагаю отделить мух от котлет.
теперь вопрос встал об обновлении,Как это осуществлять?Подписаться на события сохранения чертежа, его печати, публикации и экспорта данных. Можешь всплывающим окошком спрашивать у юзера, а можешь автоматом обновлять атрибуты вхождения блока (или даже формулы в составе полей определения).
каждый раз при открытии файлов автокада сканировать на наличие этого блока?ок нашли,дальше что?
каждый раз коннектиться к базе читать и обновлять в фоне-мне кажется тоже не дело.
Ну я путь к проекту сохраняю в Properties ->Summary->HyperlinkBase ->D:\Projects\2014\Zavod...Почитай о системной переменной ProjectName.
я пока ничего не представляю,за неимением опыта работы с SQL )))Почитай книгу, указанную здесь (http://adn-cis.org/forum/index.php?topic=400.0) в п.7. Это своего рода "Библия" на тему того, как в .NET работать с СУБД.
правда тут вопрос количества коннектов для меня темный лес, одновременно могут человек 20 к БД лезтьТакое количество для серьёзных СУБД не существенно. Это если бы использовался MS Access, тогда да - там желательно не более 10-то одновременных подключений.
опять же коллеги когда то рыли эту тему,сказали не подходит нам она,я и не стала изучатьОх уж эти "роющие коллеги (http://bushman-andrey.blogspot.ru/2013/09/autocad.html)", как правило не доходящие до изучения второй и третьей вкладки подшивок, не говоря уж о более глубоком изучении...
Почему вопросы по работе с БД задаются на форуме по AutoCAD .NET API? Может их следует задавать на специализированном форуме? Где-нибудь на SQL.RU. Предлагаю отделить мух от котлет.Поддерживаю.
рос. Почему вопросы по работе с БД задаются на форуме по AutoCAD .NET API? Может их следует задавать на специализированном форуме? Где-нибудь на SQL.RU. Предлагаю отделить мух от котлет.Вопрос же не совсем по БД...
Может можно как то не шибко затратно(для ресурсов ПК) какие то обращения при загрузке чертежа осуществлять.Можно. Можно подписаться на событие открытия документа (DocumentCollection.DocumentCreated). Но всё остальное (т.е. обращение к БД) к AutoCAD не имеет никакого отношения.
Подписаться на события сохранения чертежа, его печати, публикации и экспорта данных. Можешь всплывающим окошком спрашивать у юзера, а можешь автоматом обновлять атрибуты вхождения блока (или даже формулы в составе полей определения).-Спасибо,почитаю.
Если нужно оповещение сразу после обновления БД, то можешь написать WCF службу, которая будет это делать (как вариант).
Почитай о системной переменной ProjectName.-
Почитай книгу, указанную здесь (http://adn-cis.org/forum/index.php?topic=400.0) в п.7. Это своего рода "Библия" на тему того, как в .NET работать с СУБД.-еслиб книги читались и усваивались с нуля,за день-два, вопрошающих юзверей на ваших форумах бы практически не было :)
Ох уж эти "роющие коллеги (http://bushman-andrey.blogspot.ru/2013/09/autocad.html)", как правило не доходящие до изучения второй и третьей вкладки подшивок, не говоря уж о более глубоком изучении...тем не менее, ведь файлы подшивок аналогично будут коннектиться к БД...и в виду того что функционал (без подшивок) уже написан фактически ,думаю нецелесообразно возвращаться к первой ступени. И кстати, зря Вы так про коллег ) коллеги ,далеко не глупые,и дотошные,если они сказали что нам это не подходит,наверное не подходит :) ,может в виду нашей постоянной нестандартности(в смысле чуть ли не каждый проект отличается, постоянно какие то новововведения,изменения ,например-для такого проекта такой порядок,для другого -второй,для третьего-третий и т.д. )-в такой ситуации довольно сложно "подогнать под стандарт".
Почему вопросы по работе с БД задаются на форуме по AutoCAD .NET API? Может их следует задавать на специализированном форуме? Где-нибудь на SQL.RU. Предлагаю отделить мух от котлет.
Поддерживаю..Повторяюсь,вопрос не просто про СУБД,а связь.
Может можно как то не шибко затратно(для ресурсов ПК) какие то обращения при загрузке чертежа осуществлять.Можно. Можно подписаться на событие открытия документа (DocumentCollection.DocumentCreated). Но всё остальное (т.е. обращение к БД) к AutoCAD не имеет никакого отношения.
Господа,давеча ,вышеписавший ,Андрей Бушман,послал меня именно сюда,с приблизительно таким вопросом,именно в эту ветку...(.Net API)Еще раз. Мухи отдельно - котлеты отдельно. Как работать со стороны AutoCAD объяснят на этом форуме. Как работать с Базами Данных здесь объяснять не будут - непрофильный это форум. Андрей об этом сегодня и написал.
так что я вас совсем не понимаю :) прям как чиновники футболите с одного форума на другой.
-еслиб книги читались и усваивались с нуля,за день-два, вопрошающих юзверей на ваших форумах бы практически не былоADO.NET - тема достаточно сложная, объёмная и грамотно, последовательно разжёвана в указанной книге. Изучать эту технологию путём вопросов на форумах - это будет гораздо дольше по времени и результат при этом будет практически нулевой, особенно по качеству приобретённых навыков (т.е. спрашивать можно до пенсии, но так ничему и не научиться). Лучше потратить пару недель и прочитать мануал и потом всё время "за полчаса долетать ©", чем на "наших" или "не наших" форумах ждать у моря погоды (разжёванного ответа). А уже имея некоторый багаж знаний на основе прочитанного материала можно более чётко формировать конкретные вопросы на специализированных форумах.
тем не менее, ведь файлы подшивок аналогично будут коннектиться к БД...DST файлы коннектятся к БД? Похоже Вы, или Ваши специалисты что-то путаете...
не очень поняла зачем она мне, этот путь я беру из программки..folderbrowser.selectedpath ,а не какие то связующие пути чертежа....С помощью этой системной переменной AutoCAD для каждого DWG индивидуально способен определять каталоги, в которых следует выполнять поиск нужного ресурса. Она своего рода определяет проект к которому относится этот DWG файл. Если меняются настройки проекта, то все DWG этого проекта автоматом подхватывают их. Это "родной" механизм AutoCAD, так что можно воспользоваться им.
так что я вас совсем не понимаю :)Это у нас как-то взаимно получается.
а как идентифицировать то событие сохранения чертежа........чтож теперь у любого пользователя автокада будет на сохранение выскакивать....?Вы не ленитесь скачивать ObjectARX SDK и заглядывать в его подкаталог doc - это Вам пригодится, если планируете писать код под AutoCAD. Как вариант (по поводу первого вопроса): подпишитесь на Database.BeginSave или Database.SaveComplete (смотря по обстоятельствам).
DST файлы коннектятся к БД? Похоже Вы, или Ваши специалисты что-то путаете...я не знаю какие там файлы ) ,но как-то же синхронизация должна происходить тем не менее..
С помощью этой системной переменной AutoCAD для каждого DWG индивидуально способен определять каталоги, в которых следует выполнять поиск нужного ресурса. Она своего рода определяет проект к которому относится этот DWG файл. Если меняются настройки проекта, то все DWG этого проекта автоматом подхватывают их. Это "родной" механизм AutoCAD, так что можно воспользоваться им.а если файл копи-паст?или сэйв эс...
Как вариант (по поводу первого вопроса): подпишитесь на Database.BeginSave или Database.SaveComplete (смотря по обстоятельствам).
По поводу второго - а это вам решать программно, у каждого или не у каждого. Вы, для начала, чётко для себя определитесь, что именно вы хотите (что должно происходить и как это должно выглядеть). Без понимания этого ничего вразумительного не сделаете.
отдохнув и переобдумав,я решила сделать реакцию на Plot(в Автокаде),это возможно? ну точнее как это реализовать......пойду пока почитаюЕсли хотите реагировать именно перед печатью (уже после того, как пользователь отправил файл на печать, но печать ещё не началась), то смотрите на предмет Autodesk.AutoCAD.PlottingServices.PlotReactorManager в SDK
p.s. т.е. им информация эта нужна в принципе уже на бумаге,точнее уж совсем актуальная....а как так реакцию после комнады Plot я сама себя не поняла)))) точнее как это реализуемо то,получается после ctrl+p выскакивает моё сообщение "обновите информацию" ..
Можно подписаться на событие открытия документа (DocumentCollection.DocumentCreated)
Если хотите реагировать именно перед печатью (уже после того, как пользователь отправил файл на печать, но печать ещё не началась), то смотрите на предмет Autodesk.AutoCAD.PlottingServices.PlotReactorManager в SDKСпасибо.