|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
Поиск в этой теме |
20.10.2011, 20:29 | #1 | |
Как пользователю-непрограммисту организовать пакетную обработку файлов Автокада разными программками и командами?
топограф, технолог
Москва
Регистрация: 24.05.2009
Сообщений: 3,031
|
||
Просмотров: 8047
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
АлексЮстасу, ты читал http://autolisp.ru/2010/04/08/procee...tive-document/ ? Ключевые слова в твоем тексте -
и до кучи Прочитай по ссылке, увидишь, что не все так просто, как хочется. Не, можно, конечно, "наваять" scr-файл и запустить новый AutoCAD с выполнением скрипта, но скорость работы будет ужасающей. Поэтому твоя "хотелка", ИМХО, нереализуема. Или за приличные деньги.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
__________________
Как использовать код на Лиспе читаем здесь |
||||
|
||||
Engineer Регистрация: 05.09.2003
New-York
Сообщений: 10,288
|
Цитата:
Круто! Может произойти что угодно, а ты этого даже не увидишь Например, зачем сшивать полилинии? Чертеж ведь уже сделан. Я, например, их сознательно не сшиваю, даже лиспик есть (спасибо Profan-y) который при необходимости рисует несшитыми пл. А даже вместо chamfer применяю Exfillet чтоб не сшить ненароком. Чужой файл лучше не шевелить. Иначе его автор никаких претензий не примет. |
|||
|
||||
Цитата:
По поводу "моя "хотелка": см. поиск - это потребность вполне представительного числа пользователей. По поводу "нереализуема": см. целый ряд реализованных примеров здесь же на форуме. Правда, для частных задач. И приведенную мной с форума же ссылку. По поводу "за приличные деньги": грабить никого не собираюсь, исхожу из того, что Автокад стоит таких приличных денег, что что-нибудь на эту тему просто не может быть фирмой не сделано. Вот только что? В той же Microstation, например, можно написать текстовый batch-файл, в котором прямо написать путь к нужной папке и список нужных команд с нужными параметрами. Типа "audit -y". Проще некуда. Пока нашел еще http://usa.autodesk.com/adsk/servlet...linkID=9240618 и http://autodesk.blogs.com/between_th...ocad-2010.html Только скрипты я писать не умею - я, увы, не программист. |
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Именно - для частных задач. Ты же хочешь сделать полностью универсальное решение, насколько я понял.
Для AutoCAD - это будет scr-файл со всеми вытекающими. Читай выше.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Не понимаю, почему существуют отдельно пакетная чистка файлов, отдельно пакетная замена текстов, отдельно пакетная замена слоев и т.п., но нельзя написать один пакетник, где можно было бы выбирать нужные команды или программки.
И все хочется узнать, "приличные деньги" - это сколько? |
||||
|
||||
идущий по граблям Регистрация: 26.05.2005
Сообщений: 5,095
|
Чтобы написать один рабочий пакетник, его составляющие должны быть сделаны единообразно и быть совместимы, как в ruCAD, например. Как уже сказано, работоспособность сборной солянки из неограниченного числа программок разного уровня от разных авторов близка к нулю.
Цитата:
Последний раз редактировалось kp+, 21.10.2011 в 12:41. |
|||
|
||||
Цитата:
При чем здесь "неограниченное число программок"? Кто-то собирался запускать 250 -300 программок за раз? Не думаю, что реально запускать больше 2-5 - ясно, что результаты будут неконтролируемо непредсказуемыми. Просто пользователь будет знать, что какой-нибудь Removeallproxy или Pl-Join или нужное другое он сможет запустить для всего множества файлов. Во-первых, начал прилюдно совсем не я. Во-вторых, почему бы не знать порядки цен? Я, вот, не знаю, а из-за этого либо не действую, либо совершаю действия неверные. |
||||
|
||||
Регистрация: 17.10.2009
Сообщений: 1,108
|
Цитата:
Цитата:
На этом месте возникает вопрос - на кой и кому нужны непредсказуемые результаты. И зачем на это нужно тратить время. |
|||
|
||||
Каким может быть принцип действия такой программы-интерфейса для пакетной обработки без открывания файлов?
Из указанных команд Автокада и программ придется сформировать новую программу? И в чем принципиальная трудность? Не все команды Автокада можно выполнять, не открывая явно файлов? Например, audit? И не все программы могут сработать, не открывая явно файлов? Или все-таки можно? Если можно, то как? Придется переписывать уже какие-то готовые программы, чтобы они стали пригодными для пакетного запуска? Или самим писать аналогичные пригодные? Есть-таки решения для audit и подобного? |
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Цитата:
Цитата:
Некоторые команды выполнить можно только при открытии файлов (тот же _.audit, тот же выбор объектов и т.п.) Не открывая файл, максимум, что можно сделать - узнать время его создания и некоторые свойства файла как такового. Цитата:
Есть - прямое открытие файлов.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Цитата:
У всех свои проблемы Я, например, представить не могу, зачем чертить несшитыми полилиниями. Но верю, что для каких-то реальных целей это нужно. Что конкретно требуется для конкретного множества файлов - частность. Вопрос же в другом. Если в 45, 91, 396, 1667 и т.д. (реальные числа) нелегких файлах одного проекта нужно что-то единообразно поменять ("расшить" полилинии лиспиком Profan-а, изменить цвета слоев, разбить динамические блоки и т.д.), то очень нужен пакетник. Проблема в том, что для разного множества файлов нужен разный набор действий. И проблема в том, что времени на это часто просто нет, ведь многие вещи выявляются прямо перед самой сдачей проектов. Поэтому пакетник нужен универсальный, чтобы набор действий определял сам пользователь, не терзая программистов, которые всегда либо заняты, либо не всегда вообще-то есть. И напишут не в один миг. Если Вы посмотрите и этот форум, то тема пакетной обработки постоянно поднимается. И Кулик Алексей aka kpblc пишет об этом статью полтора года назад - см. здесь его #2. Он же с VVA занимаются этой темой почти три года назад (#3). А, вероятно, и гораздо раньше. И т.д. |
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Могу сказать только про себя... Мне ObjectDBX, как правило, нужен для того, чтобы что-то прочитать из файла, но не записывать в него что бы то ни было. А это, в общем-то, совсем другая песня.
Раз нужны разные действия - пиши разные лиспы с учетом возможности работы в неактивном документе и подставляй эти лиспы в коды из #3. Самое простое решение будет, ИМХО.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Цитата:
Мне слова "ObjectDBX", “ActiveX и практически больше ничего”, "Только vla и ename" к сожалению ничего не говорят. (Хотя, про применение скриптов для этой задачи я, надеюсь, главное уже понял.) Поэтому многое вынужденно переспрашиваю: Цитата:
Если никак, то как понять, какие еще команды Автокада невозможно здесь использовать? Если нужно применить существующие лиспы, arx, fas и т.п., то как определить, годятся они для обработки неактивных файлов или необходимо писать новые аналогичные? |
||||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Пользователю-непрограммисту организовать пакетную обработку файлов невозможно. Он может воспользоваться готовыми программами для такой обработки - для конкретных целей.
Универсального решения для пользователей нет. Есть более или менее универсальные приемы программирования или более или менее универсальные функции, которыми может воспользоваться программист. Например моя ru-batch-file-operations. Функция "условно универсальная", так как имеет ограничения. Но для её использования надо уметь написать "quoted_func — функцию, выполняющей операцию с именем одного файла из списка". Это уж работа для программиста. А удел пользователя - уметь пользоваться готовыми решениями, уметь поставить конкретную задачу программисту, или самому постепенно стать программистом. |
|||
|
||||
Частный вопрос этой темы: если ряд команд Автокада никак нельзя запустить в неактивных файлах, то есть ли способы ускорить процесс открытия-сохранения файлов? Т.е. способы файлы активизировать, но как-нибудь подавлять отрисовку содержимого на экране, запросы на прокси, shx и т.п.?
|
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Попробуй regenmode, но вряд ли поможет.
proxynotice -> 0 Поиск по форуму "Как подавить запрос shx"
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||