Как выбрать Ось и Парт?

Программирование для CATIA.

Как выбрать Ось и Парт?

Сообщение Zaratustra V » 11 мар 2010 12:35

Вопрос первый: как выбрав отверстие получить доступ к оси? либо еще лучше сразу выбрать ось?

пишу следующее:

Код: Выделить всё
InputObjectType(0)="AnyObject"

     Status=Selection.SelectElement2(InputObjectType,"Select an element",false)
     if (Status="Cancel") then
         Selection.Clear : Exit Sub
     end if 
     Set Hole= Selection.Item(1).Value


при выборе оси ругается.
При этом я нахожусь на уровне сборки.

Вопрос второй: что надо задать в InputObjectType, чтобы выбирался Part с Instance Name, для того чтобы следующим шагом подхватить его публикацию?
Аватара пользователя
Zaratustra V
Активный участник
Активный участник
 
Сообщения: 283
Зарегистрирован: 20 сен 2007 11:40
Откуда: Москва

Re: Как выбрать Ось и Парт?

Сообщение Zaratustra V » 12 мар 2010 10:03

Т.к. вчера весь день искал как подцепиться к этой проклятой оси. :dash1: :wacko2: ночью мне про это кошмар приснился.... :shock:
Неужели никто не делал привязки к осям через VBS? ПАМАГИТЕЕЕЕ.....
Аватара пользователя
Zaratustra V
Активный участник
Активный участник
 
Сообщения: 283
Зарегистрирован: 20 сен 2007 11:40
Откуда: Москва

Re: Как выбрать Ось и Парт?

Сообщение Artem » 12 мар 2010 14:13

1.Ну выбирай отверстие или CylindricalFace и создавай кодом свою ось
2.Product
animae scrinium servitus
Аватара пользователя
Artem
Активный участник
Активный участник
 
Сообщения: 387
Зарегистрирован: 14 сен 2007 07:14

Re: Как выбрать Ось и Парт?

Сообщение Zaratustra V » 12 мар 2010 14:41

Artem писал(а):1.Ну выбирай отверстие или CylindricalFace и создавай кодом свою ось.

это получатся дополнительные постороения,а ведь у любого цилиндрического объекта уже есть ось, он ее определяет и дает выбрать сразу, либо через Other Selections/Axis, но Катя на нее ругается, когда достаешь ее из Selection.
Artem писал(а):2.Product

Спасибо
Аватара пользователя
Zaratustra V
Активный участник
Активный участник
 
Сообщения: 283
Зарегистрирован: 20 сен 2007 11:40
Откуда: Москва

Re: Как выбрать Ось и Парт?

Сообщение m-shok » 12 мар 2010 15:03

Есть хитрый способ:
1. Выделяем поверхность
Код: Выделить всё
        Dim Sel As Selection = CATIA.ActiveDocument.Selection
        Dim CylFace As Reference
        Dim Filter() As Object = {"Face"}
        Dim Status As String = Sel.SelectElement2(Filter, "Выделите.....", False)
        CylFace = Sel.Item2(1).Value

2.Создаем новый референс, заключив DisplayName в Axis:()
Код: Выделить всё
        Dim ref2 As Reference
        ref2 = curprt.CreateReferenceFromName("Axis:(" + CylFace.DisplayName + ")")

ref2 это и есть ось.
m-shok
Новичок
Новичок
 
Сообщения: 46
Зарегистрирован: 20 авг 2008 16:08
Откуда: Москва

Re: Как выбрать Ось и Парт?

Сообщение Zaratustra V » 12 мар 2010 15:12

а что такое curprt?
Аватара пользователя
Zaratustra V
Активный участник
Активный участник
 
Сообщения: 283
Зарегистрирован: 20 сен 2007 11:40
Откуда: Москва

Re: Как выбрать Ось и Парт?

Сообщение Zaratustra V » 12 мар 2010 15:15

Ага понял это Current Part, а если я нахожусь на уровне сборки, как объявить Part в котором находится это отверстие?
Аватара пользователя
Zaratustra V
Активный участник
Активный участник
 
Сообщения: 283
Зарегистрирован: 20 сен 2007 11:40
Откуда: Москва

