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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Создание видового экрана в модели видов VBA/ActiveX ACAD2017

Создание видового экрана в модели видов VBA/ActiveX ACAD2017

Ответ
Поиск в этой теме
Непрочитано 06.08.2019, 09:56 #1
Создание видового экрана в модели видов VBA/ActiveX ACAD2017
Overl0rd555
 
Регистрация: 05.07.2018
Сообщений: 9

Есть потребность в создании видовых экранов для дальнейшего создание листов и расположения на них видовых экранов и последующей печати
делаю на VBA из под Excel

Код:
[Выделить все]
Dim VPCoord(0 To 2) As Double
Dim xView As AcadView
Dim startPoint As Variant
Dim objText As AcadEntity
Dim get_text As String

Const maxY As Integer = 287
Const maxX As Integer = 395


    AutoCAD.Application.ActiveDocument.Utility.GetEntity objText, varPnt, vbCr & "Выбрать название видового экрана"
    get_text = objText.TextString

    startPoint = AutoCAD.Application.ActiveDocument.Utility.GetPoint(, "Выбрать нижнюю правую точку")

    VPCoord(0) = startPoint(0) + maxX / 2
    VPCoord(1) = startPoint(1) + maxY / 2
    VPCoord(2) = 0

    Set xView = AutoCAD.Application.ActiveDocument.Views.Add(get_text)

    xView.Center(0) = startPoint(0) + maxX / 2
    xView.Center(1) = startPoint(1) + maxY / 2
    ' xView.Target = AutoCAD.Application.ActiveDocument.Utility.TranslateCoordinates(VPCoord, acWorld, acDisplayDCS, false)
    xView.Target = VPCoord
    xView.Width = maxX
    xView.Height = maxY
вроде бы работает, но есть НО
1. размеры совпадают, а координаты плавают почему-то относительно позиций и масштаба экрана и не попадают на нужное место
2. xView.Center - изменение значений не влияет на результат
3. xView.Target = AutoCAD.Application.ActiveDocument.Utility.TranslateCoordinates(VPCoord, acWorld, acDisplayDCS, false) == тоже не помогает
4. в диспетчере видов нет маленькой картинки, нет данных Снимок слоев=НЕТ, Визуальный стиль=НЕТ, ПСК=нет

2 дня лопачу форум и хелпы, но пока не получается (сразу ответ на вопрос посмотреть там или там) или чего-то непонимаю
как заставить попадать на координаты и добавить картинку и другие данные в видовой экран?

Миниатюры
Нажмите на изображение для увеличения
Название: приложение-1.png
Просмотров: 22
Размер:	61.2 Кб
ID:	216534  Нажмите на изображение для увеличения
Название: приложение-2.png
Просмотров: 21
Размер:	72.6 Кб
ID:	216535  


Последний раз редактировалось Overl0rd555, 06.08.2019 в 16:02. Причина: ошибка в назавнии
Просмотров: 1114
 
Непрочитано 06.08.2019, 10:25
#2
trir


 
Регистрация: 18.12.2010
Сообщений: 3,461


нужно задать Direction https://knowledge.autodesk.com/searc...A941C-htm.html
тут на форуме выкладовали мою прогу на VBA - которая всё это делает
trir вне форума  
 
Автор темы   Непрочитано 06.08.2019, 13:37
#3
Overl0rd555


 
Регистрация: 05.07.2018
Сообщений: 9


я работаю только в 2-D, но все таки попробовал
добавил

Код:
[Выделить все]
Dim NewDirection(0 To 2) As Double
    NewDirection(0) = 0
    NewDirection(1) = 0
    NewDirection(2) = 0
    xView.Direction = NewDirection
посмотрел у созданных вручную - все по нулям
поигрался со значениями - результат в том что вращает вид и все

у меня же проблема в том что координаты пляшут относительно текущего вида на экране

чем сильнее приближаю текущий вид на экране тем ближе приближается созданный видовой экран
Миниатюры
Нажмите на изображение для увеличения
Название: приложение-3.png
Просмотров: 8
Размер:	45.8 Кб
ID:	216545  Нажмите на изображение для увеличения
Название: приложение-4.png
Просмотров: 6
Размер:	50.5 Кб
ID:	216546  
Overl0rd555 вне форума  
 
Автор темы   Непрочитано 06.08.2019, 15:12
#4
Overl0rd555


 
Регистрация: 05.07.2018
Сообщений: 9


Direction - это направление вида по осям, мне он ничего не дает
попробовал поигаться со значениями - вращает по осям
мне нужно только в 2-D

у меня сдвиг координат происходит в зависимости от положения и масштаба экрана, не пойму почему и как сделать абсолютными значениями относительно указываемой точки
пример того что получается на картинках
прог на VBA очень много, дай хоть название или ссылку плиз
Миниатюры
Нажмите на изображение для увеличения
Название: приложение-3.png
Просмотров: 4
Размер:	45.8 Кб
ID:	216550  Нажмите на изображение для увеличения
Название: приложение-4.png
Просмотров: 3
Размер:	50.5 Кб
ID:	216551  
Overl0rd555 вне форума  
 
Непрочитано 06.08.2019, 15:24
#5
trir


 
Регистрация: 18.12.2010
Сообщений: 3,461


https://forum.dwg.ru/showthread.php?t=110561
trir вне форума  
 
Автор темы   Непрочитано 06.08.2019, 16:07
#6
Overl0rd555


 
Регистрация: 05.07.2018
Сообщений: 9


понял свою ошибку - мне нужен не именованный видовой экран, а видовой экран в "Виды моделей"
который можно редактировать в ручном режиме в диспетчере видов

и IAcadPViewport2 в экселе нет, есть только AcadView, AcadViewport, AcadPViewport

AcadView - это видовой экран в "Виды моделей" пространства модели
AcadViewport - это именованный видовой экран
AcadPViewport - это видовой экран пространства листа

мне нужно именно AcadView - это видовой экран в "Виды моделей" пространства модели
Overl0rd555 вне форума  
 
Непрочитано 06.08.2019, 17:25
#7
trir


 
Регистрация: 18.12.2010
Сообщений: 3,461


IAcadPViewport2 - Removed (Moved to IAcadPViewport)
trir вне форума  
 
Автор темы   Непрочитано 06.08.2019, 17:57
#8
Overl0rd555


 
Регистрация: 05.07.2018
Сообщений: 9


References Autocad 2017 Type library - не дает такой тип как IAcadPViewport2
там вообще порезанные типы только те которые будут совместимы из внешних приложений
Overl0rd555 вне форума  
 
Непрочитано 06.08.2019, 20:43
#9
trir


 
Регистрация: 18.12.2010
Сообщений: 3,461


потому что его убрали, а функционал добавили в IAcadPViewport
trir вне форума  
 
Автор темы   Непрочитано 06.08.2019, 21:26
#10
Overl0rd555


 
Регистрация: 05.07.2018
Сообщений: 9


References Autocad 2017 Type library который линкуется к экселю методом библиотеки объектов AutoCAD'а- не предоставляет
типы ни IAcadPViewport2, IAcadPViewport
там вообще порезанные типы только те которые будут совместимы из внешних приложений
присутствуют только AcadView, AcadViewport, AcadPViewport

AcadView - это видовой экран в "Виды моделей" пространства модели
AcadViewport - это именованный видовой экран
AcadPViewport - это видовой экран пространства листа

мне нужно именно AcadView - это видовой экран в "Виды моделей" пространства модели
Overl0rd555 вне форума  
 
Непрочитано 06.08.2019, 22:42
#11
trir


 
Регистрация: 18.12.2010
Сообщений: 3,461


NET API
trir вне форума  
 
Непрочитано 07.08.2019, 09:18
| 1 #12
baksconstructor


 
Регистрация: 05.11.2014
Сообщений: 929


Цитата:
Сообщение от Overl0rd555 Посмотреть сообщение
и последующей печати
А не проще ли сразу печатать из модели ?
baksconstructor вне форума  
 
Автор темы   Непрочитано 07.08.2019, 09:27
#13
Overl0rd555


 
Регистрация: 05.07.2018
Сообщений: 9


не совсем
есть листы с расположенными на них рамками, номерами и т.д.
и бывает что на листе потом сверху располагаются несколько видовых экранов которые еще и накладываются друг на друга
Миниатюры
Нажмите на изображение для увеличения
Название: приложение-5.png
Просмотров: 16
Размер:	136.7 Кб
ID:	216577  
Overl0rd555 вне форума  
 
Непрочитано 07.08.2019, 09:32
#14
baksconstructor


 
Регистрация: 05.11.2014
Сообщений: 929


Цитата:
Сообщение от Overl0rd555 Посмотреть сообщение
видовых экранов которые еще и накладываются друг на друга
Ну если не получится допилить, то это поможет
baksconstructor вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Создание видового экрана в модели видов VBA/ActiveX ACAD2017

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание многоугольного видового экрана методом ActiveX jackUAROBEY Программирование 2 05.10.2017 20:51
Прилипает курсор мыши к границам видового экрана - как отключить? Geolog1900 AutoCAD 2 10.04.2015 15:20
Изменение масштаба видового экрана при зумировании DianaChTailor Программирование 26 26.12.2014 21:02
Автоматическое создание "лишнего" скрытого видового экрана помимо нормального при активизации листа Libed AutoCAD 5 06.10.2014 15:19
Создание видового экрана из прямоугольника в "Модели" в пространстве листа wluk1958 Программирование 1 10.08.2012 10:26