Тема: Как сделать вставляемый блок видимым?
Как сделать,чтобы при вставке блока он был видимым?Так же,как при стандартной команде акада "Вставка блока".Заранее всем спасибо!
Информационный портал для профессионалов в области САПР
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Форумы CADUser → Программирование → VBA → Как сделать вставляемый блок видимым?
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Как сделать,чтобы при вставке блока он был видимым?Так же,как при стандартной команде акада "Вставка блока".Заранее всем спасибо!
Если было-бы так просто, не спрашивал бы.Неужели больше нельзя ничего придумать?
А как сделать, что б блок был невидимым? :)
Может программно он вставляется на выключенный слой? Посмотрите внимательно все настройки.
А как Вы определяете, что блок вставлен?
Если можно, напишите подробнее.
'ВСТАВКА БЛОКА(с запросом точки вставки)
Sub Example_InsertBlock()
Dim blockObj As AcadBlock
Dim insertionPnt(0 To 2) As Double
Dim insertPnt As Variant
Dim circleObj As AcadCircle
Dim center(0 To 2) As Double
Dim radius As Double
Dim blockRefObj As AcadBlockReference
'Создание блока:
insertionPnt(0) = 0#: insertionPnt(1) = 0#: insertionPnt(2) = 0#
' "Bl"-имя блока(любое)
Set blockObj = ThisDrawing.Blocks.Add(insertionPnt, "Bl")
'Создание и добавление объекта в блок:
center(0) = 0: center(1) = 0: center(2) = 0
radius = 1
Set circleObj = blockObj.AddCircle(center, radius)
' Указываем точку вставки:
'Хотелось бы, чтобы здесь был виден
'вставляемый блок
insertPnt = ThisDrawing.Utility.GetPoint _
(, vbCrLf & "Укажите точку вставки:")
' Вставка блока в чертеж:
Set blockRefObj = ThisDrawing.ModelSpace.InsertBlock _
(insertPnt, "Bl", 1#, 1#, 1#, 0)
End Sub
Этот код работает нормально. Блок ПОСЛЕ указания точки вставки виден.
Как сделать видимым блок ДО указания точки вставки не знаю. Но вопрос интересный.
Да, жалко, что никто не может помочь.
Может его програмно вставить и сразу перемещать?
не знаю поможет ли, но
попробуй отслеживать координаты курсора и отрисовывать блок через заданый интевал времени, ну и удалять его если координаты курсора изменились. (не пробовал и не знаю возможно ли. просто пришла в голову такая мысля =))
> Boxa
На лиспе возможно, если надо - приведу код.
Есть проблема - функция отслеживания курсора не видит привязок (организовать их можно, но стандартных маркеров не будет)...
Правда есть варианты
https://www.caduser.ru/forum/topic20171.html
попробуй отслеживать координаты курсора и отрисовывать блок через заданый интевал
Идея интересная, только пока не укажешь точку вставки программа не пойдет дальше. Она ведь ждет.
> brigval
В лиспе есть возможность динамически узнавать положение курсора до указания точки.
https://www.caduser.ru/forum/topic16389.html
А библиотеки ObjARX нет, никто не писал случаем? Библиотека с одной только функцией - отслеживание положения курсора и возврат координат по запросу.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Форумы CADUser → Программирование → VBA → Как сделать вставляемый блок видимым?
Форум работает на PunBB, при поддержке Informer Technologies, Inc