Перейти к содержанию
swell{d}

Простейшая автоматизация с помощью отчётов таблиц

Рекомендуемые сообщения

если не секрет для чего такой изврат?

Ну почему сразу изврат :) Ну в данном случае, может быть, и изврат, хоть и вынужденный.

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

А вообще, эта функция есть в автокаде, насколько я помню.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У нас вся документация на заказ и на производство выдаётся в Excel-формате... Так к сожалению, "удобней нашему отделу ПТО" (с). Поэтому если что-то считается автоматом в Нанокаде, то потом ручками или экспортом дополнительно перегоняется в "офис", в нашем случае Open. Это печаль, но от этого никуда не денешься пока, политика компании... Так что автоэкспорт был бы крайне удобен... Хотя бы для себя.

про автоэкспорт ничего не слышал, но таблицы нано без проблем сохраняются в *xls. или *.ods (файл, сохранить как))))

автоэскопрт по "волшебной кнопке" то же ничего сложного на том же vba.

если не секрет для чего такой изврат?

Ну почему сразу изврат :) Ну в данном случае, может быть, и изврат, хоть и вынужденный.

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

А вообще, эта функция есть в автокаде, насколько я помню.

изврат в том смысле, что Митька хотел гонять даные туда-сюда, с учетом того, что формулы не передаются это бессмысленно, поэтому и изврат.)))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не, всё не так драматично в моих фантазиях. Меня бы вполне устроил автоперенос данных только по маршруту Нано-->open. Обратно мне без нужды. А избавить данные от формул в автоматическом режиме можно и в Нано. Весь прикол в том, что бы сделать эту схему более ПРИВЛЕКАТЕЛЬНОЙ в глазах пользователей. И чем она автоматизированней, тем лучше, ибо проще и быстрей.

А так... что поделаешь. Работаем с тем, что есть. Благо, есть весьма и весьма немало!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
автоэскопрт по "волшебной кнопке" то же ничего сложного на том же vba.

 

уже вероятно оффтоп но все же: а как это было бы логично со стороны использования "закрыл файл- внешние таблицы обновились" или "сохранил файл - внешние таблицы обновились" или "волшебная кнопка".Полный realtime ( редактируешь таблицу - меняется в эксель) вероятно проблемно даже через API делать?

Изменено пользователем Ivanco

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

кстати в том же автокад эта схема не работает в автоматическом режиме (надо вручную указать "Запись данных во внешний источник")

в нано есть возможность экспорта и сохранения в форматы excel...

если надо больше есть интерфейс McCOM2 , т.е. средствами vba можно экспортировать хоть все таблицы чохом хоть выборочно или по одной.

в конце концов тот же автокад без IDE лисп и vba всего лишь чертилка.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
автоэскопрт по "волшебной кнопке" то же ничего сложного на том же vba.

 

уже вероятно оффтоп но все же: а как это было бы логично со стороны использования "закрыл файл- внешние таблицы обновились" или "сохранил файл - внешние таблицы обновились" или "волшебная кнопка".Полный realtime ( редактируешь таблицу - меняется в эксель) вероятно проблемно даже через API делать?

как оно будет узнавать?? в какую сторону мне надо обновить???

а если я ему буду каждый раз указывать то чем принципиально это отличается от импорта/экспорта который уже реализован?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
как оно будет узнавать?? в какую сторону мне надо обновить???

а если я ему буду каждый раз указывать то чем принципиально это отличается от импорта/экспорта который уже реализован?

эмм..ну да надо как то задавать "сторону".

от импорта/экспорта - вероятно тем что можно парой кликов конторолировать данные в n - количестве разных таблиц из одного .dwg.

Изменено пользователем Ivanco

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

парой кликов )))

Sub SavwTbl()
 Dim server As McCOM2.IServer
 Dim mcobject As McCOM2.Object	'Из него будем брать свойства
 Set server = CreateObject("McCOM2.Server")
 'Выбираем объект
 Set mcobject = server.Select("Выберите объект", True)(1) 'один объект таблица можно несколько тогда потом перебор в цикле
 'проверяем, что таблица
 'определяем путь из таблицы или еще как
 mcobject.Save "c:\Temp\0\00.xls" 'пишем ее в файл
End Sub

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

Не думаю, что разработчики будут удовлетворять каждый чих.

Опять же на каждое исполненное желание или устраненное замечание, они как правило добавляют три новых бага))) (чтоббезработынеостаться.)творческий процесс.

Так что мечтайте аккуратнее.

Изменено пользователем doctorraz

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А вот это просто гениально и жизненно необходимо каждому:

 

автоматическое составление ведомости чертежей

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А вот это просто гениально и жизненно необходимо каждому:

 

автоматическое составление ведомости чертежей

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

взять с чертежа-> свойства

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Имеется в виду вытянуть свойством нужную графу из штампа листа 1 в штамп листа 2, а потом раскопировать лист 2 с уже установленной связью на весь дальнейший альбом?

Изменено пользователем Mитька

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Имеется в виду вытянуть свойством нужную графу из штампа листа 1 в штамп листа 2, а потом раскопировать лист 2 с уже установленной связью на весь дальнейший альбом?

Я сделал отдельную табличку с "исходными" данными, из которой потом берут данные все штампы проекта. Изменяешь одно поле в таблице допустим шифр и он автоматом и меняется во всех штампах.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В том числе и на создаваемых?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А вот это просто гениально и жизненно необходимо каждому:

 

автоматическое составление ведомости чертежей

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

взять с чертежа-> свойства

Не понял. :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В том числе и на создаваемых?

