Krovlaf, программа csv2dwg01.fas производит обратную операцию. Считывает отредактированные в Excel данные из файла с расширением csv и запихивает их в атрибуты найденных по меткам (handle) блоков в чертеже. Программа требует тщательного тестирования с разными геологическими блоками-выработками.
Krovlaf, программа PoiskGeovirabotki.vlx ищет в чертеже геовыработку по номеру строки в листе Excel. Порядок работы: Открыть лист в Excel, загрузить чертеж, запустить программу PoiskGeovirabotki.vlx. На запрос программы набрать номер строки листа Excel. Горная выработка находящаяся в этой строке будет найдена в файле dwg по метке находящейся в колонке К листа Excel. Выработка будет рассположена в центре рабочей области автокада и к ней будет тянутья от курсора пунктирная линия. Можно пользоваться зумом и перемещением, пунктирная линия будет указывать на цент вставки блока-выработки. Для окончания работы программы нажать правую кнопку мыши или Enter.
Оффтоп (Move your mouse to the spoiler area to reveal the content) Подпишусь под каждым словом! Я всего лишь хотел сказать, что для того чтобы заполнить или изменить даже 100 атрибутов в блоках, их гораздо проще и быстрее забить в Екселе а потом вставить в блоки средствами импорта. Вообще числа быстрее вводить в таблице - минимум движений. У нас немного разные задачи. Мне по роду деятельности приходится постоянно оцифровывать бумагу в цифру. И как правило цифры на бумаге очень много (каламбур) Всем Привет! Немного попробовал программку. 1. Экспорт работает. Ошибок не было. 2. К делу в общем не относится, но. У меня не открылся Ваш чертеж (с первого раза). Кад вылетел с ошибкой. Там в чертеже следы от Геоникса, пришлось этим удалять прокси. 3. Давайте сделаем универсальную программу, для любых блоков с атрибутами. Для этого: В получаемом csv можно убрать первую строку с "Объект___", Если можно, то экспортировать имена атрибутов из блоков в таблицу. Таблицу оставить в таком виде - HANDLE | BLOCKNAME | (столбцы с тэгами атрибутов)|. Первые два столбца - "служебные", их логичней в начало поставить. В итоге получаем универсальный инструмент на все случаи жизни. 4. Атрибуты вставляются в файл в прядке создания блоков. Очень часто бывает, что в линии некоторые блоки заменены или вставлены не последовательно и не имеют нумерации в атрибутах - пиши пропало, никогда не узнаешь из таблицы что за чем идет. Принципиальный вопрос №1 - можно ли экспортировать блоки в таблицу отсортированными по линии выбора (что заменит сортировку по оси Y, по оси Х, или как нибудь еще). Два способа выбора блоков - рамкой (когда знаешь что все ОК) и вдоль линии выбора (есть ведь такая функция в команде _select - _f). 5. Теперь с csv. С ним работать нельзя, надо переводить все по столбцам. Данные - текст по столбцам - готово. (при этом важно столбцу идентификатора задать текстовый формат а то переворачивает 71E8 в 7100000000). А вот обратно в csv как? Сохранить как - не катит. Как были данные в столбцах так и остаются. На этом и споткнулся. Может я что-то не знаю или не так делаю?
Krovlaf, отвечаю согласно ваших пунктов: 2. Геониксом вроде не пользуюсь, прокси могли возникнуть при конвертации из вашей версии acad 2007 в acad2002 в котором я работаю. Вам версия чертежа для асад2000 не нужна, Вы можете пользовать вашу оригинальную версию. 3. Для того, что бы попробовать создать "универсальную" программу, пожалуйста создайте вручную образцы чертежа и файла Excel. 4. Линией выбора вполне надежно может служить полилиния проходящая через блоки. При этом каждая вершина полилинии должна совпадать с центром вставки блока. Количество вершин (включая начало и конец) должно строго соответствовать количеству блоков (промежуточные вершины не допустимы). Направление рисовки полилинии будет направлением выбора блоков. 5. Да, двойной щелчок не катит. Excel "умничает", да и в Windows указан региональный разделитель - запятая. Нужно грузить csv через импорт. В Excel - Данные->Импорт внешних данных->Импортировать данные, загружаем файл csv , далее выбираем - с разделителями, далее ставим галку - точка с запятой, далее меняем формат стобцов на текстовый (можно все выделить через Shift), далее - имеющийся лист - нажимаем OK. После редактирования файл можно просто сохранить в формате csv.
При открытии файла задать типы файлов как txt, затем в окне ввода имени файла ввести *.* (после чего нажать Enter), потом выбрать файл csv.
У меня получилось закачать файл csv в Excel через импорт, задав там текстовый формат. Предыдущий пост подправил.
Krovlaf , в подробностях в задачу не въехал, т.к. много постов :) Как вариант - попробовать действовать средствами Map. Через его экспорт-импорт: _MAPEXPORT, _MAPIMPORT. В mif/mid, т.к. в текстовые файлы mid можно выгружать содержание атрибутов блоков. Открывать и редактировать mid в Excel. Или даже просто в блокноте - если достаточно. Потом импортировать в dwg, получая блоки с уже измененными/дополненными атрибутами. В принципе, при импорте можно автоматом загружать не только атрибуты, но и создавать при блоках Object Data с аналогичными полями. Т.е. базу данных можно сначала автоматом создать, а потом вести в Object Data. Надписи при блоках вместо атрибутов можно создавать в любой нужный момент с помощью Диспетчера отображения - создания текстовых стилей. Соответственно, можно обойтись блоками без атрибутов, т.е. простыми блоками - файлы полегче.
Задача подробно описана в #121, #124, #131. Я снимаю шляпу перед людьми, которые с MapInfo на ты. В ГИС информацией жонглируют как в цирке. Я когда-то несколько раз пробовал пробить эту стену головой - не сложилось. Поступают изредка задачи по импорту из Акада в Мэп. Кое как и с помощью бубнов справлялся. Так что если и займусь обменом инфой через сторонние программы, то Мэпинфо будет после Цивила и 3дмэпа. Здесь нужен легкий инструмент на базовом Каде "для всех". По тесту: О чудо! csv открываются как надо! Все "по полочкам". "Входит, Замечательно выходит!" (ослик ИА). При этом не надо даже закрывать Ексель! Достаточно сохранить изменения и импорт данных в Кад работает! Наблюдения: Я так понял, что "во время сеанса" нельзя удалить csv файл. Он занят dwg файлом. Замечания: При экспорте по умолчанию создается файл test.csv. Он каждый раз перезаписывает предыдущий файл не запрашивая перезаписи. Я так понимаю, это тестовая версия, и в дальнейшем можно будет самому обзывать создаваемые файлы? Столбец МеткаDWG имеет числовой формат, и при открытии файла все идентификаторы с буквой "Е" срываются в числа. При этом все атрибуты расположенные ниже "оцифрованного" значения handl не обновляют внесенные изменения. Грубо говоря, работает только часть таблицы до измененного идентификатора. Как это исправить? Может в Екселе чего подкрутить? На пути к универсальности. Можно ли так сделать? 1. 2. Программа извлекает из блоков параметры handl, blockname и записывает их соответственно в первый и второй столбец таблицы файла csv. все имеющиеся в нем атрибуты в порядке следования и записываются в соответствующие столбцы с тэгами. Извиняюсь за сумбур и ошибки. Образец экселевского файла прилагаю. Ну а двж старый подойдет? Выделение блоков по линии. А можно ли построить эту полилинию с помощью лиспа, который мог использовать уже имеющуюся полилинию пересекающую нужные блоки или команду _select_f? Думаю, что это вполне логичный инструмент выделения в этой программе. Большое Спасибо за уже проделанную работу, за потраченное время!
Еще раз пардон, если не к месту или если Map 3d недоступен. MapInfo и пр. ГИС запускать не нужно. _MAPEXPORT создает файлы mif (геометрия) и mid (семантика) - чисто текстовые файлы с прозрачной структурой. В mid у Вас окажется только содержание всех выгружаемых атрибутов в виде текста через запятую. Открываете mid сразу в Excel или даже в блокноте, и редактируете как нужно. После этого _MAPIMPORT'ом загружаете эти измененные данные в dwg.
Блокнотом mid открывается не пустым? Тогда в эксельл просто Открыть, указываете все типы файлов, при выборе mid появится мастер импорта текстов и т.д. Ваш mid в блокноте выглядит как в приложении - никаких ГИС использовать не нужно.
Вы очевидно при импорте не поменяли формат для столбца МеткаDWG на текстовый. Надо было воспользоваться полосой прокрутки. Опцию выбора _F Вы можете использовать при выборе в программе (впрочем как и все другие опции). Полилинию соединяющую центры вставок блоков нужно строить вручную или же на моменте сколки использовать специально для этого написанную программку. Прикладываю доработанные программы.
Приветствую! Я даже не импортировал. Я просто открыл csv двойным кликом. Естественно что все данные представлены были в общем формате и идентификаторы с Е слетели в числа. Сейчас попробовал импорт данных с настройкой 1 столбца как текст - все в порядке. Попробую убрать в Экселе отображения чисел в экспоненциальном формате. Тогда и импорт не понадобится. Поспрашиваю на форумах, может чего и найду. Спасибо большое за совет! Действительно, атрибуты блоков выбранных _f функцией вставляются в csv в порядке выбора блоков. Не надо строить никаких полилиний! Перестала работать программа PoiskGeoviraboki03, как новая версия так и старая. Можно ли узнать команды запуска программ. Надо кнопки к ним сделать. Крайний вопрос. В последнем варианте экспорта файла csv надо убрать ячейку "Объект". Можно ли сделать экспорт csv2dwg так, чтобы постоянными оставались только два первых столбца - Метка DWG и Имя блока, а тэги атрибутов брались не из файла - образца, а из выделенных блоков? PS Куда сказать "Спасибо"? (реквизиты)
Если сумеешь это дело побороть, обязательно отпишись. Мне сие то же может пригодиться. Вторую строку в экселе то же убрать, или оставить первую и вторую ячейки? В следующей версии поставлю "быстрый" перезапуск. В заголовке темы все написано.
Ничего лишнего. Только шапка таблицы и данные. Ячейка А1 - "МеткаDWG". Думаю, заголовки столбцов должны браться из свойств выбираемых блоков. Как и теги атрибутов. Это все к вопросу об универсальности программы. Завтра ее увидит маркшейдер, послезавтра электрик, а после-после завтра архитектору понравится. Коль вопрос корректного выбора блоков (по порядочку) успешно решен, можно ли запрос на выбор блоков сделать в двух вариантах - выбрать блоки рамкой и выбрать блоки секущей линией? И вот еще старая история с динамическими блоками. Имена динамических блоков экспортируемые в файл становятся как у неименованных блоков (*U12, *U13, *U14, и т.д.). Я так понимаю, что у тебя Акад 2002 и динамики тогда небыло. Решить проблему корректного импорта имен на базе старой версии нельзя. Надо будет на кадовских форумах прояснить этот вопрос. Вот, не могу я так! Эта программка для меня как хороший нож. А хорошие ножи не дарят! --- Сообщения объединены, 21 окт 2014, Оригинальное время сообщения: 21 окт 2014 --- Ничего лишнего. Только шапка таблицы и данные. Ячейка А1 - "МеткаDWG". Думаю, заголовки столбцов должны браться из свойств выбираемых блоков. Как и теги атрибутов. Это все к вопросу об универсальности программы. Завтра ее увидит маркшейдер, послезавтра электрик, а после-после завтра архитектору понравится. Коль вопрос корректного выбора блоков (по порядочку) успешно решен, можно ли запрос на выбор блоков сделать в двух вариантах - выбрать блоки рамкой и выбрать блоки секущей линией? И вот еще старая история с динамическими блоками. Имена динамических блоков экспортируемые в файл становятся как у неименованных блоков (*U12, *U13, *U14, и т.д.). Я так понимаю, что у тебя Акад 2002 и динамики тогда небыло. Решить проблему корректного импорта имен на базе старой версии нельзя. Надо будет на кадовских форумах прояснить этот вопрос. Вот, не могу я так! Эта программка для меня как хороший нож. А хорошие ножи не дарят!
Были проблемы со связью. Сообщение продублировалось. По программе. На работе организована доменная сеть с общим серваком. В каде было открыто несколько файлов, несколько окон. Пробую экспорт - проходит сообщение об успешном завершении, а в папке с рабочим файлом свежего csv нет... Начинаю искать - поиск не находит... Закрываю все лишние окна и папки. Экспортирую заново - файла в папке нет. Пробую на тестовом чертеже (он на рабочем столе) - все ок. Экспорт не корректно работает по сети.
Программу поиска PoiskGeovirabotki03.fas проверил. Ищет геовыработки по файлу загруженному в Excel и созданному программой dwg2csv03.fas вроде нормально. Перед запуском программы PoiskGeovirabotki03.fas Excel должен быть запущен и в него загружен файл с выработками. В программе dwg2csv03.fas можно к названию файла добавлять путь куда этот фай сохранять. Например: d:\имя_папки\имя_сохраняемого_файла. Правда пробелы в названии папки и файла в данной версии программы не допустимы. В следующей версии попробую сие ограничение исправить. Для возможности пользовать двойной щелчок для загрузки csv, добавлю к меткеDWG в начало знак подчеркивания. Это заставит Excel определять меткуDWG как текст. Для корректной работы с числовым разделителем в виде точки, нужно в єкселе в меню Данные->Параметры->Международные выбрать в окошке Разделитель целой и дробной части - точка и снять галку в окошке - Использовать системные разделители.
PoiskGeovirabotki03.fas ведет себя как то странно. Мои действия: Открываю чертеж, запускаю dwg2csv03, открываю полученный файл. Вношу изменения, сохраняю файл, перехожу опять в чертеж, запускаю csv2dwg02, проверяю работу программы. Все сделано верно. Запускаю PoiskGeovirabotki03 - ноль эмоций. В командной строке наблюдаю: Команда: (LOAD "C:/Users/Ghost/Desktop/Программа/PoiskGeoviraboki03.fas") Команда: После танцев с бубном выясняю: Поиск начинает работать после запуска старой программы PoiskGeoviraboki.VLX. Старая команда запускается, но результатов не выдает. Затем опять пуск PoiskGeoviraboki03 наконец удачный, с результатами. История камлания в летописи командной строки: Команда: (LOAD "C:/Users/Ghost/Desktop/Программа/PoiskGeoviraboki03.fas") Команда: Команда: (LOAD "C:/Users/Ghost/Desktop/Программа/PoiskGeoviraboki.VLX") Copyright © 2002-2003, BSV & Company serjb_lg@mail.ru Copyright © 2002-2003, BSV & Company serjb_lg@mail.ru Поиск геовыработки по МеткеDWG Лист в Excel должен быть открыт!!! Наберите номер строки Exel = 5 Команда: Команда: (LOAD "C:/Users/Ghost/Desktop/Программа/PoiskGeoviraboki03.fas") Copyright © 2002-2003, BSV & Company serjb_lg@mail.ru v03 Поиск геовыработки по МеткеDWG Лист в Excel должен быть открыт!!! Наберите номер строки Exel = 5 <Enter> или правая кнопка мыши - выход nil В случаях когда надо прописывать пути к нужной папке, я как образцово-среднестатистический юзер, сначала копирую адрес из нужной папки а потом вставляю в строку сохранения/открытия. Под страхом казни не заставишь писать адрес ручками! Так что не надо исправлять ограничения. А если вывести диалоговое окно сохранения файла? Я тут самовольно тему на двж.ру создал по проблеме формата в scv. Нехорошо, конечно, от чужого лица выступать. Но это от неуемного желания помочь делу. Ака Ривилис советует метку в кавычки взять. Ну, это я делаю сразу на всех Экселях какие попадаются под руку... Точнее сразу Винду под это настраиваю. Привычка уже.
Krovlaf, да, моя вина, вместо vlx отправил Вам fas. Прикладываю файл PoiskGeovirabotki.vlx. Добавлена команда 11 (одиннадцать) перезапуска программы. Повторный запуск программы можно произвести набрав на цифровой клавиатуре 11 и нажав Enter. Последующие идущие подряд перезапуски программы можно производить просто нажатием Enter или клавиши пробела. Если метку брать в двойные кавычки, как советует Ривилис, в экселе справа от метки остаются две кавычки. Вы можете сами это легко проверить записав метку в двойных кавычках в файл csv и закачав это дело в эксель. Совет работать на прямую с єксель по СОМ интерфейсу неприемлем, в виду медленной работы сего дела с большими массивами данных. А вот программа PoiskGeovirabotki.vlx использует COM интерфейс, бо она оперирует всего с одним значением.
Ок. Понятно. Поиск прекрасно работает, спасибо. Перезапуск удобная штука. Сейчас какие-то спорные моменты в данных легко можно найти на чертеже. А в таблице экселя, все "аномалии" искать гораздо проще. Опять странности... На работе (Acad 2010, Office2003) Только что созданный файл csv открывается сразу как обычный xls (данные по столбцам). Процесс экспорта/импорта проходят без замечаний. Дома, только что. (Acad2008, Office2003). Созданный экспортом файл csv открывается штатно (данные с разделителями - запятыми) При импорте данных в табличный режим и сохранении файла как csv импорт не работает. Комстрока: Команда: Команда: (LOAD "C:/Documents and Settings/Администратор/Рабочий стол/План разведочных работ/csv2dwg02.fas") * Загрузка геол. выработок в атрибуты блоков автор: Семенов И.И. (ivsem); ошибка: В функции *error* возникла ошибка:Настройка переменной AutoCAD отвергнута: "CMDECHO" nil Импорт из обычного файла scv (разделители - запятые) проходит без замечаний. В чем причина столь разного поведения на разных машинах? --- Сообщения объединены, 22 окт 2014, Оригинальное время сообщения: 22 окт 2014 --- Извиняюсь, вопрос снимается. Совсем забыл про разделитель элементов списка ";" в системных настройках! --- Сообщения объединены, 22 окт 2014 --- Да и с выделением блоков по секущей линии разобрался. Сделал "складную" панель кнопок с функциями выбора.