Перейти к публикации

Macros Помоги Новичку


Hellion

Рекомендованные сообщения

Доброго времени суток!

Господа и дамы помогите, начинающему.

Хочу возвращать имя выделенного элемента, вот есть код, но когда пишу

Set oSelElem = CATIA.ActiveDocument.Selection.Item(1)

MsgBox oSetElem.Name

на экране появлется надпись CATIASelectedElement4, при следующем запуске макроса будет CATIASelectedElement5 и т.д., а мне нужно, например у меня выделена точка, чтобы я получила имя выделенного элемента, например - Point.1

Ссылка на сообщение
Поделиться на других сайтах


Вот так надо делать:

Set oSelElem = CATIA.ActiveDocument.Selection.Item(1)

MsgBox (oSelElem.Value.Name)

Спасибочки, спасибочки. Все заработало :)

Ссылка на сообщение
Поделиться на других сайтах
  • 4 года спустя...

В продолжение темы:

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

Максимум что получается это вот:

Sub CATMain()

Dim oDocument As Document

Set oDocument = CATIA.ActiveDocument

Dim oSelection As AnyObject

Set oSelection = oDocument.Selection

Dim Status As String

Dim InputObjectType(0)



InputObjectType(0) = "AnyObject"

Status = oSelection.SelectElement2(InputObjectType, "Select an element", False)

If (Status = "Cancel") Then

oSelection.Clear: Exit Sub

End If

Set MySelection = oSelection.Item(1).Value

MsgBox "Name of selection : " & MySelection.Name

End Sub
Т.е. Тык на элемент в чертеже и получаю имя вида))

Пытался через GenerativeBehavior - но ничего не получилось

подскажите плиз.

Ссылка на сообщение
Поделиться на других сайтах

Частично проблема решена.

Sub CATMain()





Dim oDocument As DrawingDocument

Set oDocument = CATIA.ActiveDocument



Dim oSelection As AnyObject

Set oSelection = oDocument.Selection

Dim Status As String

Dim InputObjectType(0)



InputObjectType(0) = "AnyObject"

Status = oSelection.SelectElement2(InputObjectType, "Select an element", False)

If (Status = "Cancel") Then

oSelection.Clear: Exit Sub

End If

'Set MySelection = oSelection.Item(1).Value

'MsgBox "Name of selection : " & MySelection.Name

Dim vwView As DrawingView

Set vwView = oSelection.Item(1).Value



Dim oGB As DrawingViewGenerativeBehavior

Dim oGenDoc As Object



Set oGB = vwView.GenerativeBehavior



Set oGenDoc = Nothing

On Error Resume Next

	Set oGenDoc = oGB.Document



If (Err.Number <> 0) Or (oGenDoc Is Nothing) Then

	MsgBox " view is not linked"



ElseIf (TypeName(oGenDoc.Parent) = "PartDocument") Then

   MsgBox " View is linked to a partdocument"



ElseIf (TypeName(oGenDoc.Parent) = "ProductDocument") Then



	MsgBox " View is linked to a productdocument "



Else

	MsgBox "  unexpected type of linked object"

End If



End Sub

После нажатия на чертеже сборки можно получить имя сборки

или на чертеже детали можно получить имя детали.

А имя детали в чертеже сборки получить не получается - осталось не решенным.

И появился еще один вопрос:

selection - так же как и balloon, может работать только с кромками ?

Или есть возможность, сделать так чтобы оное работало с облостью?

Изменено пользователем bolahg
Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.
Примечание: вашему сообщению потребуется утверждение модератора, прежде чем оно станет доступным.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.




×
×
  • Создать...