Тема: интересная тема

Как сделать, то что находится в этом чертеже
http://depositfiles.com/files/0g1as24bi
под красной стрелкой(верхний левый угол) с помощью ВБА кода естествено, ЗНАТОКИ!?

Re: интересная тема

Т.е. нужно создать такой динам блок

Re: интересная тема

Что сделать то надо?

Re: интересная тема

такиеже блоки динамические как там нарисованы, тока программно хочу сделать, т.к. мне будет легче их находить и ими пользоваться.
Эти блоки если заметили меняються, т.е. к ним подноситься курсор мыши и даётся возможность их заменять оперативно на другой блок.

Re: интересная тема

т.е. нужно программно вставить блок, или отрисовать примитивами?

Re: интересная тема

именно вставить программно! Чтобы затем по степени необходимости, в процессе работы их легко менять с одного на другой из самого уже КАДА

Re: интересная тема

кто делал такие вещи, просто выложите хотя бы пример на вба, думаю их несложно сделать, просто впервый раз такие увидел и ими пользовался

Re: интересная тема

Не вижу разницы программно вставить или нет, что значит менять по степени необходимости с одного на другой(для этого и создали дин.блок, меняй с одного на другой)

Re: интересная тема

Их не на ВБА делают, если что.

Re: интересная тема

2stas_org , а в чём это возможно сделать и как?

Re: интересная тема

> фарэнгейт
фарэнгейт
Как я поняла динамические блоки НЕВОЗМОЖНО создать програмно (может кто опровергнет????)!!!!
Динамические блоки создаются в Автокаде, так сказать, вручную!!!
Загляните в справку Автокада и посмотрите. Там есть не просто сухой текст, там есть видео семинары!!!!! Да-да, представляете видео семинары!!! Класс!! Я за час научилась создавать их!!!
Но к сожалению отказалась от них в силу того, что их нельзя создавать програмно :(
Надо хранить файл-шаблон, в памяти которого были бы заложены эти динамические блоки :(
Но в будущем наверное всетаки перейду на них. Они очень удобны в использовании!!!

Re: интересная тема

> фарэнгейт
фарэнгейт
Щелкаете правой кнопкой по данному дин.блоку и из контекстного меню выбираете "редактор блоков".
Теперь можно корректировать и добавлять свойства в этот блок!!! ;)

(изменено: фарэнгейт, 29 марта 2009г. 19:00:00)

Re: интересная тема

тада как вы считаете чем этот пример отличается от выше предоставленного7


Sub Example_AddMInsertBlock()
    ' This example creates a new Block in the current drawing, adds a
    ' Circle object to the new block, and uses the newly created block
    ' to create a rectangular array of block references using AddMInsertBlock
   
    Dim circleObj As AcadCircle
    Dim centerPoint(0 To 2) As Double, InsertPoint(0 To 2) As Double
    Dim radius As Double
    Dim newMBlock As AcadMInsertBlock
    Dim newBlock As AcadBlock
   
    ' Define the Circle object that will be inserted into the block
    centerPoint(0) = 0: centerPoint(1) = 0: centerPoint(2) = 0
    InsertPoint(0) = 1: InsertPoint(1) = 1: InsertPoint(2) = 0
    radius = 0.5
   
    ' Create a new block to hold the Circle object
    Set newBlock = ThisDrawing.Blocks.Add(centerPoint, "CBlock")
   
    ' Add the Circle object to the new block object
    Set circleObj = ThisDrawing.Blocks("CBlock").AddCircle(centerPoint, radius)
   
    ' Create a rectangular array of Circles using the new block containing the Circle
    ' and the AddMInsertBlock method
    Set newMBlock = ThisDrawing.ModelSpace.AddMInsertBlock(InsertPoint, "CBlock", 1, 1, 1, 1, 2, 2, 1, 1)
       
    ThisDrawing.Application.ZoomAll
   
    MsgBox "A rectangular array has been created from the original block."

End Sub

посути тоже динам блок, но как установить <<ручки>>7

ЗЫ: из хелпа

С Уважением, Михаил

(изменено: Yuriy, 30 марта 2009г. 06:44:05)

Re: интересная тема

перемещение свойств

О доступе к динамическим блокам из программ на AutoLISP

источник ссылок

(изменено: фарэнгейт, 30 марта 2009г. 13:42:14)

Re: интересная тема

Yuriy, плохо што ЛИСП(((

Интересно создать подобие динам блока в вба
Я тут подумал необходимость в <<ручках>> у динам блока может не быть, если <<ручку>> заменить на нажатие кнопки <<вверх>> и <<вниз>>, что должно вызывать срабатывание макроса(операции над блоком, типа удлинения, поворот  итд).

Но для этого нужна какая-то API-функция?????, т.к. нету в вба-Акаде события нажатия клавиши, вроде как!?

Re: интересная тема

> фарэнгейт
Вы говорите что по сути то же самое??? Но это же просто массив блоков!!! Это в справке даже написано!!! Нафиг этот массив нужен??? Динамический блок это совсем другое!!! Именно своими свойствами, тобишь ручками, он и удобен!! Что касается Лиспа это надо посмотреть что там в "подземельях" Автокада зарыто :)
Если на Лиспе действительно можно создавать ручки - то можно повязать Лисп с ВБА :)
Можно пойти на компромис и написать один модуль своей проги на Лиспе :)  хотя меня например больше тянет к себе ВБА

>Yuriy
Огромное спасибо за ссылки ;)
Если у Вас есть еще какая-нибудь информация по дин.блокам - поделитесь пожалуйста!!!!

Re: интересная тема

Дарья Тарахова пишет:

Если на Лиспе действительно можно создавать ручки - то можно повязать Лисп с ВБА 
Можно пойти на компромис и написать один модуль своей проги на Лиспе  хотя меня например больше тянет к себе ВБА

А если меня уже к земле тянет так чтож я должен
на глиняных табличках клинописью должен писать?   :D

А вообще-то чинка выделки не стоит, ручками делать
такие вещи спокойнее
IMHO

~'J'~

Re: интересная тема

fixo пишет:

А если меня уже к земле тянет так чтож я должен
на глиняных табличках клинописью должен писать?

А если Ваши глиняные таблички сможет читать компьютер и выполнять по ним команды почему бы и нет???????? ;)  :D
Почему все с таким пренебрежением относятся к ВБА???