Аналог attout – attin

Последнее время все чаще и чаще стал задумываться о написании некоего аналога знаменитых команд из ExpressTools - ATTOUT и ATTIN.

Штатная функция немного не устраивала: во-первых, имена динамических блоков не учитываются. Сориентироваться, что означает, например, "блок с именем "*U658", нереально). Во-вторых, стало просто интересно. Собственно определяются две команды: att-export (соответственно экспорт в файл csv) и att-import (импорт из csv).

Я постарался учесть вариант "ЕТ не установлен", блокированных и замороженных слоев. Кажется, в качестве первого приближения "покатит".

Версия Ссылка для скачивания Описание
0.1 att-export-import v.0.1 Версия с попыткой вывода результатов только в csv
0.2 att-export-import v.0.2 Учтена необходимость вывода файла в txt. Исправлена небольшая опечатка
0.3 att-export-import v.0.3 Попытка исправления вывода атрибутов в csv. Плотного тестирования не проходила
0.4 att-export-import v.0.4 Попытка исправления обработки хенддлов и перевод их в строковое значение в Excel.
0.5 att-export-import v.0.5 Добавление запроса на сортировку тэгов атрибутов
0.6 att-export-import v.0.6 Исправлена ошибка обработки txt-файлов
0.7 att-export-import v.0.7 координаты вставки блока

Дисклайм: Теоретически код должен обрабатывать и многострочные атрибуты, но не проверял. Перенос строк в таком случае в результирующем файле будет показываться как "\P" - это нормально. Если в атрибутах будут поля, то как они будут выводиться и какие значения будут назначаться - не представляю. Если есть желание тестировать - милости прошу :)
Порядок следования столбцов в таблице критичен (по крайней мере пока; если необходимо будет предусматривать шанс, что "столбцы переместили", сообщите. По мере возможности добавлю.



Комментарии

Есть 44 коммент. к “Аналог attout – attin”
  1. Александр пишет:

    Не разберусь, как здесь передать ссылку на файл.

  2. Кулик Алексей aka kpblc пишет:

    Спасибо, вроде бы подправил. Версия 0.6, ссылка в шапке

  3. Александр пишет:

    Отлично. Спасибо! Всё работает.
    В Нанокаде 23-м тоже, кстати, работает.

  4. Кулик Алексей aka kpblc пишет:

    На такой результат, если честно, не рассчитывал :)

  5. Василий пишет:

    Добрый день!

    А можно сделать версию 0.6 в которой будет извлекаться положение X Y Z, это был бы просто праздник. С меня тортик.
    заранее спасибо.

  6. Василий пишет:

    Добрый день!

    А можно сделать версию 0.6 в которой будет извлекаться положение X Y Z, это был бы просто праздник. С меня тортик.
    заранее спасибо.[cc lang="lisp"]

  7. Василий пишет:

    Добрый день!

    А можно добавить столбцы с координатами X Y Z?
    буду очень признателен

  8. Кулик Алексей aka kpblc пишет:

    Ок, но координаты чего? Вхождения блока? На каждый атрибут? С системами координат не хотелось бы заморачиваться, если честно.

  9. Василий пишет:

    Координаты самого блока.

  10. Василий пишет:

    С системами координат не хотелось бы заморачиваться, если честно. - они прямоугольные, поэтому позиция X и Y

  11. Кулик Алексей aka kpblc пишет:

    Добавил. Правда, без тестирования - все сшито "наживую". Версия 0.7

  12. Василий пишет:

    Алексей, огромное спасибо - это то что нужно.
    Куда донатить?

  13. Кулик Алексей aka kpblc пишет:

    Неужели заработало? Без проведенных толком тестов?! Наверняка где-нибудь пойдет "не так"))
    Насчет донатов и проч - пока особо не задумывался на эту тему :) Так что пока никак.

  14. Василий пишет:

    Тесты обязательно проведём масштабные. Но пока 100 блоков прогнал, полёт нормальный.
    Обязательно задумайтесь над этим, есть люди которые готовы выражать благодарность не только в словах, но и в материальном эквиваленте))))
    Как с Вами связаться?
    Мне нужно сделать автоматическую (или полуавтоматическую) вставку блоков с записью атрибутов из файла.
    Допустим:
    Вставляем блок 1 по координатам Х У Z и соответствующими атрибутами.
    Как нам с Вами это осуществить?

  15. Кулик Алексей aka kpblc пишет:

    Сорри за дикие паузы - работы просто тьма. Так что за предложение автоматизации спасибо, но я просто не вывезу. Советую попробовать обратиться на форумы dwg.ru или adn-cis.org - там гарантированно есть разделы по поиску исполнителей для разовых работ. Возможно, кто-то и откликнется.
    По поводу благодарности - обновил страницу "О сайте", там в самом низу:

    Если вдруг захотите меня отблагодарить, то можете перевести на кошелек Yandex: 4100142180849 . Все коды распространяются по принципу "AS IS" + "beerware"

  16. Василий пишет:

    Как и обещал, высылаю тортик))))
    За совет спасибо.

  17. Кулик Алексей aka kpblc пишет:

    Спасибо :) Тут не на один тортик, а на пару недель )))

  18. Василий пишет:

    На здоровье!
    Если появиться время на реализацию моей задачи, дайте знать.
    У меня и чай есть для тортика)))))

Поделитесь своим мнением


Я не робот.