Тема: Как извлечь размеры вставленного растра?

Команда _List(Список)вычисляет координаты подрезки, Свойства содержат ширину и высоту растра. Какой командой извлечь и как перевести в мм размеры растра, если извлечь в пикселях?

Re: Как извлечь размеры вставленного растра?

Уточняю:как получить координаты точек контура, если известна первая точка контура  (10 43.5418 32.9258 0.0), размер изображения в пикселах (13 2488.0 3517.0 0.0).
Команда: _list
найдено: 1
                  IMAGE     Слой: "Растр"
                            Пространство: Пространство листа
                           Лист: Лист2
                   Метка = 2239
Изображение:
Г_1_000_0855-0532_04_000-ПС_ТЗ_страница_01_изображение_0001
Вставка:         X=   43.542,  Y=   32.926,  Z=    0.000
Масштаб:             1.000
Угол поворота:    0d0'0"
Яркость:        50
Контрастность:          50
Слияние с фоном:              0
Показывать изображение:        Да
Показывать неортогональные:    Да
Прозрачность:      Откл
Подрезка:          Вкл
Тип контура подрезки: Прямоугольный
Число точек контура: 4
       в точке, X=   43.542,  Y=   32.926,  Z=    0.000
       в точке, X=   43.542,  Y=  330.698,  Z=    0.000
       в точке, X=  254.192,  Y=  330.698,  Z=    0.000
       в точке, X=  254.192,  Y=   32.926,  Z=    0.000
Команда: (entget(car(entsel)))
Выберите объект: ((-1 . <Entity name: 7efdbd88>) (0 . "IMAGE") (330 . <Entity
name: 7efdb518>) (5 . "2239") (100 . "AcDbEntity") (67 . 1) (410 . "Лист2") (8
. "Растр") (100 . "AcDbRasterImage") (90 . 0)  (10 43.5418 32.9258 0.0) (11
0.0846667 0.0 0.0) (12 5.18417e-018 0.0846667 0.0) (13 2488.0 3517.0 0.0) (340
. <Entity name: 7efdba88>) (70 . 7) (280 . 0) (281 . 50) (282 . 50) (283 . 0)
(360 . <Entity name: 7efdbd80>) (71 . 1) (91 . 2) (14 -0.5 -0.5 0.0) (14 2487.5
3516.5 0.0))
Справка по DXF:
100
Subclass marker (AcDbRasterImage)
90
Class version
10
Insertion point (in WCS)
DXF: X value; APP: 3D point
20, 30
DXF: Y and Z values of insertion point (in WCS)
11
U-vector of a single pixel (points along the visual bottom of the image, starting at the insertion point) (in WCS)
DXF: X value; APP: 3D point
21, 31
DXF: Y and Z values U-vector (in WCS)
12
V-vector of a single pixel (points along the visual left side of the image, starting at the insertion point) (in WCS)
DXF: X value; APP: 3D point
22, 32
DXF: Y and Z values of V-vector (in WCS)
13
Image size in pixels
DXF: U value; APP: 2D point (U and V values)
23
DXF: V value of image size in pixels
340
Hard reference to imagedef object
70
Image display properties:
1 = Show image
2 = Show image when not aligned with screen
4 = Use clipping boundary
8 = Transparency is on
280
Clipping state: 0 = Off; 1 = On
281
Brightness value (0-100; default = 50)
282
Contrast value (0-100; default = 50)
283
Fade value (0-100; default = 0)
360
Hard reference to imagedef_reactor object
71
Clipping boundary type. 1 = Rectangular; 2 = Polygonal
91
Number of clip boundary vertices that follow
14
Clip boundary vertex (in OCS)
DXF: X value; APP: 2D point (multiple entries)
NOTE 1) For rectangular clip boundary type, two opposite corners must be specified. Default is (–0.5,–0.5), (size.x–0.5, size.y–0.5). 2) For polygonal clip boundary type, three or more vertices must be specified. Polygonal vertices must be listed sequentially
24
DXF: Y value of clip boundary vertex (in OCS) (multiple entries)

Re: Как извлечь размеры вставленного растра?

В простейшем варианте, как-то так:

(defun demo (/ rstr orgn angl p1 p2 hght)
  (if (and (setq rstr (entsel))
           (= "AcDbRasterImage"
              (vla-get-ObjectName (setq rstr (vlax-ename->vla-object (car rstr))))
           )
      )
    (list
      (setq orgn (vlax-safearray->list (vlax-variant-value (vla-get-Origin rstr))))
      (setq p1 (polar orgn (setq angl (vla-get-Rotation rstr)) (vla-get-ImageWidth rstr)))
      (setq
        p2 (polar p1 (setq angl (+ angl (/ pi 2))) (setq hght (vla-get-ImageHeight rstr)))
      )
      (polar orgn angl hght)
    )
    (alert "Это не растр!")
  )
)

Re: Как извлечь размеры вставленного растра?

Спасибо, то, что нужно