1. ВНИМАНИЕ! В течении пары дней +- будет переезд форума на более защищённый сервер. Возможны перебои в работе.
    Скрыть объявление

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

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

  1. А. Римский

    А. Римский Форумчанин

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

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

    Steinar Форумчанин

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

    SBA Форумчанин

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

    А. Римский Форумчанин

    SBA, круто, то что нужно, спасибо! А можно сделать также, но для разворота "на бок"? т.е. в виде сверху оно вертится и становится горизонтально относительно вида, а если сделать вид "справа", к примеру, оно не вертится. можно так сделать или нет? Спасибо еще раз.
     
  5. Steinar

    Steinar Форумчанин

    Так это метка же, а не маркер.
     
  6. А. Римский

    А. Римский Форумчанин

    Виноват, речь таки про метку шла =)
     
  7. Steinar

    Steinar Форумчанин

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

    А. Римский Форумчанин

    Вопрос все еще открыт =)

     
  9. barabashkasathalex

    barabashkasathalex Форумчанин

    как вариант...
    Код:
     
    ; ----------------------------------------------------------------------------------------------------------------------------------------------
    (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 КБ
      Просмотров:
      55
  10. Помогите пожалуйста, возникла следующая проблема. При загрузке точек из прибора в компьютер (Автокад 2017) Точки превращаются в линии. Работаю в системе ПСК и точки после съемки естественно тоже в ПСК т.е... три знака перед запятой и три после. Скажите кто знает, в чем дело?
     
  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление
  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление