Как пересчитать координаты полилинии выбранной nentsel в МСК
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как пересчитать координаты полилинии выбранной nentsel в МСК

Как пересчитать координаты полилинии выбранной nentsel в МСК

Ответ
Поиск в этой теме
Непрочитано 29.07.2005, 19:29 #1
Как пересчитать координаты полилинии выбранной nentsel в МСК
kp+
 
идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,174

Как пересчитать координаты полилинии, входящей в блок и выбранной командой nentsel, в МСК?
Просмотров: 3933
 
Непрочитано 29.07.2005, 20:49
#2
fixo

Lisp/VBA/VB.NET Hobbyist
 
Регистрация: 24.03.2005
Славен Град Петров
Сообщений: 367


Спробуй:
Код:
[Выделить все]
(defun get-wcs-coords (/ coords pline pt_list)
(setq pline (vlax-ename->vla-object (car (nentsel))))
(if (wcmatch (vla-get-objectname pline)
	       "AcDbPolyline,AcDb2dPolyline,AcDb3dPolyline,AcDbLeader")
  (progn
  (setq coords (vlax-get pline 'Coordinates))
  (if (eq (vla-get-objectname pline) "AcDbPolyline")
    (progn
          (repeat (/ (length coords) 2)
            (setq pt_list (cons (list (car coords) (cadr coords)) pt_list))
            (setq coords (cddr coords))
          )
        )
        (progn
          (repeat (/ (length coords) 3)
            (setq pt_list (cons (list (car coords) (cadr coords) (caddr coords)) pt_list))
            (setq coords (cdddr coords))
          )
        )
      )
    (setq pt_list (mapcar (function (lambda (x)
				   (trans x 1 0)))
		       (reverse pt_list)))
  )
  )
  )
;CaLL:(get-wcs-coords)
fixo вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как пересчитать координаты полилинии выбранной nentsel в МСК