|
||
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Нумерация по спецификации ?
инженер-проектировщик
Москва
Регистрация: 12.08.2008
Сообщений: 64
|
||
Просмотров: 23387
|
|
||||
AutoCAD Регистрация: 26.07.2007
Москва
Сообщений: 1,064
|
Dmitry AD!
Я "программер-любитель". Могу попробовать решить твою задачку на VBA (лисп пока не осиляю). Можешь подробнее описать ситуацию. Желательно файл чертежа и екселя (я так понял: "спецификация с нумерацией в формате Excel" - это значит в файле екселя). А объекты оборудование - в виде блоков или как? Ну а насчет: "что это делается при помощи изменяемого атрибута" - реализовать можно по разному, как удобнее, например можно выносками. А насчет атрибута, он внутри блока оборудования (если это блок) уже есть и ему надо просто нужное значение присвоить по спецификации, ты это имел ввиду? Короче без фалов сложно разобраться. |
|||
![]() |
|
||||
Dmitry AD,
Вопрос очень расплывчатый. Нужно более подробное описание + файл примера.
__________________
Блог |
||||
![]() |
|
||||
Vildar спасибо за отклик,
Алгоритм моих действий таков: 1.Делаю чертеж, расставляю оборудование, делаю спецификацию (через Attribute Extract)- выгружаю в Excel, 2.макросом форматирую спец-ю в Excel(форматированая спец-я приложена)-получается файл спецификации с нумерацией. 3.Далее согласно полученой спецификацией с нумерацией (порядковый номер) в спеке я расставляю ВРУЧНУЮ номера оборудования! а ведь его колличество может быть весьма большим (300-400 позиций).... В идеале-Хотелось бы получить горячую кнопку на панеле инструментов, позволяющую раставлять нумерацию, согласно спецификации АВТОМАТИЧЕСКИ... [ATTACH]Вложение 9260[/ATTACH] |
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
Поищи по форуму по словам "нумера*" и "автонумер*" - думаю, найдешь что хочется.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
AutoCAD Регистрация: 26.07.2007
Москва
Сообщений: 1,064
|
Кстати, я так понял ты "сантехник", ну или как это правильно называется спец. по инженерным-системам.
Скажи в чем расчеты делаешь. Вот тут напиши пожалуйста: http://dwg.ru/f/showthread.php?t=10846 Последний раз редактировалось Vildar, 13.08.2008 в 16:45. |
|||
![]() |
|
||||
Пардон - опечатался! (мозг кипит)
конечно же на чертеже раставляю вручную нумерацию! спека- сокращенно спецификация. А в итоге должно получиться как раз то, что на чертеже. (оборудование, над которым в отдельном слое NUNBER стоят номера оборудования по спецификации) Т. е исходник - это тот же чертеж, только без номеров. |
||||
![]() |
|
||||
AutoCAD Регистрация: 26.07.2007
Москва
Сообщений: 1,064
|
Черт, не засек цыфирьки, у меня черный фон стоит.
Пока ничего не понимаю! Почему атрибуты в блоках не используешь? Я переделал один блок. Так пойдет. Еще можно добавить атрибуты для других параметров оборудования - длины, ширины и т.д. (ты их в екселе вручную забиваешь?) И перенос в ексель делать не через ЕкстрактАтрибутов. Т.е. будут две кнопки, "экспотр в ексель" и "импорт из екселя", ятд. Если согласен на эти изменения, то я попробую. У меня есть еще неделя свободная. Потому что, как сейчас у тебя выглядит чертеж, я не представляю реализацию. |
|||
![]() |
|
||||
У меня серый фон ))) поэтому отлично все видно)
Я атрибуты в блоках использую для составления спецификации. А так мне атрибуты больше не нужны. Ну теперь еще можно будет использовать для нумерации ))) Параметры оборудования (длину, ширину) вытаскиваю из общей базы оборудования (поиск по атрибуту) она у меня в екселе. И мне в принципи не нужно забивать габариты и остальные параметры. -Я отослал файл ексель без формул, что бы читался без ошибок так он кишит ссылками (прилагаю). А если номер в спецификации поменять он на чертеже автоматом изменится, или надо заново импортировать из экселя? И каким другим образом можно экспортировать в эксель? |
||||
![]() |
|
||||
AutoCAD Регистрация: 26.07.2007
Москва
Сообщений: 1,064
|
Ситуация немного проясняется! Но есть некоторые моменты.
У тебя внутри блока, лежит блок с атрибутом кода. Зачем вкладывать блок внутрь блока? Буду делать просто атрибуты. План такой. Есть куча блоков на чертежен с атрибутами вида: НомерКода1, НомерКода2, и т.д. сколько будет столько и будет в ексель переноситься. И соответственно столько же атрибутов с номером позиции - Номер1, Номер2 и т.д., начальное значение которых по-барабану, 0 например. Поправь, как тебе удобно обозвать атрибуты. Жмакаешь на "экспорт" - выделяешь блоки - открывается ексель с таблицей атрибутов (кодов и т.д.). Редактируешь таблицу. Жмакаешь "импорт" - соответсвующим блокам и атрибутам присваиватся номера из екселя - все. При изменении в екселе, жмакаешь опять "импорт", и т.д. Ну я начну, а там посмотрим что получится. На счет недели я ошибся ( сегодня же уже среда, кончается (( до понедельника имел ввиду, может успею. С екселем из акада еще не было опыта работы. ХЗ получится или нет. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
Как бы делал я: во-первых, базу хранить не в xls-файлах (хотя и до их состава можно достучаться лиспом или VBA; анализа просто много надо прописывать). Атрибут, который "достается с помощью ExtractAttributes" - значение ключевого поля соответствующей таблицы БД. Имя оборудования, его описание, остальные данные из базы - соответствующие поля той же таблицы. Во-вторых, полностью меняется логика работы: из-под AutoCAD'a вызывается специально разработанное окно обращения к БД. Пользователь в этом окне выбирает нужное оборудование (например, по наименованию - способ отображения определять явно не мне), жмет на кнопку "вставить" и вставляет блок оборудования в поле чертежа. Внутри блока нет никаких атрибутов и прочей шелухи, которую (по злобе или по глупости) может изменить конечный пользователь - все данные (хотя чего там - "данные"... Код оборудования и больше ничего не требуется) хранятся в областях, простому смертному недоступных (например, расширенные данные, или ldata, или словари - вариантов тьма). После окончания расстановки оборудования пользователь жмет еще одну кнопень (типа "составить спецификацию"), определяет область чертежа, с которой надо собирать данные, а программа (имеется в виду не AutoCAD, а собственная разработка) сама собирает все данные, сортирует их по заранее определенным и неизменяемым законам и проставляет номера позиций, сводя все в единую таблицу.
Конечно, это все можно потом наращивать и наращивать (ну, например, решить - обрабатывать только текущий файл или какой-либо иной; обрабатывать или нет внешние ссылки; где хранить и хранить ли вообще номера позиций), но начало надо проработать достаточно серьезно. Кода будет очень много. И тестирования - тоже. И вот теперь вопрос - а почему б не попробовать использовать МЕР? Он же вроде ориентирован именно на подобные штуки. Его наладка тоже не сахар, но по крайней мере не надо изобретать велосипед...
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
AutoCAD Регистрация: 26.07.2007
Москва
Сообщений: 1,064
|
Спасибо Алексей. Это будет следующим этапом моего развития. Пока не дорос(!?).
Сделаю по простому. Что ты имел ввиду, в первой строчке #19, какой анализ? Проверка наличия Екселя, версия, открыт ли он, активный документ, что еще может быть. [I/]Еще нужна проверка содержания, при обратном переносе данных из екселя, вдруг данные будут несоответсовать или вообще из другой области.[/i] Второстепенный вопрос. На какие штуки оринентирован МЕР? Имеется ввиду собственные объекты оборудования в библиотеке, с описанием характеристик, и дальнейшее составление спецификаций, и без всякого программирования, так!? Последний раз редактировалось Vildar, 14.08.2008 в 09:38. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
Нет, анализ - в каком столбце чего хранится. Евгений Елпанов писал в свое время лисп по доступу в Excel'ным файлам через ADO, но там были какие-то ограничения (сейчас навскидку не помню, а искать просто некогда - посмотри на caduser.ru в разделе "Готовые программы").
Цитата:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
AutoCAD Регистрация: 26.07.2007
Москва
Сообщений: 1,064
|
Капец! Фатал еррор нападает!
Первый раз запускаю макрос, все нормально. Ну, как нормавльно, до Екселя доходит, а там пока не порядок, есть ошибки; останавливаю; подправляю, и при повторном запуске - фатал ерор. Постоянно. Раньше это было редко. Какие методы борьбы с ним есть? |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
А надо просто освобождать память, занятую Excel'ом, освобождать файл и т.п. Я не зря сказал про порочность использования xls в качестве БД...
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Vildar, касаемо вопроса:
У тебя внутри блока, лежит блок с атрибутом кода.Зачем вкладывать блок внутрь блока? Ответ: Я не вкладываю блок с арибутом в бок оборудованя. Когда я достаю об-е из базы через меню (.mnu)- оно выходит единым блоком- все слои блоком. Существует некая база оборудования - много файлов с отрисованым оборудованием в формате dwg (оборудование в базе находится НЕ в блоке и имеет несколько слоев, в одном из слоев лежит атрибут (код оборудования). И у каждой позиции об-я в базе есть свой атрибут (код об-я), а то и несколько кодов(составляющие об-я) А касаемо : Есть куча блоков на чертежен с атрибутами вида: НомерКода1, НомерКода2, и т.д. сколько будет столько и будет в ексель переноситься. И соответственно столько же атрибутов с номером позиции - Номер1, Номер2 и т.д. Если я правильно понял, нужно к оборудованию в базе добавить атрибуты для номеров? Но у меня в базе оборудования (более 1000 позиций) нет АТРИБУТОВ С НОМЕРАМИ. Эти атрибуты (НОМЕРА) должны выдаваться автоматом. Не имея заранее атрибута номера. Я не умею экспортировать атрибуты в эксель кроме как Экстракт атрибут. И не умею импортировать данные из экселя в кад (номера для блоков) ((( ДЛЯ Кулик Алексей aka kpblc Хранить базу в экселе- это необходимость, т.к. она обновляется в эксель файле и так с ней удобнее работать. касаемо: Атрибут, который "достается с помощью ExtractAttributes" - значение ключевого поля соответствующей таблицы БД. Имя оборудования, его описание, остальные данные из базы - соответствующие поля той же таблицы Так и происходит ) По предложению: -вызывается специально разработанное окно обращения к БД. Так и есть - создана менюшка, с ниспадающим списком, из которого выбирается об-е и ставится в чертеж. Но внутри блока есть атрибут с кодом об-я (благодаря которому я и делаю спец-ю) с помощью ExtractAttributes-вытаскиваю коды в лист Excel, далее макрос из базы данных Excel (где как раз и есть все данные) добавляет необходимые ячейки, форматирует спецификацию. Но атрибут (код об-я) пользователи должны видеть (для проверки и наглядности) По поводу: Конечно, это все можно потом наращивать и наращивать (ну, например, решить - обрабатывать только текущий файл или какой-либо иной; обрабатывать или нет внешние ссылки; где хранить и хранить ли вообще номера позиций), Это все не требуется, нужно только по сформированой спецификации из формата Excel вытащить порядковые номерки и поставить их на оборудование. ВОТ ) |
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
Е-мое... А написать интерфейс так, чтоб пользователю было удобно с ним работать не судьба? И "что там и где хранится" - дело не пользователя. Он может хоть с MS SQL Server работать, не подозревая об этом.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
Это реакция была на Dmitry AD, к тебе касательства не имеет.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Алексей, конечно было бы неплохо создать удобный интерфейс, при условии, если умеешь это делать и есть непосредственная в этом необходимость. Но на данном этапе это мною скорее всего не осуществимо в виду совсем не глубоких моих знаний акада, посему такие мысли в голове не держу. Есть необходимость лишь в упрощении, и ускорении работы. Вероятно, через некоторое время, проникшись всеми прелестями и возможностями програмирования я и задумаюсь об этом, но не сейчас.
|
||||
![]() |
|
||||
AutoCAD Регистрация: 26.07.2007
Москва
Сообщений: 1,064
|
Отлегло, фуу...
![]() Offtop: Твои критические высказывания действуют примерно также как путинские на мечел -> фондовый рынок чуть не рухнул ![]() У меня такой реакции к Dmitry AD не возникло. Понятно только, что картина описанная в #25 не простая, мне не разобраться. С БД и АДО я не знаком. Как ты понял, что там у него к чему? |
|||
![]() |
|
||||
AutoCAD Регистрация: 26.07.2007
Москва
Сообщений: 1,064
|
Цитата:
![]() В том то и проблема, что номера из екселя непонятно куда вставлять. Можно найти нужный блок по коду. А куда текст с номером вставлять непонятно. Анализировать габариты блока - сложно. Можно попробовать рядом с кодом вставлять (определять по точке вставки кода внутри блока), или прямо поверх кода. Вообщем еще не готово, подожди. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
> #31: Все очень просто - я сам занимался аналогичной задачей. Правда, у меня и отрисовка блоков в результате была программной
![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
AutoCAD Регистрация: 26.07.2007
Москва
Сообщений: 1,064
|
Цитата:
Блоки с атрибутами. (меня немного смущает нумерация - под 400) Я так и предлагал. Значение атрибутов с номером позиции "импортировать" из Екселя. Если у тебя чертежи будут в таком виде, тогда мне проще будет. Но судя потому, что ты написал в #25 - это невозможно. А так, я щас на проблеме из #33 застопорился. Ты продолжай "терроризировать" гуру. Потому что, даже если у меня что-то получится сделать на своей машине, то не факт что у тебя будет фурычить. Например с версией Екселя может быть проблема. У тебя какая версия? |
|||
![]() |
|
||||
Хорошо, давай значение атрибутов с номером позиции "импортировать" из Екселя.
Но спецификацию я считаю все равно по атрибутам с кодом об-я! по#33 проблеме: А если никак не привязывать, по умолчанию циферки сами над атрибутом не встанут? Ексель 2003 года! Давай хоть как нибудь попробуем, а то мой мозг рарывается от колличества обработаной информации! |
||||
![]() |
|
||||
AutoCAD Регистрация: 26.07.2007
Москва
Сообщений: 1,064
|
Цитата:
Цитата:
![]() Еще такая фигня, мероприятие на сегодня-завтра намечается ![]() Так шо возможна небольшая задержка. "Зуб даю" в воскресенье "хоть как нибудь" - будет! |
|||
![]() |
|
||||
AutoCAD Регистрация: 26.07.2007
Москва
Сообщений: 1,064
|
Тестовый вариант.
Прикладываю zip с макрсом, исходные чертежи и тот вид спецификации в Екселе на который все расчитано. Положение строк и столбцов должно ей соответствовать. Номер оборудования ставиться над атрибутом кода. Как и говорил. Лучше не придумал. Еще есть вопрос по масштабу. Какой высоты текст вставлять? Пока сделал тупо 100, как у тебя на чертеже. На кнопку можешь повесить такой макрос: Код:
Перед запуском макроса, должен быть открыт Ексель со спекой! Главное! В случае ошибки, а она будет, уверен на 99%, жми Debug, снимай скрин ошибки и скрин кода в месте ошибки, буду разбираться. PS Кажись зубы целые остануться ![]() |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
Лучше тогда уж использовать позднее связывание (ИМХО, как всегда)
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
AutoCAD Регистрация: 26.07.2007
Москва
Сообщений: 1,064
|
Непонял!
LCase же стандартная функция VBA. Посмотри версию VBA, опять же в редакторе: Help->About У меня 6.5. Можно просто, убрать её Код:
Код:
Продолжаем! |
|||
![]() |
|
||||
AutoCAD Регистрация: 26.07.2007
Москва
Сообщений: 1,064
|
|
|||
![]() |
|
||||
AutoCAD Регистрация: 26.07.2007
Москва
Сообщений: 1,064
|
Урааа...!!!
А с системами координат я не разобрался ![]() Ты теперь сам почти программёр. Закомментируй в начале: Код:
И заводи по новой, может проканает и в другой системе координат. Кстати в какой? Кто, что, зачем, создал её? Если не секрет. А лучше файлик. Может чёнибудь придумаю. Да и еще, можно не трогать эту часть кода, а установить МСК ![]() Последний раз редактировалось Vildar, 18.08.2008 в 16:50. |
|||
![]() |
|
||||
AutoCAD Регистрация: 26.07.2007
Москва
Сообщений: 1,064
|
Цитата:
Надо сильно подумать... 1.Можно попробовать номера в центр блока кидать. 2.Про атрибуты уже говорили, низзя. 3.К чему еще привязываться? А щас, тебе приходится каждый номерок двигать, да! |
|||
![]() |
|
||||
Vildar,я немного разобрался- все работает и на других чертежах!
Прости за наглость ) А можно сделать некоторые поправки? К примеру забить автоматическое установление мировой системы координат? Если я не ошибаюсь- ^C^C_ucs _w и вместо ячейки В2 поменять на B22 (там где то прописано, что в ячейке B2 должен быть код), я сверху логотип еще прикрепляю и всякую ерунду еще дописываю! и было бы круто если к блоку сделать привязку п о атрибуту.... ))))) А в целом - Я ОЧЕНЬ РАД! РЕСПЕКТ ТЕБКЕ И УВАЖУХА! ) |
||||
![]() |
|
||||
AutoCAD Регистрация: 26.07.2007
Москва
Сообщений: 1,064
|
Все нормально,
Так. Поправки - можно конечно. Ща попробцю. Вот тут не понял: и было бы круто если к блоку сделать привязку п о атрибуту.... ))))) Поясни-ка. Спсибо, я учусь, а ты подопытный ![]() |
|||
![]() |
|
||||
Я какую то хрень написал- сам не пойму что!: "и было бы круто если к блоку сделать привязку п о атрибуту.... )))))"
А если попробывать номера в центр блока? Кстати я не знаю чем открыть dvb? , что бы отредактировать. при ошибке он сам открывается, а так х.з. |
||||
![]() |
|
||||
AutoCAD Регистрация: 26.07.2007
Москва
Сообщений: 1,064
|
Насчет B22:
Поменяй число на 22: Код:
В дальнейшем можешь сам изменения вносить. Это open-source проект ![]() МСК, ищу пока. Временно, как и предлагалось ранее, закомментируй. Последний раз редактировалось Vildar, 18.08.2008 в 17:39. |
|||
![]() |
|
||||
AutoCAD Регистрация: 26.07.2007
Москва
Сообщений: 1,064
|
Нужно время. Сегодня, завтра или послезавтра.
Цитата:
А в файл dvb сохраняется макрос из этого редактора. |
|||
![]() |
|
||||
Спасибо, открываю, корректирую! )))
все вроде получается ) Попробывал один из рабочих случаев, а именно: меняется нумерация в спецификации и требуется поменять нумерацию на чертеже. если еще раз нажимаешь на кнопку, сверху накладывается еще одна нумерация (новая), старая же остается на месте. Можно команду выделить и удалить нумерацию вывести на отдельную кнопку? Последний раз редактировалось Dmitry AD, 18.08.2008 в 18:06. |
||||
![]() |
|
||||
А еще, прости за наглость в очередной раз))))
Можно каким нибудь образом сделать нумерацию только выделеной области (выделенных объектов)? Типо хочу пронумеровать группу объектов -> обвел -> нажал кнопку -> они пронумеровались... Последний раз редактировалось Dmitry AD, 18.08.2008 в 18:07. |
||||
![]() |
|
||||
На изначальном примере (простой сплошной нумерации) все работает идеально! )))
Тестирую на разных примерах (более сложных и чаще всего применяемых) - выходят небольшие проблемсы: Проблемс 1 Хочу пронумеровать один из участков (мясо-рыбный цех) Как и положено нажимаю на кнопочну -> выдается запрос (да- выделить область, нет- весь чертеж) -> нажимаю да (область) -> выделяю -> Enter -> происходит нумерация (что очень радует) НО! нумерация не только выделеного участка, но и всего чертежа, имеющий такие же атрибуты. (см. скрин шот) Проблемс 2 Не всегда в спецификации первое число после слова "КОД" именно код, часто бывает текст (наименование этажа или цеха) -> в таких случаях пишется: ошибка в екселе, не найдено ни одного кода. Для того что бы проставлялась нумерация именно по определенному участку - на чертеже выделяю область, а в спецификации каким образом следует поступать? скрывать все, отображая лишь нужную область или как? |
||||
![]() |
|
||||
AutoCAD Регистрация: 26.07.2007
Москва
Сообщений: 1,064
|
Вот попробуй.
У меня тут запарка. Поэтому шипко не проверял. Могут быть ошибки. Удивился новому обстаятельству. Т.е. одному коду могут соответствовать разные позиции. И на чертеже в одной точке собираются все номера найденные в Екселе для этого кода. Как быть, непойму. И даже в одном цехе это может быть. Смотрю на Ексель. Я то думал для каждого кода только один номер. |
|||
![]() |
|
||||
AutoCAD Регистрация: 26.07.2007
Москва
Сообщений: 1,064
|
Для того что бы проставлялась нумерация именно по определенному участку - на чертеже выделяю область, а в спецификации каким образом следует поступать? скрывать все, отображая лишь нужную область или как?
Можно сделать запрос с какого по какой ряд собирать данные. Или еще как нибудь. |
|||
![]() |
|
||||
Пробую новый макрос- выходит ошибка.
А по поводу того, что одному коду соответствуют разные позиции- это так! к примеру в цехе №1 стоят 5 столов 1200*700- в спецификации они отображаются как столы 1200*700, а их колличество -5 штук. У них одинаковые коды и номера (но только для данного цеха) в цехе №2 стоит такой же стол 1200*700 - в спецификации он будет находиться в другом цехе и порядковый номер у него будет другой, хоть и код такой же. Для этого и нужно было нумеровать именно определеную область (цех). но как со спецификацией поступать? Я пытался скрыть временно не нужные позиции, оставляя лишь те, по которым делается нумерация - ничего не выходит. Скрины ошибок прилагаются. |
||||
![]() |
|
||||
AutoCAD Регистрация: 26.07.2007
Москва
Сообщений: 1,064
|
Так. В начале этой процедуры поменяй строчку:
Код:
Код:
Цитата:
Цитата:
Как я предложил, пойдёт. Выдавать запрос на ряды. Записать ответ на него можно будет примерно так: 22-45 (цыфры от балды взял, не смотри) |
|||
![]() |
|
||||
Смотрю на "Мясо- рыбный цех" в спеке, коду 3795 соответствуют четыре позиции: 24,28,35,36. Это как понимать?
Вывает такое, что автоматически позиции с одинаковым кодом не суммируется в спецификации и получается такая бадяга..24,28,35,36. хотя эта позиция одна и таже. |
||||
![]() |
|
||||
Все работает, информация считывается со спецификации, не смотря на пробелы и надписи!
Номера позиций кроме выделеных блоков нигде больше не всплывают! Я так понимаю когда появится команда для запрса рядов будет все в ажуре! пока что все номера из спецификации выставляются по атрибуту на выделеный блок. прилагается скриншот: |
||||
![]() |
|
||||
)))
что то не то! ) сначала он пишет введите строки, потом определяет область, потом нихрена не находит! ))) По логике: 1. Определить область или весь чертеж 1.1 весь чертеж -> проставилась нумерация 1.2. область -> появляется курсор -> обвести -> "введите номера поиска по спецификации"-> начальный ряд -> конечный ряд -> (что бы ставились номерки ))) ) |
||||
![]() |
|
||||
AutoCAD Регистрация: 26.07.2007
Москва
Сообщений: 1,064
|
Чё не так!
Выбрал ты хоть весь чертеж, хоть область, надо вводить начальный ря и конечный ряд. У меня правильно проставляет номера. Для мясного цеха: Ввел начальный ряд - 41, конечный -63 Выделил один блок - M16_7R Получил: код 19614 - номер 29, 11579 - 23 3795 - 24,28,35,36 Все верно. ![]() |
|||
![]() |
|
||||
ммм, точно, получается!
я видимо не теномера вводил. А можно последовательность запроса изменить, как я писал:. Определить 1.область или весь чертеж 1.1 весь чертеж -> проставилась нумерация 1.2. область -> появляется курсор -> обвести -> "введите номера поиска по спецификации"-> начальный ряд -> конечный ряд ->номерки |
||||
![]() |
|
||||
AutoCAD Регистрация: 26.07.2007
Москва
Сообщений: 1,064
|
Как так неактуален. У тебя тогда опять будут в кучу собираться номера со всего Екселя. Ты чё
![]() Ладно допустим ты прав. Но это не так просто сделать. Так что, надо покумекать. Последний раз редактировалось Vildar, 19.08.2008 в 18:05. |
|||
![]() |
|
||||
я как понимаю:
Если "да" (выбор объектов) . -> выбираем объекты! А выбираем потому, что спецификация разбита на части (одни и те же коды под разными номерами) и они накладываются друг на друга. Если "нет" -> объекты не выбираем! делается нумерация по всей спецификации! это удобно. когда спецификация составлена сплошными данными - без разбития по цехам! Объекты с одинаковыми кодами складываются (будем стараться это делать) и накладок номеров не получается! или я не правильно что то понял? ![]() если правильно понял, то именно предложеный мною порядок считаю логичным. |
||||
![]() |
|
||||
AutoCAD Регистрация: 26.07.2007
Москва
Сообщений: 1,064
|
Потестируй.
Перечислю общие недостатки: 1. При запуске макроса должен быть отркрыт эксель и активен документ с нужной таблицей. Надо придумать проверку идентификации таблицы. 2. Сейчас любая встречная комбинация чисел в столбце А и B считается за комбинацию кода и номера позиции. Надо придумать проверку. 4. Высота текста для номеров - фиксированной высоты =100. А нужно сделать в зависимости от масштаба. У тебя что, все чертежи в одном масштабе? 5. При дальнейшем использовании макроса могут появляться новые "неожиданности", неучтенные условия. Будь начеку. 6. Вот уже сейчас я мог что-то упустить. Ну а про то, что номера вставляются не туда, всмысле над кодами а не внутрь блоков, я ваще молчу. "А в остальном, прекрасная маркиза, все хорошо, все хорошо!" ![]() |
|||
![]() |
|
||||
С П А С И Б О !!! )
клево! все работает! По поводу недостатков: 1.- это нужно прививать людям, кто будет с этими чертежами и таблицами работать (следить за правильностью)- не проблема! 2. Не вижу ничего в этом страшного - в этих столбах всегда должны находиться данные значения номера и кода! 3. Высота текста оптимальна! масштаб не меняется - всегда одинаковый, ведь оборудование всегда одинаково! 4.По поводу неожиданостей - ну всякое бывает! если че, буду надеяться на твою поддержку ))) А если появится мысль как сделать что бы номера вставлялись в центр блока - буду очень признателен! p.s. Спасибо огромаднийшее! ![]() |
||||
![]() |
|
||||
Vildar,
ну вот не прошло и полу часа, а я снова к тебе с просьбой ))) : При сплошной нумерации без выделения области был решон вопрос со старыми нумерами (они удалялись и появлялись новые) При выделении области старые номера не удаляются , а накладываются новые, как раньше было со сплошной. Не мог бы поправить ? ))) плиз. |
||||
![]() |
|
||||
AutoCAD Регистрация: 26.07.2007
Москва
Сообщений: 1,064
|
Я тут!
Если нужно что-то поправить в макросе, я готов. Перевелся из инженеров в админы, пока голову поднять некогда, полно низовой работы ("мышка не печатает! караул!" ![]() Жуть, чего понаписал, в этом макросе ) Переделать бы надо ( Последний раз редактировалось Vildar, 18.06.2012 в 16:44. |
|||
![]() |
![]() |
|
Опции темы | Поиск в этой теме |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сквозная нумерация чертежей | Alxd | Прочее. Архитектура и строительство | 26 | 19.06.2024 09:01 |
Нумерация листов в AutoCad | Sergk | AutoCAD | 21 | 11.03.2022 05:21 |
Обозначение арматуры А500с в спецификации арматурных стержне | Летун | Железобетонные конструкции | 10 | 23.06.2007 10:05 |
Нужна програмка для спецификации | Нютка | Программирование | 46 | 02.04.2007 14:53 |
Нужно ли показывать с спецификации болты, гвозди, анкеры? | Колян | Прочее. Архитектура и строительство | 9 | 14.09.2006 08:09 |