При экспорте точек из CREDO_DAT 3.04 в AutoCAD,высоты точек поверхности в AutoCAD отображаются с точностью до миллиметров. А на топоплане должно быть до сантиметров (например, не 90.123 м а 90.12 м) Приходится вручную редактировать каждую отметку: убирать миллиметры... Если в съемке несколько тысяч пикетов — это долго и муторно. Возможно ли изменить настройки Credo, чтобы он экспортировал сантиметры или средствами AutoCAD убрать тысячные сразу у всех отметок?
IMHO Только в новой версии CREDO_DAT такое возможно настроить. Можно воспользоваться другим путём. Экспортировать в текстовый файл. Затем в программу Text_Excel_Acad http://geodesist.ru/component/option,com_remository/Itemid,32/func,fileinfo/id,10/Мысленно благодарите Александра Шаламова и экспортируете в Автокад.
2 Badim спасибо за ссылку, Я только одного не понял: Credo сохраняет точки, как текстовый файл разделенный запятыми. Например: номер точки, X, Y, Z. Как этот текстовый файл вставить в Excel, чтобы каждая координата была в своей ячейке. В аннотации к программе много говорится об экспорте точек в Автокад, а про импорт ни слова, просто написано вставьте значения в таблицу: вручную что-ли их забивать?
Всё просто, запускаете Excel (чистый лист), нажимаете "Файл-Открыть", в типе файлов выбираете "Все файлы" (не только Excel), находите Ваш файл с и открываете его. Появится запрос на открытие данного файла с разделителями, вы соглашаетесь и разделителем ставите пресловутую запятую. Получите все данные в разных ячейках - так как надо, а затем просто копируя столбцы вставляете их в вышеназванную программу (Спасибо Александру Шаламову ).
Все я решил проблему. Нашел на форуме Автокада такой лисп: (defun c:tx ( / nameset setlength namtxtrun txtzir para txtstr txtstr txtnum txtnew ); (setq nameset (ssget "_:L" '(( 0 . "TEXT")))) (setq setlength (sslength nameset)) (setq i -1) (repeat setlength (setq i (1+ i)) (setq namtxtrun (ssname nameset i)) (setq txtzir (entget namtxtrun)) (setq para (assoc 1 txtzir)) (setq txtstr (cdr para)) (setq txtnum (atof txtstr)) (setq txtnew (rtos txtnum 2 2)) (setq para_new (cons 1 txtnew)) (setq txtNew (subst para_new para txtzir)) (entmod txtNew) (entupd (cdr (assoc -1 txtNew))) ) ) Если подробнее, что с этим делать: 1 Этот текст нужно сохранить в блокноте, изменить расширение файла с .txt на .lsp 2 Дальше в Автокаде Tools - Load Applicaition, выбираем наш файл. 3 В командной строке пишем tx, выделяем нужный тект, Enter. Текст округлился до 2ух знаков после запятой ( в команде "rtos txtnum 2 2" меняя вторую цифру, изменяем кол-во знаков после запятой) Надеюсь кому - нибудь пригодится, всем спасибо!
Парочка уточнений: Вадим прав. В 3.11 и последующих в настройке устанавливается ТОЧНОСТЬ представления (углов, координат, отметок), экспорт в DXF идет с количеством знаков представления. Нет, не так просто, это по умолчанию. Экспорт координат и высот в текстовый файл в CREDO_DAT производится по шаблону. Шаблон пользователь может настроить в любом, нужном пользователю, формате (разделители, текстовые вставки, состав экспорта, порядок полей, число значащих цифр, представление формы абсцисс и ординат в зависимости от СК).
2 Петрович. Про настройки шаблонов я в курсе, просто не стал об этом упоминать, так как вопрос не в этом, а в том как файл разделенный запятыми экспортировать в Excel, чтобы значения оказались: каждое в отдельной ячейке... Все равно спасибо за уточнение.\n\n(Добавление) Спасибо, все оказалось просто..)
Добрый вечер, всем. Для тех кто хочет корректно работать со многими программами, в том числе и геодезическими, советую в настройках Windows десятичным разделителем указать точку_десятичную. Избавит от многих проблем, в том числе и от этой. С уважением, Александр.
Не знаю, чей лисп, но очень выручает (defun prc ();Устанавливаем точность округления (setq prec0 (if (null prec) 0 prec)) (if (vl-catch-all-error-p (vl-catch-all-apply '(lambda () (setq prec (vla-getInteger util (strcat "Точноcть округления: <" (itoa prec0) ">? ")))))) (setq prec prec0));if );defun ; (defun c:RndTxt (/ adoc util ass kw) (vl-load-com) (setq adoc (vla-get-ActiveDocument (vlax-get-acad-object)) util (vla-get-utility adoc); утилита выбора ass (vla-get-activeselectionset adoc)); набор (vla-clear ass); очистка набора от прежней грязи (print "\nВыберите текст для округления: ") (vla-SelectOnScreen ass; выбор текстовых объектов (vlax-safearray-fill (vlax-make-safearray vlax-vbinteger '(0 . 0)) '(0)) (vlax-safearray-fill (vlax-make-safearray vlax-vbvariant '(0 . 0)) '("*TEXT"))) (vlax-for txt ass; очистка набора от буквенно-цифровых элементов (if (wcmatch (vla-get-TextString txt) "*@*") (vla-removeItems ass (vlax-make-variant (vlax-safearray-fill (vlax-make-safearray vlax-vbobject '(0 . 0)) (list txt))))));vlax-for (print (strcat "Можно округлить " (itoa (vla-get-count ass)) " чисел")) (vla-InitializeUserInput util 128 "Да Нет") (setq kw (vla-getKeyWord util "Округлять скопом [Да/Нет]: <Да>?")) (if (= kw "") (setq kw "Да")) (vla-StartUndoMark adoc) (if (= kw "Да") (progn (prc) (vlax-for txt ass (vla-put-TextString txt (rtos (atof (vla-get-TextString txt)) 2 prec))));progn (vlax-for txt ass (vla-highlight txt T)(prc) (vla-put-TextString txt (rtos (atof (vla-get-TextString txt)) 2 prec))));if (vla-EndUndoMark adoc) );end Скопировать в блокнот, сохранить как rndtxt.lsp Вызывать через _appload либо ЗАГПРИЛ, можно добавить в автозагрузку. Вызывается командой rndtxt, предварительно нужно выбрать текст, который требуется округлить. Далее вводим параметры округления в диалогах.
Во тему откопали! Поиск рулит?! Ответ прост: Из CREDO DAT делаем экспорт всех точек в формате *TOP (что Вы все и делаете) А вот потом: Заходим в CREDO MIX (отрисовка) Делаем: импорт данных > из файла > формат TOP На экране все ваши точки с подписанными отметками (сами точки с координатами и высотами даны до миллиметра, а подписи отметок - до сантиметра) Далее: Экспорт > рамка > создаём рамку > выделяем рамку > экспорт в DXF Всё