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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как вернуть "видимость" рамки PViewPort?

Как вернуть "видимость" рамки PViewPort?

Ответ
Поиск в этой теме
Непрочитано 21.11.2007, 12:55 #1
Как вернуть "видимость" рамки PViewPort?
PiP
 
программист
 
СПб
Регистрация: 06.06.2005
Сообщений: 44

Сделал из под VBA рамку нового видового экрана в пространстве листа (PViewPort) невидимой:
newVport.Visible = False ' ура! Но - как её (рамку PViewPort) теперь пользователь AutoCAD может "достать"?
Мышкой этот PViewPort не выбирается, в Properties (Ctrl+1) по ViewPort - не удается найти реквизита Visible - да и "обнаружить" оный видовой экран смог только через Quick Select...
Нашёл на форуме предложения "прятать" рамку PViewPort другими методами, но вопрос - остался:

Можно ли до рамки этого newVport.Visible=False добраться в AutoCAD-e "в ручную"?
Просмотров: 4200
 
Автор темы   Непрочитано 21.11.2007, 17:44
#2
PiP

программист
 
Регистрация: 06.06.2005
СПб
Сообщений: 44
<phrase 1=


Для облегчения понимания моего вопроса и проверки - прилагаю архив vba-2.rar в котором:
Вопрос2_по_VBA.dwg - ну это для затравки.
Вопрос2_по_VBA.bas - текст на VBA. В нем сейчас стоит newVport.Visible = True ' это делает рамку PViewPort видимой и "доставабельной", прогони для проверки! А потом измени на newVport.Visible = False и - еще раз: рамки видового экрана PViewPort в AutoCAD-е на newLayout нет и не могу её "достать"...
Вложения
Тип файла: rar vba-2.rar (9.3 Кб, 73 просмотров)
PiP вне форума  
 
Непрочитано 21.11.2007, 18:21
#3
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,411


Без скачивания и запуска: попробуй Ctrl+R
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 21.11.2007, 18:48
#4
Alaspher


 
Регистрация: 11.10.2004
e•burg
Сообщений: 755


Руками - не знаю, а программно, на лиспе, так можно вернуть видимость всем примитивам чертежа:
Код:
[Выделить все]
(vl-load-com)
(defun pl:unhideall (/ doc sel lays lay lock freeze)
  (setq doc  (vla-get-activedocument (vlax-get-acad-object))
        sel  (vla-get-activeselectionset doc)
        lays (vla-get-layers doc)
  )
  (vla-select sel acselectionsetall)
  (if (not (zerop (vla-get-count sel)))
    (progn
      (vlax-for x sel
        (if
          (vl-catch-all-error-p (vl-catch-all-apply 'vla-put-visible (list x :vlax-true)))
           (progn (setq lay (vla-item lays (vla-get-layer x)))
                  (if (vla-get-freeze lay)
                    (progn (vla-put-freeze lay :vlax-false) (setq freeze (cons lay freeze)))
                  )
                  (if (vla-get-lock lay)
                    (progn (vla-put-lock lay :vlax-false) (setq lock (cons lay lock)))
                  )
                  (vl-catch-all-apply 'vla-put-visible (list x :vlax-true))
           )
        )
      )
      (foreach x freeze (vla-put-freeze x :vlax-true))
      (foreach x lock (vla-put-lock x :vlax-true))
      (vla-clear sel)
    )
  )
)
(pl:unhideall)
Alaspher вне форума  
 
Непрочитано 22.11.2007, 09:23
#5
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


Я не совсем понимаю зачем "прятать" рамку вьюпорта с помощью visible? Если рамка должна быть невидна, то создай для нее слой и выключи его. Хотя я предпочитаю ее видеть, а чтобы не печаталась делаю непечатаемым слой.
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Автор темы   Непрочитано 22.11.2007, 10:16
#6
PiP

программист
 
Регистрация: 06.06.2005
СПб
Сообщений: 44
<phrase 1=


Спасибо!

Кулик Алексей aka kpblc, - Ctrl+R - увы, не помогает. Вроде это для переключения между viewport при мультипортовом режиме.

Alaspher, - спасибо, лисп- for ever! :-) ! Как это сделать в рамках VBA (который нынче изучаю) - уже тоже знаю, но хотелось как раз руками.

VVA, - да, согласен! Так и переделал свою прогу, вопрос чисто теоретический - опросил всех коллег-конструкторов с большим опытом работы в AutoCAD, но ни кто не знал. Удивился: есть свойство, вроде удобное, но до него не добраться...
PiP вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как вернуть "видимость" рамки PViewPort?



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как создать шаблон рамки по ГОСТУ (ЕСКД) Vito AutoCAD 19 05.12.2014 12:43
Как именно настроить параметры нового чертежа? Макс_Северянин AutoCAD 31 01.09.2010 10:16
Мониторы LCD CRT Разное 94 17.06.2008 10:51
Как избавиться от рамки при печати? GAZA AutoCAD 7 29.03.2005 13:48