Сообщество программистов Autodesk в СНГ
ADN Club => AutoCAD .NET API => Тема начата: Yusuf от 24-06-2021, 13:52:03
-
Здравствуйте, уважаемые коллеги - наставники, подскажите как лучше реализовать задачу чтобы при изменении данных в файле Excel, каждый раз запускать какую то команду в autocad ?
Задача такая есть файл Excel, надо из него прочитать данные и построить примитивы, если пользователя не устраивают созданные примитивы, то меняет данные в Excel и так при каждом изменении файла Excel надо удалить все построенные ранее примитивы и заново пересоздать объекты уже по новым данным. Из автокад я думаю нельзя так сделать или можно?
Подсказали через FileSystemWatcher, но для него же вроде процесс нужен чтобы следить постоянно за файлом, через консольную программу знаю как следить за файлом, а через автокад это возможно? Если невозможно как можно это реализовать ?
Думаю сделать консольку которая будет следить за файлом и при каждом изменении вызывать в автокад команду, а так возможно вызвать команду в автокад из другого приложения ?
-
Yusuf,
Слишком много вопросов в одной теме.
-
Из автокад я думаю нельзя так сделать или можно?
Можно, но если ты знаешь что именно удалять.Подсказали через FileSystemWatcher, но для него же вроде процесс нужен чтобы следить постоянно за файлом, через консольную программу знаю как следить за файлом, а через автокад это возможно?
Можно. Только пользователь должен будет сохранить изменения в файле. Подписываешься на событие и вперёд. Единственно что обновлять в чертеже нужно будет из главной задачи AutoCAD. Ну и нужна будет блокировка, чтобы пользователь не мог ничего испортить, пока ты будешь обновлять.
-
Можно, но если ты знаешь что именно удалять.
да пусть все удаляет пустой будет файл
Можно. Только пользователь должен будет сохранить изменения. Подписываешься на событие и вперёд. Единственно что обновлять в чертеже нужно будет из главной задачи AutoCAD. Ну и нужна будет блокировка, чтобы пользователь не мог ничего испортить, пока ты будешь обновлять.
да пользователь при любом изменении будет сохранять, а как с автокада подписаться и на какое событие ?
-
да пользователь при любом изменении будет сохранять, а как с автокада подписаться и на какое событие ?
Как на какое? Ты же сам написал про FileSystemWatcher.
-
Гугл быстро подсказывает пример: http://kbyte.ru/ru/Programming/Sources.aspx?id=916&mode=show
-
А тут применительно к AutoCAD: https://www.keanw.com/2015/03/autocad-2016-calling-commands-from-external-events-using-net.html
-
FileSystemWatcher
аа Вы про это, я с ним работал, с консоли работал, но в автокаде не сработал
спасибо за последний пример.