Импорт координат точек из файла съемки тахеометра Trimble M3 в AutoCAD - Страница 2
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Импорт координат точек из файла съемки тахеометра Trimble M3 в AutoCAD

Импорт координат точек из файла съемки тахеометра Trimble M3 в AutoCAD

Ответ
Поиск в этой теме
Непрочитано 24.09.2009, 10:06
Импорт координат точек из файла съемки тахеометра Trimble M3 в AutoCAD
Red Nova
 
ՃԱՐՏԱՐԱԳԵՏ, տ.գ.թ.
 
Торонто
Регистрация: 23.10.2007
Сообщений: 1,990

Купили пару тахеометров Trimble M3 и столкнулись с тем, что нет с ним софта для импорта координат точек в AutoCAD. В сети покопались, вроде есть для этого TGOffice, попробовал, но толку нет, сплошные ошибки выдает.
В таких случаях невольно вспоминается лисп.
Файл данных имеет расширение .raw но открывается в обычном notepad.
Из всего содержимого файла полезная информация, которая подлежит импорту, содержится только в строках начинающихся на “MP,” либо “CO,Pt”. Если строка начинается на что-либо другое, она не нужна. В первом случае данные следует читать так.
Пример:
MP,7,,10.000,10.000,0.000,S
Точка под номером 7, имеет координаты Х: 10 метров У: 10 метров Z: 0 метров
Во втором случае данные следует читать так.
Пример:
CO,Pt:5 X 0.185 m Y -0.057 m Z 0.019 m
Точка под номером 5, имеет координаты Х : 0.185 метров У : -0.057 метров Z : 0.019 метров

Хотелось бы иметь лисп для импорта таких точки в AutoCAD.
Если кто-то откликнется и захочет помочь, то, вот какие есть пожелания:
1. Для строк начинающихся на “MP,” желательно создать слой “Station” (цвет слоя - красный) а для строк начинающихся на “ CO,Pt” – слой “Points” (цвет слоя - синий)
2. Желательно создать слой “Numbers” в котором будут тексты высотой скажем 100 которые будут содержать номера точек (цвет слоя - желтый). Координаты текстов должны совпадать с координатами точек
3. Координаты точек в файле должны быть в миллиметрах, то есть умножаем координаты из исходного файла на 1000.

Вложения
Тип файла: rar example.rar (751 байт, 751 просмотров)

__________________
Блог

Последний раз редактировалось Red Nova, 24.09.2009 в 12:11.
Просмотров: 29230
 
Непрочитано 24.09.2009, 15:24 точки
#21
ALex_123


 
Регистрация: 20.07.2007
Москва
Сообщений: 2


превращаем все в скрипт по расстановке точек, я скидываю сначала в ексель все координаты для получения нужного написания _point X,Y,Z затем блокнот сохроняем в *.scr загружаем в акад и все. Примеры могу скинуть куданибуть. По слоям - просто несколько файлов, в екселе все сортируеться на ура, про умножение, вообще без комментариев. Делаю так, дабы лень придумывать и писать макросы.
Вложения
Тип файла: rar координаты.rar (75.2 Кб, 371 просмотров)

Последний раз редактировалось ALex_123, 24.09.2009 в 15:47.
ALex_123 вне форума  
 
Автор темы   Непрочитано 24.09.2009, 15:29
#22
Red Nova

ՃԱՐՏԱՐԱԳԵՏ, տ.գ.թ.
 
Регистрация: 23.10.2007
Торонто
Сообщений: 1,990
Отправить сообщение для Red Nova с помощью Skype™


kpblc,
Дима_,
VVA,
Коды каждого из вас теперь работают корректно.
Спасибо всем
__________________
Блог
Red Nova вне форума  
 
Непрочитано 24.09.2009, 15:37
#23
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


Цитата:
Сообщение от Red Nova Посмотреть сообщение
kpblc,
Дима_,
VVA,
Коды каждого из вас теперь работают корректно.
Спасибо всем

Ну будет из чего выбрать. Самое интересное если завтра скажешь - ребята Вам всем надо-бы доделать...
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Автор темы   Непрочитано 24.09.2009, 15:46
#24
Red Nova

ՃԱՐՏԱՐԱԳԵՏ, տ.գ.թ.
 
Регистрация: 23.10.2007
Торонто
Сообщений: 1,990
Отправить сообщение для Red Nova с помощью Skype™


Подождем завтрашнего дня. А может и послезавтрашнего. Тахеометры еще толком не обкатали. Так что вопросы возможно еще будут.
__________________
Блог
Red Nova вне форума  
 
Автор темы   Непрочитано 12.05.2011, 14:20
#25
Red Nova

ՃԱՐՏԱՐԱԳԵՏ, տ.գ.թ.
 
Регистрация: 23.10.2007
Торонто
Сообщений: 1,990
Отправить сообщение для Red Nova с помощью Skype™


