> 1 <

Автор Сообщение

flaojke

Members


Статус

4 сообщений

Где: Russia
Род занятий: flaojke
Возраст: 23

#7318   2014-03-24 16:53 GMT+3 часа(ов)      
Есть примитив, у которого в DXF кодах несколько раз встречаются координаты. Как получить координаты второй точки? Никак не могу заставить его выбирать не первый набор а любой другой.

((-1 . <Entity name: 7ffff94d580>) (0 . "LWPOLYLINE") (330 .
<Entity name: 7ffff9279f0>) (5 . "25528") (100 . "AcDbEntity") (67 . 0) (410 .
"Model") (8 . "Искусственные_формы_рельефа") (6 . "366") (100 . "AcDbPolyline")
(90 . 32) (70 . 12 (43 . 0.0) (38 . 0.0) (39 . 0.0) (10 131437.0 160020.0)
(40 . 0.0) (41 . 0.0) (42 . 0.0) (91 . 0) (10 131433.0 160028.0) (40 . 0.0) (41
. 0.0) (42 . 0.0) (91 . 0) (10 131424.0 160034.0) (40 . 0.0) (41 . 0.0) (42 .
0.0) (91 . 0) (10 131416.0 160041.0) (40 . 0.0) (41 . 0.0) (42 . 0.0) (91 . 0)
(10 131407.0 160048.0) (40 . 0.0) (41 . 0.0) (42 . 0.0) (91 . 0) (10 131399.0
160055.0)
(40 . 0.0) (41 . 0.0) (42 . 0.0) (91 . 0)


(setq prim (nth 0 (entsel "Выберите полилинию")))
(setq dxf (ENTGET prim))
 
(setq begcord (assoc 10 dxf)) ;получение координат первой точки
(setq begxcord (nth 1 begcord))
(setq begycord (nth 2 begcord))
 
(setq endcord (assoc 10 dxf)) ;получение координат второй точки
(setq endxcord (nth 1 endcord))
(setq endycord (nth 2 endcord))

gomer

Members


Статус

23 сообщений

Где: Ukraine
Род занятий:
Возраст:

#7319   2014-03-25 01:08 GMT+3 часа(ов)      
(defun massoc (key lst / asc res)
(foreach & lst
(if (= key (car &))
(setq res (cons (cdr &) res))
)
(setq lst (cdr lst))
)
(reverse res)
)
(setq p2
;; Нумерация элементов списка начинается с нуля,
;; нумерация точек полилинии - с единицы
(nth (1- 2)
(massoc (entget (car (entsel "\nВыберите полилинию: "))))))
 

flaojke

Members


Статус

4 сообщений

Где: Russia
Род занятий: flaojke
Возраст: 23

#7324   2014-03-27 20:56 GMT+3 часа(ов)      
Большое спасибо!
> 1 <


Онлайн :

0 пользователь(ей), 8 гость(ей) :




Реклама на сайте: