Как изменить масштаб VIEWPORT'а?
Реклама i
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как изменить масштаб VIEWPORT'а?

Как изменить масштаб VIEWPORT'а?

Ответ
Поиск в этой теме
Непрочитано 31.08.2005, 17:30 #1
Как изменить масштаб VIEWPORT'а?
===AAA===
 
г. Норильск
Регистрация: 15.08.2005
Сообщений: 627

Всем привет!

Подскажите, плиз, как изменить масштаб VIEWPORT'а, тот
самый, что влияет на группу 45 в списке VIEWPORT.

((-1 . <Имя объекта: 40087638>) (0 . "VIEWPORT") (330 . <Имя объекта: 4007bca0>)
(5 . "6CCF") (100 . "AcDbEntity") (67 . 1) (410 . "ОА-ВЫПУСК") (8 . "0")
(100 . "AcDbViewport") (10 408.5 285.0 0.0) (40 . 817.0) (41 . 570.0)
(68 . 2) (69 . 2) (12 408.5 285.0 0.0) (13 0.0 0.0 0.0) (14 1.0 1.0 0.0)
(15 5.0 5.0 0.0) (16 0.0 0.0 1.0) (17 0.0 0.0 0.0) (42 . 50.0) (43 . 0.0) (44 . 0.0)
(45 . 700) (50 . 0.0) (51 . 0.0) (72 . 100) (90 . 33568) (281 . 0) (71 . 1) (74 . 0)
(110 0.0 0.0 0.0) (111 1.0 0.0 0.0) (112 0.0 1.0 0.0) (79 . 0) (146 . 0.0))

Классическим ЛИСПом не получается. :-(

И еще, если кто знает, где можно посмотреть расшифровку
всех указанных выше групп для VIEWPORT'а? Некоторые
понятны, некоторые - нет.
__________________
Счастливо, Алексей!
Просмотров: 5372
 
Непрочитано 31.08.2005, 19:33 Re: Как изменить масштаб VIEWPORT'а?
#2
fixo

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


Цитата:
Сообщение от ===AAA===
Всем привет!

Подскажите, плиз, как изменить масштаб VIEWPORT'а, тот
самый, что влияет на группу 45 в списке VIEWPORT.
Попробуй, сам проверить не могу
Код:
[Выделить все]
(defun scale-vport (vp_ent / axvp new_scale )
  (vl-load-com)
  (setq NEW_SCALE (getreal "\nНовый масштаб :\n"))
  (setq axvp (vlax-ename->vla-object vp_ent))
  (if (vlax-property-available-p axvp 'Customscale)
    (progn
      (vlax-put-property axvp 'Customscale NEW_SCALE)
      (vla-update axvp)
      (if (not (vlax-object-released-p axvp))
	(vlax-release-object axvp)
      )
    )
  )
  (vla-regen
    (vla-get-activedocument
      (vlax-get-acad-object)
    )
    acallviewports
  )
  (princ)
)
;CaLL: (scale-vport <viewport_entity>)
fixo вне форума  
 
Автор темы   Непрочитано 01.09.2005, 06:07
#3
===AAA===


 
Регистрация: 15.08.2005
г. Норильск
Сообщений: 627


Привет!

Спасибо, попробую.
__________________
Счастливо, Алексей!
===AAA=== вне форума  
 
Непрочитано 01.09.2005, 10:59 Re: Как изменить масштаб VIEWPORT'а?
#4
AY

webcad.pro
 
Регистрация: 06.01.2005
Московская обл.
Сообщений: 501


Цитата:
Сообщение от ===AAA===
Всем привет!
И еще, если кто знает, где можно посмотреть расшифровку
всех указанных выше групп для VIEWPORT'а? Некоторые
понятны, некоторые - нет.
Файл справки acad_dxf.chm далее в "ENTITIES Section" искать VIEWPORT.
AY вне форума  
 
Автор темы   Непрочитано 01.09.2005, 19:10
#5
===AAA===


 
Регистрация: 15.08.2005
г. Норильск
Сообщений: 627


Привет!

Кстати, получилось и "классическим" ЛИСПом.
Оказалось, достаточно войти в VIEWPORT и
дать команду (command "_.zoom" X), где
Х - нужный масштаб. :-)
__________________
Счастливо, Алексей!
===AAA=== вне форума  
 
Непрочитано 02.09.2005, 03:47
#6
Лентяй

Project Engineer
 
Регистрация: 05.01.2005
Лос Анджелес
Сообщений: 1,392


Цитата:
Кстати, получилось и "классическим" ЛИСПом.
А если совсем просто и незатейливо, без мудрежа и выпендривания?- Properties->Select нужный viewport-> Standard Scale/Custom Scale и будет вам щастье?
Лентяй вне форума  
 
Автор темы   Непрочитано 02.09.2005, 05:18
#7
===AAA===


 
Регистрация: 15.08.2005
г. Норильск
Сообщений: 627


Привет!

> А если совсем просто и незатейливо... ....и будет вам щастье?

Увы, не будет. Действие должно производиться автоматом,
без вмешательства пользователя, в цикле, обрабатывающем
множество файлов.

Разумеется, там много чего еще производится, замена
масштаба - лишь малая часть. Да и она выполняется лишь
при определенных условиях.
__________________
Счастливо, Алексей!
===AAA=== вне форума  
 
Непрочитано 02.09.2005, 12:34
#8
Лентяй

Project Engineer
 
Регистрация: 05.01.2005
Лос Анджелес
Сообщений: 1,392


Цитата:
Действие должно производиться автоматом,
без вмешательства пользователя, в цикле, обрабатывающем
множество файлов.
Сразу такое говорить надо, партизан вы наш конспиративеый! Ловите идею
Код:
[Выделить все]
(defun VPC (new_scale)
  (vlax-for doc (vla-get-documents (vlax-get-acad-object))
    (vlax-for vpt (vla-get-PaperSpace doc)
      (if (= (vla-get-ObjectName vpt) "AcDbViewport")
        (progn (vla-put-CustomScale vpt new_scale) (vla-update vpt))
      )
   )
)
Не проверял, но должно работать.
Лентяй вне форума  
 
Автор темы   Непрочитано 02.09.2005, 14:42
#9
===AAA===


 
Регистрация: 15.08.2005
г. Норильск
Сообщений: 627


Привет!

Спасибо, попробую...
__________________
Счастливо, Алексей!
===AAA=== вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как изменить масштаб VIEWPORT'а?