С успехом использую код от крЫса
Код:
[Выделить все]
 (defun C:trimble (/		      adoc
		  layers	      *error*
		  fun_creale-layer    _kpblc-conv-string-to-list
		  _kpblc-string-replace-noreg
		  file		      handle
		  str		      lst
		 )

  (defun _kpblc-string-replace-noreg (str old new / pos)
    (while
      (and (setq pos (vl-string-search (strcase old) (strcase str)))
	   (not (vl-string-search (strcase new) (strcase str)))
      ) ;_ end of and
       (setq str (strcat (substr str 1 pos)
			 new
			 (_kpblc-string-replace-noreg
			   (substr str (+ (strlen old) pos 1))
			   old
			   new
			 ) ;_ end of _kpblc-string-replace-noreg
		 ) ;_ end of strcat
       ) ;_ end of setq
    ) ;_ end of while
    str
  ) ;_ end of defun

  (defun _kpblc-conv-string-to-list (string separator / i)
    (cond
      ((= string "") nil)
      ((setq i (vl-string-search separator string))
       (cons (substr string 1 i)
	     (_kpblc-conv-string-to-list
	       (substr string (+ (strlen separator) 1 i))
	       separator
	     ) ;_ end of _kpblc-conv-string-to-list
       ) ;_ end of cons
      )
      (t (list string))
    ) ;_ end of cond
  ) ;_ end of defun

  (defun *error* (msg)
    (vl-catch-all-apply (function (lambda () (close handle))))
    (vla-endundomark adoc)
    (princ msg)
    (princ)
  ) ;_ end of defun

  (defun fun_creale-layer (lst / res)
			  ;|
lst :
	'(("name" . <>)
	  ("color" . <>))
|;
    (if	(vl-catch-all-error-p
	  (vl-catch-all-apply
	    (function
	      (lambda ()
		(setq res (vla-item layers (cdr (assoc "name" lst))))
	      )
	    )
	  )
	) ;_ end of vl-catch-all-error-p
      (setq res (vla-add layers (cdr (assoc "name" lst))))
    ) ;_ end of if
    (vla-put-color res (cdr (assoc "color" lst)))
    res
  ) ;_ end of defun

  (vl-load-com)
  (vla-startundomark
    (setq adoc (vla-get-activedocument (vlax-get-acad-object)))
  )
  (if (and (setq file (getfiled "RAW-file" "" "raw" 4))
	   (/= file "")
	   (findfile file)
      ) ;_ end of and
    (progn
      (setq handle (open file "r"))
      (while (setq str (read-line handle))
	(if (wcmatch (strcase str) "MP*,CO*X*Y*Z*")
	  (setq lst (cons str lst))
	) ;_ end of if
      ) ;_ end of while
      (close handle)
      (setq lst	   (reverse lst)
	    layers (vla-get-layers adoc)
      ) ;_ end of setq
      (foreach item '((("name" . "Station") ("color" . 1))
		      (("name" . "Points") ("color" . 5))
		      (("name" . "Numbers") ("color" . 2))
		     )
	(fun_creale-layer item)
      ) ;_ end of foreach
      (foreach item lst
	(setq
	  str (mapcar
		(function
		  (lambda (x)
		    (if	(= (itoa (atoi x)) x)
		      x
		      (* (atof x) 1000.)
		    ) ;_ end of if
		  ) ;_ end of lambda
		) ;_ end of function
		(vl-remove-if-not
		  (function
		    (lambda (x)
		      (wcmatch x "*[0-9]*")
		    ) ;_ end of lambda
		  ) ;_ end of function
		  (cond
		    ((wcmatch (strcase item) "CO*")
		     (apply
		       (function append)
		       (mapcar
			 (function
			   (lambda (x)
			     (_kpblc-conv-string-to-list x ":")
			   )
			 ) ;_ end of function
			 (_kpblc-conv-string-to-list item " ")
		       ) ;_ end of mapcar
		     ) ;_ end of apply
		    )
		    ((wcmatch (strcase item) "MP*")
		     (_kpblc-conv-string-to-list item ",")
		    )
		  ) ;_ end of cond
		) ;_ end of vl-remove-if-not
	      ) ;_ end of mapcar
	) ;_ end of setq
	(entmakex (list	'(0 . "POINT")
			(cons 8
			      (if
				(wcmatch item "MP*")
				 "Station"
				 "Points"
			      ) ;_ end of if
			) ;_ end of cons
			(cons 10 (cdr str))
		  ) ;_ end of list
	) ;_ end of entmakex
	(entmakex (list	'(0 . "TEXT")
			'(100 . "AcDbEntity")
			'(100 . "AcDbText")
			(cons 10 (cdr str))
			(cons 1 (car str))
			(cons 40 100) ;_A^u^n~i^o`a`
			(cons 7 (getvar "TEXTSTYLE"))
			(cons 72 0)
			(cons 50 0)
			(cons 11 (cdr str))
			(cons 8 "Numbers")
		  ) ;_ end of list
	) ;_ end of entmakex
      ) ;_ end of foreach
    ) ;_ end of progn
  ) ;_ end of if
  (vla-endundomark adoc)
  (princ)
) ;_ end of defun
Возникла потребность кое-что добавить.
Иногда используем тахеометр для построения топографического плана. Пробовал использовать программы для автоматической генерации линий рельефа из точек, но качество так и не получил, так что горизонтали чертим сами.
При этом постоянно нужно лазить в свойства точкам чтобы посмотреть координату Z. Прошу дописать лисп чтобы кроме уже создающихся слоев создавался еще один, по имени "Elivation", и в этом слое вставить в чертеж координату Z для каждой точки, с ее же координатами (желательно justify "top left" чтобы избежать накладки на слой "Numbers").
Red Nova вне форума  
 
