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

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 пользователей

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




  • Сообщения

    • Fedor
      Не все же торгуют наркотиками или оружием. Подавляющее большинство соблюдают законы .  Даже крестный отец не хотел торговать наркотиками и трепетно относился к семье :) "Вам никогда не совершить революцию, если вы не избавите ее от христианства" говорил Мирабо во времена французской революции. На место веры в Бога поставили веру в идеологии. Где в коммунизм, где в фашизм, где в капитализм и руку рынка  и демократию .   https://ru.wikipedia.org/wiki/Идеология  :) 
    • BSV1
      Жаль, что без имени. Это многое бы объяснило.   И даже про триста процентов? 
    • maxx2000
      G93 (26-06-24)-(22-22).nc попробуй станку подсунуть
    • MCH218
    • Roman Habbl
      Здравствуйте  Редактирую готовый постпроцессор под себя для Mitsubishi M80 ( базовый постпроцессор для HASS ) Суть вопроса : Хочу сделаться в начале программы в списке инструмента что бы отображалось общее время работы инструмента. Нашел соответствующую переменную в справке по SolidCAM : tool_work_time               type: string                    The tool work time in string format Вставил в процедуре @def_tool в строке где выводится информация по инструменту :   {nl, cCb'T'tool_number,' ',tool_user_type,' ',tool_id_string,col(30), ' - D'(tool_offset*2),col(37),' ', RorA ,corner_radius,col(42),' L'cutting_tool_length,col(47),' Z'tool_teeth_number,tool_work_time,cCe } В итоге получается все по нулям, что не так ? (T1 FACE MILL GESAC          - D40  R0   L20  Z4  0:00:00)
    • Sabadash
      Обычный бумажный скотч, + капля цианакрилата. В случае с алюминием клею на заготовку тоже скотч) И также на клей с активатором
    • ak762
      а как эта пленка называется на что вы клеили заготовку?
    • Artas28
      и почему на симуляции, заготовка вместе с рабочим заданием подсвечивается?? как фиксить?  
    • ak762
      если вы решаете инженерную задачу, а не лабораторную работу то вам нужна гарантированная работа устройства с наиболее тяжелыми условиями работы. Поместите массу пластины в наиболее удаденную точку от оси вращения + добавте дополнительный вес, а дальше считайте по учебнику можно еще вес пластины поместить в точку центра тяжести тела, но я бы не стал
    • AlexKaz
      Знакомая риторика. Чуть ли не слог в слог. Такая же чушня, как легенда про 48 тыс. тонн золота, которое РИ вкинула в создание ФРС США... Сказка пытающегося заново подняться из белогвардейской швали сословия про себя же самих. Внезапно государство приходит на смену ТНК (которым уже лет 600 начиная с эпохи Колумба) и дальше как мантра повторяется раз за разом что только госы сильнее всех. Проблема таких текстов, что они оторваны от базы - экономики, от мощности промки, от топлива и прочих простых и измеримых показателей. ТНК пострашнее многих государств. У современных ТНК есть даже аппарат насилия. Задолго до 1917 года в России, в США и в Европе началась борьба рабочих за 8-ми часовой рабочий день и другие плюшки. В Первую мировую куча заводов за рубежом вставала колом из-за забастовок. Случилось это, когда коммуникации и средства связи развились и стали доступны почти каждому, а не только элитке. Всем спорщикам капитализм vs социализм vs коммунизм я каждый раз предлагаю самостоятельно поискать и посмотреть объёмы социалки, которые госы по всему миру тратят на граждан и на инфраструктуру. За 20 и 21 век суммы выросли очень сильно. Даже не сравнить. Другое дело, не ясно что же будет дальше.  
×
×
  • Создать...