Список форумов Конференция САПР Bentley MicroStation Конференция САПР Bentley MicroStation
www.ustation.ru
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Подскажите как сделать....
На страницу Пред.  1, 2
 
Начать новую тему   Ответить на тему    Список форумов Конференция САПР Bentley MicroStation -> Прикладное
Предыдущая тема :: Следующая тема  
Автор Сообщение
Артем
первопроходец


Зарегистрирован: 29.01.2006
Сообщения: 59
Откуда: Прокопьевск

СообщениеДобавлено: Вт Авг 03, 2010 6:06 pm    Заголовок сообщения: Ответить с цитатой

нет не пробовал.
их можно будет потом увязать с задачей поставленной в самом начале?
чтоб по ним выборку делать
_________________
Было у отца три сына - два умных, а третий на горном факультете учился.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Leonid
давно здесь сидим


Зарегистрирован: 28.01.2006
Сообщения: 598
Откуда: С.-Петербург

СообщениеДобавлено: Ср Авг 04, 2010 10:16 pm    Заголовок сообщения: Ответить с цитатой

Да, теги - это обычные атрибуты элементов, которые можно обрабатывать.
В некоторых случаях просто незаменимая вещь Good
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Артем
первопроходец


Зарегистрирован: 29.01.2006
Сообщения: 59
Откуда: Прокопьевск

СообщениеДобавлено: Ср Авг 11, 2010 2:38 pm    Заголовок сообщения: Ответить с цитатой

Подскажи каким образом в MS можно отследить событие, в частности создание контура.
контур я отрисовываю способом штриховки по элементам, указывая внутренние области


как можно сделать так чтоб по окончании отрисовки контура выводилось какое нить свае меню?
_________________
Было у отца три сына - два умных, а третий на горном факультете учился.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Leonid
давно здесь сидим


Зарегистрирован: 28.01.2006
Сообщения: 598
Откуда: С.-Петербург

СообщениеДобавлено: Ср Авг 11, 2010 7:28 pm    Заголовок сообщения: Ответить с цитатой

Здесь нужно делать свою команду (класс) на основании IPrimitiveCommandEvents и при событии DataPoint использовать
метод GetFloodBoundary
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Артем
первопроходец


Зарегистрирован: 29.01.2006
Сообщения: 59
Откуда: Прокопьевск

СообщениеДобавлено: Вт Авг 17, 2010 11:51 am    Заголовок сообщения: Ответить с цитатой

1.метод GetFloodBoundary не могу найти пример в help. можно ли его использовать в выше указанном коде для определения как нового элемента созданного при штриховании контура так и уже готового контура.
2. при заполнении значений тега встроинными иструментами значение тега отображается на томже виде. если через сделаную форму заполняем значения тегов то отображается на виде сверху, а не на сечении профиля.

Код:
Sub TagElementWithSet(ele As Element, tset As TagSet)
     Dim oXL As Object
   Dim oBook As Object
   Dim oSheet As Object
   Dim filename As String
     
   filename = "C:\Bentley\shablon.XLS"
   Set oXL = CreateObject("Excel.Application")
  ' oXL.Visible = True
   Set oBook = oXL.Workbooks.Open(filename, Editable = True)
   Set oSheet = oBook.sheets("íàñòðîéêà")
 oSheet.Range("A1").Select
     
    Dim distance As Double
    Dim pntSavedOffset As Point3d
    Dim eleTag As TagElement
    Dim tagDef As TagDefinition
    Dim tagDefs As TagDefinitions
   
    distance = ActiveSettings.TextStyle.Height
   
    Set tagDefs = tset.TagDefinitions
   
    Set tagDef = tagDefs("DateCounted")
    Set eleTag = ele.AddTag(tagDef)
    pntSavedOffset = eleTag.Offset
    eleTag.Value = oSheet.Cells(1, 1).Value
    eleTag.Move Point3dFromXY(0, 2 * distance)
    'MsgBox "Changed offset from " & Point3dToString(pntSavedOffset) & " to " & Point3dToString(eleTag.Offset)
    eleTag.Redraw
    '  AddTags added it to the model.  Rewrite it now
    '  since it has been moved.
    eleTag.Rewrite
   
    '  Add the second tag
    Set tagDef = tagDefs("eks")
    Set eleTag = ele.AddTag(tagDef)
    eleTag.Value = oSheet.Cells(1, 5).Value
   eleTag.Move Point3dFromXY(0, distance)
    eleTag.Redraw
    '  AddTags added it to the model.  Rewrite it now
    '  since it has been moved.
   eleTag.Rewrite
   
   
     '  Add the second tag
    Set tagDef = tagDefs("vidrab")
    Set eleTag = ele.AddTag(tagDef)
   
    eleTag.Value = oSheet.Cells(1, 6).Value
    eleTag.Move Point3dFromXY(0, 4 * distance)
    eleTag.Redraw
    '  AddTags added it to the model.  Rewrite it now
    '  since it has been moved.
    eleTag.Rewrite
   
    oXL.Workbooks.Close

End Sub


Код:
Private Sub IPrimitiveCommandEvents_DataPoint(point As Point3d, ByVal View As View)
     
    Dim el As Element
    Dim elc As ClosedElement
   Dim el1 As Element
   
   
    Set el = CommandState.LocateElement(point, View, True)
   ' Set el1 = ActiveModelReference(, , point, True)
   ' Object.GetFloodBoundary
    If el.IsClosedElement Then
        Set elc = el.AsClosedElement
     
     Dim ts As TagSet
    Dim ee As ElementEnumerator
    Dim eleTag As TagElement
     
    Set ts = GetTagSet
 
    Set ee = ActiveModelReference.GetSelectedElements 'как этот элемент передать в форму?
 
     tegi.Show (1)
 
    TagElementWithSet el, ts
     
    End If
End Sub


_________________
Было у отца три сына - два умных, а третий на горном факультете учился.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Leonid
давно здесь сидим


Зарегистрирован: 28.01.2006
Сообщения: 598
Откуда: С.-Петербург

СообщениеДобавлено: Вт Авг 17, 2010 1:13 pm    Заголовок сообщения: Ответить с цитатой

Артем писал(а):
1.метод GetFloodBoundary не могу найти пример в help. можно ли его использовать в выше указанном коде для определения как нового элемента созданного при штриховании контура так и уже готового контура.


Пример там есть. Поищи функцию TestGetFloodBoundary()

Артем писал(а):

2. при заполнении значений тега встроинными иструментами значение тега отображается на томже виде. если через сделаную форму заполняем значения тегов то отображается на виде сверху, а не на сечении профиля.


Ты его двигаешь командой Move, а надо еще повернуть по виду. ПРимеры поворота тоже есть в хелпе.
(Не проще ли будет сделать сечение профиля на виде сверху?)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Артем
первопроходец


Зарегистрирован: 29.01.2006
Сообщения: 59
Откуда: Прокопьевск

СообщениеДобавлено: Вт Авг 17, 2010 3:57 pm    Заголовок сообщения: Ответить с цитатой

сечение профиля на виде с верху непалучится . так как все линии на профиле имеют сваи координаты и увязанны с планом.это нужно для построения планов, проектов и т.д....чтоб не совмещать каждый раз один и тот же профиль.
_________________
Было у отца три сына - два умных, а третий на горном факультете учился.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Артем
первопроходец


Зарегистрирован: 29.01.2006
Сообщения: 59
Откуда: Прокопьевск

СообщениеДобавлено: Ср Авг 18, 2010 4:47 am    Заголовок сообщения: Ответить с цитатой

leonid дай ссылку на help. я не могу найти примеры.
_________________
Было у отца три сына - два умных, а третий на горном факультете учился.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Leonid
давно здесь сидим


Зарегистрирован: 28.01.2006
Сообщения: 598
Откуда: С.-Петербург

СообщениеДобавлено: Ср Авг 18, 2010 10:23 am    Заголовок сообщения: Ответить с цитатой

Ссылки положил в новой теме
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Конференция САПР Bentley MicroStation -> Прикладное Часовой пояс: GMT + 3
На страницу Пред.  1, 2
Страница 2 из 2

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group