Непрочитано 12.05.2011, 14:51
#26
mamuk


 
Регистрация: 06.05.2010
Сургут
Сообщений: 248


как же уравнивание хода? это относительно получения координат сразу из тахемоетра.
какие программы исползовали для постороения рельефа?
mamuk вне форума  
 
Автор темы   Непрочитано 12.05.2011, 15:02
#27
Red Nova

ՃԱՐՏԱՐԱԳԵՏ, տ.գ.թ.
 
Регистрация: 23.10.2007
Торонто
Сообщений: 1,990
Отправить сообщение для Red Nova с помощью Skype™


mamuk
Цитата:
как же уравнивание хода? это относительно получения координат сразу из тахемоетра.
А что это за зверь и с чем его едят вообще ))?
Мы используем тахеометр далеко не в весь функционал. В основном измеряем отклонения при постройке башен для контроля. Раз в год делаем топо, так что многого могу тут не знать
Цитата:
какие программы исползовали для постороения рельефа?
Самое удачное и единственное что запомнил это Rmaster.
Red Nova вне форума  
 
Непрочитано 12.05.2011, 15:31
#28
mamuk


 
Регистрация: 06.05.2010
Сургут
Сообщений: 248


если делаете съемку, то прокладываете теодолитный ход, необходимо определить невязки в ходу по углам и расстояниям если невязки в допуске то раскидываем ошибки по измерениям и считаем координаты хода. это обобщенно. Суть в том что бы получить коодинаты с которых можно вести съемку и уравнивание хода дает нам понять в допуске наши измерения или нет,если нет то в поле перемерять. http://www.drillings.ru/teodolithod?razdel=1&object=0
mamuk вне форума  
 
Автор темы   Непрочитано 12.05.2011, 15:38
#29
Red Nova

ՃԱՐՏԱՐԱԳԵՏ, տ.գ.թ.
 
Регистрация: 23.10.2007
Торонто
Сообщений: 1,990
Отправить сообщение для Red Nova с помощью Skype™


Припоминаю курс геодезии ). Но у нас в основном с одной точки измерения. Станцию редко двигаем.
Red Nova вне форума  
 
Непрочитано 15.05.2011, 15:16
#30
Victor


 
Регистрация: 14.06.2009
Бат-Ям
Сообщений: 295


Пузырёк на середину научились выводить? Башни не попадают?
Victor вне форума  
 
Автор темы   Непрочитано 15.05.2011, 15:21
#31
Red Nova

ՃԱՐՏԱՐԱԳԵՏ, տ.գ.թ.
 
Регистрация: 23.10.2007
Торонто
Сообщений: 1,990
Отправить сообщение для Red Nova с помощью Skype™


)) Ты видно больно умный...
Red Nova вне форума  
 
Непрочитано 16.05.2011, 23:19
#32
Victor


 
Регистрация: 14.06.2009
Бат-Ям
Сообщений: 295


Ну я там про отрицательные координаты почитал. Некоторые сомнения появились. А про колимацию, место зенита, наклон горизонтальной оси - слышали что нибудь?
Victor вне форума  
 
Непрочитано 17.05.2011, 03:15
#33
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,449


Offtop:
Цитата:
Сообщение от Victor Посмотреть сообщение
А про колимацию, место зенита, наклон горизонтальной оси
А это не матюк?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 17.05.2011, 16:46
#34
Red Nova

ՃԱՐՏԱՐԱԳԵՏ, տ.գ.թ.
 
Регистрация: 23.10.2007
Торонто
Сообщений: 1,990
Отправить сообщение для Red Nova с помощью Skype™


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

Последний раз редактировалось Red Nova, 17.05.2011 в 17:25.
Red Nova вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Импорт координат точек из файла съемки тахеометра Trimble M3 в AutoCAD



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Информация по идентификационным кодам программ в сетевых лицензиях Autodesk KSI AutoCAD 1 14.09.2009 15:59
Импорт точек из файла .job & .are G-RAV Программирование 34 20.08.2009 08:20
Импорт координат чертежа в AutoCAD Wer666 Программирование 3 15.01.2009 11:21
Импорт точек Сьемочного обоснования в AutoCAD Xamas_DZK AutoCAD 1 05.11.2007 03:24
Помощь по Лире Серега М Лира / Лира-САПР 52 28.05.2007 02:47