Трубопроводная арматура АБРАДОКС, АБРА, ABRADOX, ABRA
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

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

Вставка блока через VBA без указания точки пользователем

Ответ
Поиск в этой теме
Непрочитано 16.09.2020, 12:12 #1
Вставка блока через VBA без указания точки пользователем
deaf red
 
Регистрация: 16.09.2020
Сообщений: 4

Здравствуйте.

Я использую ThisDrawing.Utility.GetPoint([point],[prompt]) для вставки блока в чертеж. Во всех объяснениях игнорируют параметр [point], оставляя пустое место, что приводит к тому, что пользователь сам указывает точку с помощью мыши. Можно ли как-то задать эту точку через сам VBA, чтобы я мог менять координаты X, Y этой точки, прибавляя или отнимая от начального значения X, Y? Я хочу вставить два разных блока друг за другом, и точка вставки второго блока зависит от длины первого, длины каждого блока разные, а указывать мышью каждый раз -- не то.
Просмотров: 490
 
Непрочитано 16.09.2020, 12:43
#2
trir


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


А в чём проблема?
Код:
[Выделить все]
	
	Dim basePnt(0 To 2) As Double
	basePnt(0) = 2#: basePnt(1) = 2#: basePnt(2) = 0#
	returnPnt = ThisDrawing.Utility.GetPoint(basePnt, "Enter a point: ")
	Dim newPnt(0 To 2) As Double
	newPnt(0) = returnPnt(0) + X : newPnt(1) = returnPnt(1) + Y: newPnt(2) = returnPnt(2)
trir на форуме  
 
Автор темы   Непрочитано 19.10.2020, 12:35
#3
deaf red


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


Цитата:
Сообщение от trir Посмотреть сообщение
А в чём проблема?
Спасибо, помогло. Конечный код принял такой вид. (понимаю, что код не содержит теперь ThisDrawing.Utility.GetPoint([point],[prompt], но так вышло короче)
Код:
[Выделить все]
Sub vstavkaBloka()

Dim basePnt(0 To 2) As Double
Dim blockName As String

x = 0: y = 0: z = 0

blockName = "okno"

basePnt(0) = x: basePnt(1) = y: basePnt(2) = z
Set blRef = ThisDrawing.ModelSpace.InsertBlock(basePnt, blockName, 1, 1, 1, 0)

End Sub
в таком виде блок с именем "okno" вставляется ровно в начало координат.
deaf red вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Вставка блока через VBA без указания точки пользователем

CAD БИБЛИОТЕКА
Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вставка из Экселя через буфер в Автокад 2016 Scared AutoCAD 7 26.01.2019 12:02
Сглаживание полилинии через жестко заданные точки Felix_the_cat Программирование 14 21.05.2015 14:37
Копирование блока в точки ? St520 AutoCAD 3 12.11.2009 12:38
Извлечение атрибутов блока и вставка атрибутов в формулу andery AutoCAD 38 15.06.2009 02:39
Измнение через ексель (через макрос в VBA) аттрибутов динамического блока VitaminC Программирование 4 20.10.2007 14:52