Да , в том числе и создаваемых, но с несколькими но:

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

2. Работает только в Модели

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не понял. :(

что?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не понял. :(

что?

Предположу, что - связь между вопросом и ответом. Я тоже не уверен, что верно понял. Потому выше переспросил.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

А нельзя наоборот?

Например менять в таблице (условно "технологической")

Тут, вроде, то же самое только связи не между таблицами, а таблицы и форматы

 

DWG тут

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Буду пока в ручную. Может до пенсии разберусь. :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Буду пока в ручную. Может до пенсии разберусь. :)

Могу предложить такой вариант:

Штамп.dwg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как по мне быстрей (при форматах в отдельном слое) так: щелчок на формат, изоляция слоя, ctrl-А, правка нужной строки в свойствах всех выделенных объектов (форматов), Enter, PROFIT... При настроенных горячих клавишах - делов на 5 секунд.

Операция не стоит автоматизации...

Корр: Ну. При оформлении СТРОИТЕЛЬНЫХ чертежей с нашим их потоком. С деталями и машиностроением - может и стоит того...

Изменено пользователем Mитька

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1. сделать какой нибудь объект с текстовыми полями (блок, парметрика, да хоть текст) и полем штампа ссылаться на текст в этом объекте. (полем или по взять с чертежа) например как пишет SergeySS

 

+ что бы изменить по штампам значение полей достаточно именить его в этом "объекте"

- вставить из базы штамп не получится, копировать не получится (поля не привяжутся, придется цеплять ручками)

- может глючить (не обновлять)

- проблемы у форматов с полями (не обновляют, теряют)

Что бы с ним работать надо предварительно сделать шаблон со 100500 привязанных штампов.

На этапе освоения СПДС пользовался, но все же в топку (глючно и муторно, автоматизация на нуле)

-------------------------

2. Как намекнул уважаемый MCAD через табличные отчеты.

Вкратце:

  • делаем выборку по интересующим нас форматам (с документа, вкладки или по области),
  • задаем параметры выборки.
  • добавляем в отчет все интересующие нас поля
  • добавляем поле Obect и делаем по нему группировку

в итоге получаем отчет в одну строку, меняем в таблице значение, изменится во всех форматах выборки.

+практически полная автоматизация

+не нужны шаблоны

+форматы добавляем как хотим

+работает по всему документу

-легко, что то пропустить (например при вставке пустого формата, он не появится строкой в таблице, и надо зайти в таблице во все поля и пробить "энтером") хотя это можно делать на последнем этапе.

-надо тонко настроить отчет (если в отчет попадут таблицы в которых нет изменяемого поля, например Autor есть в первом листе, но нет в последующих, то в форматах изменения не пройдут)

--------------------------

3. Программный способ. (самописный скрипт)

Например так

 

+полная автоматизация

-работает только по пространству листа или модели

-----------------------

4. Альбомы СПДС

+полная автоматизация (лист/модель, файлы)

-глючат

-не доведены до ума

-нужен СПДС

Изменено пользователем doctorraz

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1. сделать какой нибудь объект с текстовыми полями (блок, парметрика, да хоть текст) и полем штампа ссылаться на текст в этом объекте. (полем или по взять с чертежа) например как пишет SergeySS

 

+ что бы изменить по штампам значение полей достаточно именить его в этом "объекте"

- вставить из базы штамп не получится, копировать не получится (поля не привяжутся, придется цеплять ручками)

- может глючить (не обновлять)

- проблемы у форматов с полями (не обновляют, теряют)

Что бы с ним работать надо предварительно сделать шаблон со 100500 привязанных штампов.

На этапе освоения СПДС пользовался, но все же в топку (глючно и муторно, автоматизация на нуле)

Я принял именно этот способ. Уже где-то на форуме описывал технологию, но не могу найти.

Все штампы лежат в одном файле. Вверху блоки, в которых таблицы для занесения всей информации. Штампов наделано 100500 с привязкой нумерации (в пределах шифра и сквозной). Все штампы в ячейках в качестве содержимого имеют блоки с данными. Только нумерация и шифр привязаны через "Взять с чертежа" через свойства. Блоками пошёл потому, что они 100% обновятся и никуда не денутся, если руками не удалить. А привязкой к свойствам одно время восхитился, но на поверку оказалось, что обновляются не все и не всегда (только те, что созданы сразу; скопированные и привязанные вновь требуют отдельного обновления). Ещё есть спобоб присоединять любые объекты в формуле ячейки: жмём на ячейке "Выражение..." (или жест мышью ПКМ вверх), затем жмём "Присоединить объект", и далее можем в формуле писать что-то вроде Object1.Text или Object1.Contents. Я вначале аж описался от счастья иметь такие возможности, ведь можно было не следить за актуальностью данных (размеров, например) в таблице, если её привязать к размеру на чертеже. Да и вычисления с этими данными производить можно любые, в том числе и логические. Но по факту через некоторое время столкнулся с проблемами - такого рода привязки периодически терялись (даже без изменения объекта, к которому привязаны) или даже меняли одна другую. Из-за этого в штампах на месте ГИПа мог появиться шифр, или стадия, шифр мог замениться фамилией и т.д. Поэтому пока остановился на блоках. Штампы вставляю в листы внешней ссылкой. Пока не сильно жалуюсь :) Ведомость чертежей не получал (рабочку не так часто делаем), но делал бы отчётом по штампам в этом файле, если б приспичило.

Список штампов.dwg

Изменено пользователем Kreator

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Операция не стоит автоматизации...
Просто возникла необходимость в 150 штампах поменять шифр и название проекта. :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...

×
×
  • Создать...