Jump to content

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


Recommended Posts

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

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

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

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

Link to comment
Share on other sites

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

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

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

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

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

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

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

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

Link to comment
Share on other sites

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

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

Link to comment
Share on other sites

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

 

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

Edited by Ivanco
Link to comment
Share on other sites

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

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

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

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

  • Like 1
Link to comment
Share on other sites

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

 

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

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

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

Link to comment
Share on other sites

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

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

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

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

Edited by Ivanco
Link to comment
Share on other sites

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

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 то можно этот путь выдернуть из объекта и по нему же сохранить.

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

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

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

Edited by doctorraz
  • Like 4
Link to comment
Share on other sites

  • 3 months later...

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

 

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

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

Link to comment
Share on other sites

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

 

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

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

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

Link to comment
Share on other sites

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

Edited by Mитька
Link to comment
Share on other sites

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

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

Link to comment
Share on other sites

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

 

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

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

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

Не понял. :(
Link to comment
Share on other sites

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

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

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

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

Link to comment
Share on other sites

Не понял. :(

что?

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

Link to comment
Share on other sites

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

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

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

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

 

DWG тут

Link to comment
Share on other sites

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

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

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

Edited by Mитька
Link to comment
Share on other sites

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

 

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

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

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

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

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

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

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

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

Вкратце:

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

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

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

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

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

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

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

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

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

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

Например так

 

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

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

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

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

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

-глючат

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

-нужен СПДС

Edited by doctorraz
  • Like 1
Link to comment
Share on other sites

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

 

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

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

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

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

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

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

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

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

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

Edited by Kreator
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

  • Tell a friend

    Love Официальный форум компании Нанософт? Tell a friend!
×
×
  • Create New...