Добро пожаловать!

Войдите или зарегистрируйтесь сейчас!

Войти

Разворот точек СOGO в ПСК

Тема в разделе "Civil 3D", создана пользователем А. Римский, 14 мар 2016.

  1. А. Римский

    Форумчанин

    Регистрация:
    26 июн 2013
    Сообщения:
    123
    Симпатии:
    20
    Здрасте! Уважаемые, подскажите разгильдяю: делаю съемку в МСК-50-2 и импортирую ее точками COGO в цивил в специально обученный файлик, в котором в качестве Мировой СК таки является моя МСК-50-2, а еще есть ПСК, развернутая по осям. Так вот, я импортирую точки, переключаюсь в ПСК и все, казалось бы, должно быть хорошо, но маркера точек остаются горизонтально относительно МСК.

    Так вот, вопрос: как это дело провернуть, чтоб маркер точки поворачивался горизонтально относительно ПСК?..
     
    #1
  2. Steinar

    Форумчанин

    Регистрация:
    30 авг 2012
    Сообщения:
    699
    Симпатии:
    496
    Адрес:
    Асгардия
    Насколько я понимаю, это только руками в настройках стиля маркера.
    Нужно будет задать угол поворота в градусах.
    --- Сообщения объединены, 14 мар 2016, Оригинальное время сообщения: 14 мар 2016 ---
    Или же в свойствах точки поворот маркера.
     
    #2
  3. SBA

    SBA
    Форумчанин

    Регистрация:
    8 сен 2012
    Сообщения:
    37
    Симпатии:
    30
    Адрес:
    Тверь
    Можно в свойствах "Стиля метки точки" на вкладке "Общие" установить в поле "Координаты начального положения" значение "Вид".
    Безымянный.png
     
    #3
    lvg84, Grandpa, Qvinto и 3 другим нравится это.
  4. А. Римский

    Форумчанин

    Регистрация:
    26 июн 2013
    Сообщения:
    123
    Симпатии:
    20
    SBA, круто, то что нужно, спасибо! А можно сделать также, но для разворота "на бок"? т.е. в виде сверху оно вертится и становится горизонтально относительно вида, а если сделать вид "справа", к примеру, оно не вертится. можно так сделать или нет? Спасибо еще раз.
     
    #4
  5. Steinar

    Форумчанин

    Регистрация:
    30 авг 2012
    Сообщения:
    699
    Симпатии:
    496
    Адрес:
    Асгардия
    Так это метка же, а не маркер.
     
    #5
  6. А. Римский

    Форумчанин

    Регистрация:
    26 июн 2013
    Сообщения:
    123
    Симпатии:
    20
    Виноват, речь таки про метку шла =)
     
    #6
  7. Steinar

    Форумчанин

    Регистрация:
    30 авг 2012
    Сообщения:
    699
    Симпатии:
    496
    Адрес:
    Асгардия
    А вот так маркер.
    Буфер обмена01.jpg
    --- Сообщения объединены, 14 мар 2016, Оригинальное время сообщения: 14 мар 2016 ---
    Теперь я всё знаю )
     
    #7
    Grandpa, -=13=- и А. Римский нравится это.
  8. А. Римский

    Форумчанин

    Регистрация:
    26 июн 2013
    Сообщения:
    123
    Симпатии:
    20
    Вопрос все еще открыт =)

     
    #8
  9. barabashkasathalex

    Форумчанин

    Регистрация:
    12 мар 2013
    Сообщения:
    578
    Симпатии:
    1.208
    Адрес:
    г. Санкт-Петербург
    как вариант...
    Код:
     
    ; ----------------------------------------------------------------------------------------------------------------------------------------------
    (vl-load-com)
    (defun c:Align-Point-by-Way( / )
      ((lambda(main_put)
    	 (if (= (type main_put) 'ENAME)
    	   ((lambda(lst_points)
      (if lst_points
    	(foreach point lst_points
    	  ((lambda(point_on_curve)
     (if point_on_curve
       ((lambda(ang)
    	  (if (and ang
    	   (not (vl-catch-all-error-p ang))
    	   )
    (progn
      (vlax-put-property point 'Rotation ang)
      (vlax-put-property point 'LabelRotation ang)
      )
    )
    	  )
    	 (_tdg-get-reanim_ang_rad main_put point_on_curve 0)
    	 )
       )
     )
    (vlax-curve-getClosestPointTo main_put (vlax-safearray->list (vlax-variant-value (vlax-get-property point 'Location))))
    )
    	  )
    	)
      )
     (get-list-point)
     )
    	   )
    	 )
    	(_tdg-get-object-byselect "\nУкажите полилинию: " '("LWPOLYLINE" "POLYLINE" "AECC_ALIGNMENT") nil)
    	)
    ); end c:Align-Point-by-Way
    ; ----------------------------------------------------------------------------------------------------------------------------------------------
     
    ; ----------------------------------------------------------------------------------------------------------------------------------------------
    (defun _tdg-get-object-byselect(message filter lock_enter / return)
      ((lambda(errnovar)
    	 (setvar "errno" 0)
    	 (while (not (setq return ((lambda(obj)
    								 (if (not (vl-catch-all-error-p obj))
    								   (if obj
    									 (if filter
    									   (if (member (strcase (cdr (assoc 0 (entget (car obj))))) (mapcar 'strcase filter))
    										 (car obj)
    										 )
    									   (car obj)
    									   )
    									 (if (and (not lock_enter) (= (getvar "errno") 52))
    									   0
    									   )
    									 )
    								   1
    								   )
    								 )
    								(vl-catch-all-apply 'entsel
    													(list (strcat "\n" message))
    													)
    								)
    					   )
    				 )
    	   )
    	 (setvar "errno" errnovar)
    	 return
    	 )
    	(getvar 'errno)
    	)
      ); end _tdg-get-object-byselect
    ; ----------------------------------------------------------------------------------------------------------------------------------------------
     
    ; ----------------------------------------------------------------------------------------------------------------------------------------------
    (defun _tdg-get-reanim_ang_rad(obj point ang / )
      (vl-catch-all-apply
    	(function
    	  (lambda()
    		(+ (angle '(0.0 0.0 0.0)
    				  (vlax-curve-getFirstDeriv obj
    											(vlax-curve-getParamAtPoint obj
    																		(vlax-curve-getClosestPointTo obj point)
    																		)
    											)
    				  )
    		   ang
    		   )
    		)
    	  )
    	)
      ); end _tdg-get-reanim_ang_rad
    ; ----------------------------------------------------------------------------------------------------------------------------------------------
     
    ; ----------------------------------------------------------------------------------------------------------------------------------------------
    (defun get-list-point( / nomutt)
      ((lambda(nbr_select_point)
    	 (setvar 'nomutt nomutt)
    	 ((lambda(nbr)
    (if nbr
      (mapcar 'vlax-ename->vla-object (vl-remove-if 'listp (mapcar 'cadr (ssnamex nbr))))
      )
    )
    	   (if nbr_select_point
     nbr_select_point
     (ssget "_X" '((0 . "AECC_COGO_POINT")))
     )
    	   )
    	 )
    	(progn
    	  (prompt "\nВыберете точки <Все>: ")
    	  (setq nomutt (getvar 'nomutt))
    	  (setvar 'nomutt 1)
    	  (vl-catch-all-apply 'ssget
    (list '((0 . "AECC_COGO_POINT")))
    )
    	  )
    	)
      ); end get-list-point
    ; ----------------------------------------------------------------------------------------------------------------------------------------------
     
    
     

    Вложения:

    • 1.jpg
      1.jpg
      Размер файла:
      113,4 КБ
      Просмотров:
      47
    #9
  10. DerGolem

    Регистрация:
    23 мар 2019
    Сообщения:
    8
    Симпатии:
    0
    Помогите пожалуйста, возникла следующая проблема. При загрузке точек из прибора в компьютер (Автокад 2017) Точки превращаются в линии. Работаю в системе ПСК и точки после съемки естественно тоже в ПСК т.е... три знака перед запятой и три после. Скажите кто знает, в чем дело?
     
    #10

Поделиться этой страницей

  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление