Здрасте! Уважаемые, подскажите разгильдяю: делаю съемку в МСК-50-2 и импортирую ее точками COGO в цивил в специально обученный файлик, в котором в качестве Мировой СК таки является моя МСК-50-2, а еще есть ПСК, развернутая по осям. Так вот, я импортирую точки, переключаюсь в ПСК и все, казалось бы, должно быть хорошо, но маркера точек остаются горизонтально относительно МСК. Так вот, вопрос: как это дело провернуть, чтоб маркер точки поворачивался горизонтально относительно ПСК?..
Насколько я понимаю, это только руками в настройках стиля маркера. Нужно будет задать угол поворота в градусах. --- Сообщения объединены, 14 мар 2016, Оригинальное время сообщения: 14 мар 2016 --- Или же в свойствах точки поворот маркера.
Можно в свойствах "Стиля метки точки" на вкладке "Общие" установить в поле "Координаты начального положения" значение "Вид".
SBA, круто, то что нужно, спасибо! А можно сделать также, но для разворота "на бок"? т.е. в виде сверху оно вертится и становится горизонтально относительно вида, а если сделать вид "справа", к примеру, оно не вертится. можно так сделать или нет? Спасибо еще раз.
А вот так маркер. --- Сообщения объединены, 14 мар 2016, Оригинальное время сообщения: 14 мар 2016 --- Теперь я всё знаю )
как вариант... Код: ; ---------------------------------------------------------------------------------------------------------------------------------------------- (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 ; ----------------------------------------------------------------------------------------------------------------------------------------------
Помогите пожалуйста, возникла следующая проблема. При загрузке точек из прибора в компьютер (Автокад 2017) Точки превращаются в линии. Работаю в системе ПСК и точки после съемки естественно тоже в ПСК т.е... три знака перед запятой и три после. Скажите кто знает, в чем дело?