Re: Как выбрать Ось и Парт?

Сообщение Zaratustra V » 12 мар 2010 15:47

Так, до Part добрался не очень красиво. но работает:

Код: Выделить всё
     
     Set Hole1Face= Selection.Item(1).Value
     Set Hole1 = Hole1Face.Parent
     set Hole1Part = Hole1.Parent.Parent.Parent.Parent


но привязка с этой осью все рано не работает

Код: Выделить всё
Set constraint1 = constraints1.AddBiEltCst(catCstTypeOn, BoltAxesRef, Hole1Axis)
Аватара пользователя
Zaratustra V
Активный участник
Активный участник
 
Сообщения: 283
Зарегистрирован: 20 сен 2007 11:40
Откуда: Москва

Re: Как выбрать Ось и Парт?

Сообщение Artem » 12 мар 2010 16:40

Референс надо скорее всего от сборки создавать и имя там будет другое, что-то вроде этого - Product1/Part1.1/!Axis:(Selection_RSur:(Face:(Brp:(Hole.1;0:(Brp:(Sketch.3;3)));None:();Cf11:());Hole.1_ResultOUT;Z0;G2019))
to m-shok:
Если не военная тайна, скажи плиз, откуда вот это узнал?
"Axis:(" + CylFace.DisplayName + ")"
animae scrinium servitus
Аватара пользователя
Artem
Активный участник
Активный участник
 
Сообщения: 387
Зарегистрирован: 14 сен 2007 07:14

Re: Как выбрать Ось и Парт?

Сообщение Zaratustra V » 12 мар 2010 18:48

Код: Выделить всё
set Hole1Axis = oRootProduct.CreateReferenceFromName("Part1.1/" + "!Axis:(" + Hole1Face.DisplayName + ")")


Вот так получилось использовать ось для создания констрейна в сборке, но как видно, имя парта, то есть Product этого парта пришлось забить вручную,
внимание вопрос... как получить его имя от выбраной цилиндрической поверхности?


Код: Выделить всё
Set Hole1 = Hole1Face.Parent
     set Hole1Part = Hole1.Parent.Parent.Parent.Parent

Это дает PartName, а как же получить Instance Name
Аватара пользователя
Zaratustra V
Активный участник
Активный участник
 
Сообщения: 283
Зарегистрирован: 20 сен 2007 11:40
Откуда: Москва

Re: Как выбрать Ось и Парт?

Сообщение m-shok » 12 мар 2010 18:56

2 Zaratustra V:
До парта лучше всего добираться так:
Код: Выделить всё
Dim Status As String = Sel.SelectElement2(Filter, "Выделите.....", False)
CylFace = Sel.Item2(1).Value
Dim CurPrd as Product
CurPrd = Sel.Item2(1).LeafProduct
dim CurPrt as Part
CurPrt = CurPrd.ReferenceProduct.Parent.Part


Собственно CurPrd.Name это и есть Instance Name
m-shok
Новичок
Новичок
 
Сообщения: 46
Зарегистрирован: 20 авг 2008 16:08
Откуда: Москва

Re: Как выбрать Ось и Парт?

Сообщение m-shok » 12 мар 2010 19:06

Artem писал(а): Если не военная тайна, скажи плиз, откуда вот это узнал?
"Axis:(" + CylFace.DisplayName + ")"


Конечно военная тайна))))))
А если серьезно, то меня с самого начала интересовало что за белибердень появляется при Insert Object Resolution. Сначала я просто тыкал в разные грани-ребра-вершины , потом почитал CAA Encyclopedia.
m-shok
Новичок
Новичок
 
Сообщения: 46
Зарегистрирован: 20 авг 2008 16:08
Откуда: Москва

Re: Как выбрать Ось и Парт?

Сообщение Zaratustra V » 13 мар 2010 01:52

Всем большое спасибо за помощь, особенно m-shok, все получилось. :Yahoo!:
Аватара пользователя
Zaratustra V
Активный участник
Активный участник
 
Сообщения: 283
Зарегистрирован: 20 сен 2007 11:40
Откуда: Москва


Вернуться в CAA-RADE

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

cron