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

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

Помогите создать блок масштабирование на VBA.

Ответ
Поиск в этой теме
Непрочитано 09.06.2016, 15:42 #1
Помогите создать блок масштабирование на VBA.
sashafedorov82
 
Регистрация: 09.06.2016
Сообщений: 3

Помогите создать блок масштабирование на VBA. Нужно выделить все объекты и увеличить их на 1000 с опорной точкой в начале координат. Я делал так:
Sub Test()
Dim sset As AcadSelectionSet

Set sset = ThisDrawing.SelectionSets.Add("SS1")
' Запрос объектов от пользователя, Enter - конец ввода
sset.Select acSelectionSetAll
ZoomExtents
Dim basePoint(0 To 2) As Double
Dim scalefactor As Double
basePoint(0) = 0: basePoint(1) = 0: basePoint(2) = 0: scalefactor = 1000
sset.ScaleEntity basePoint, scalefactor
sset.Update

End Sub

Но выдает ошибку типа у объекта sset As AcadSelectionSet нет метода ScaleEntity, как быть?
Просмотров: 3757
 
Непрочитано 09.06.2016, 16:51
#2
stas_org


 
Регистрация: 05.04.2007
Самара
Сообщений: 1,199


В цикле перебрать каждый Entity который as object и применить к нему scale.
stas_org вне форума  
 
Автор темы   Непрочитано 23.06.2016, 13:11
#3
sashafedorov82


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


Помогите, это сдалать
sashafedorov82 вне форума  
 
Непрочитано 23.06.2016, 13:41
#4
Puroshev


 
Регистрация: 22.10.2008
Сообщений: 73
Отправить сообщение для Puroshev с помощью Skype™


Как-то наверное так, цикл по всем выбранным объектам
Код:
[Выделить все]
 
'***********************************************************
Dim  Entry As AcadEntity
For Each Entry In Sset
       Entry.ScaleEntity basePoint, scalefactor
Next
Puroshev вне форума  
 
Автор темы   Непрочитано 25.06.2016, 14:56 Всем спасибо, нашел более простой способ
#5
sashafedorov82


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


Sub Mashtab()
Dim objt As Object
Dim basePoint(0 To 2) As Double
Dim scalefactor As Double
basePoint(0) = 0: basePoint(1) = 0: basePoint(2) = 0: scalefactor = 1000
For Each objt In ThisDrawing.ModelSpace
objt.ScaleEntity basePoint, scalefactor
objt.color = acByLayer
Next objt
ZoomExtents
End Sub
sashafedorov82 вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Помогите создать блок масштабирование на VBA.

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Мои динамические блоки [2] Кулик Алексей aka kpblc Динамические блоки 4334 22.04.2019 09:16
Помогите создать конструкции для поперечников в Civile Sherxan1987 Прочее ПО от Autodesk 1 18.01.2016 12:34
Как создать анонимный блок? Shoorup Программирование 18 18.06.2014 14:11
Помогите создать новую линию в автокад frodium AutoCAD 1 28.08.2009 09:14
Помогите доделать программу добавления объектов в блок МишаVBA Программирование 1 20.05.2006 01:04