Curve Smooth script

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

Curve Smooth script

Сообщение heze » 15 окт 2015 23:32

Доброго времени суток всем!
Подскажите, пожалуйста, как вставить Curve Smooth в выбранный сет?
heze
Новичок
Новичок
 
Сообщения: 32
Зарегистрирован: 22 авг 2015 01:49

Re: Curve Smooth script

Сообщение Wireless_Fidelity » 16 окт 2015 22:10

Прямой ответ на вопрос:

Код: Выделить всё
CATIA.ActiveDocument.Selection.Item(1).Value.AppendHybridShape <объект HybridShapeCurveSmooth>
Аватара пользователя
Wireless_Fidelity
Активный участник
Активный участник
 
Сообщения: 394
Зарегистрирован: 10 апр 2010 00:11

Re: Curve Smooth script

Сообщение heze » 17 окт 2015 22:42

намек понял)
вот что хочу получить - в определенный пользователем сет вставить "пустую" операцию Curve Smooth.
пока не работает и выглядит вот так:
Код: Выделить всё
Language="VBSCRIPT"

Sub CATMain()

Msgbox "Select geometrical "

Dim Document,Part,Selection,HybridShapeFactory,HybridBodies,HybridBody,OriginElements,Plane,PlaneReference,Status
Dim InputObjectType(0),PointIndex,PointReference,HybridShapeSymmetry

Set Document = CATIA.ActiveDocument
Set Part = Document.Part
Set Selection = Document.Selection
Set HybridShapeFactory = Part.HybridShapeFactory
InputObjectType(0)="HybridBody"
Status=Selection.SelectElement3(InputObjectType,"Select geometrical",true,CATMultiSelTriggWhenSelPerf,false)
if (Status = "Cancel") then Exit Sub
set hybridbody1 = Selection.Item(1).Value

' получаем HybridShapeFactory
Dim hybridShapeFactory1 As HybridShapeFactory
Set hybridShapeFactory1 =  Document.Part.HybridShapeFactory

' добавление курвсмуса
Dim hybridShapeCurveSmooth1 As HybridShapeCurveSmooth
Set reference1 = hybridShapeFactory1.AddNewCurve
Set hybridShapeCurveSmooth1 = hybridShapeFactory1.AddNewCurveSmooth(reference1)

hybridbody1.AppendHybridShape hybridShapeCurveSmooth1

End Sub


помогите практическим советом, пожалуйста
heze
Новичок
Новичок
 
Сообщения: 32
Зарегистрирован: 22 авг 2015 01:49

Re: Curve Smooth script

Сообщение Wireless_Fidelity » 19 окт 2015 11:39

Зачем вставлять пустую операцию?
Можете ли добиться желаемого вручную? Если нет, то и "автоматизировать" это не стоит.
Аватара пользователя
Wireless_Fidelity
Активный участник
Активный участник
 
Сообщения: 394
Зарегистрирован: 10 апр 2010 00:11

Re: Curve Smooth script

Сообщение heze » 19 окт 2015 12:07

меня интересует сам процесс так сказать, т.е. для того чтобы получить эту операцию в дереве как я понимаю нужно создать референс и вот с ним у меня проблема.
эта задача скорее учебная чем практическая - это однозначно.
heze
Новичок
Новичок
 
Сообщения: 32
Зарегистрирован: 22 авг 2015 01:49

Re: Curve Smooth script

Сообщение Wireless_Fidelity » 19 окт 2015 13:36

Метода AddNewCurve нет, есть AddNewCurveDatum
Аватара пользователя
Wireless_Fidelity
Активный участник
Активный участник
 
Сообщения: 394
Зарегистрирован: 10 апр 2010 00:11

Re: Curve Smooth script

Сообщение heze » 19 окт 2015 14:46

точно, спасибо. Получается:

Set reference1 = hybridShapeFactory1.AddNewCurveDatum

но опять же сам метод AddNewCurveDatum нуждается в референсе, верно? можно этот референс задать "пустым" или нужно запрашивать, например, пользовательский выбор?
heze
Новичок
Новичок
 
Сообщения: 32
Зарегистрирован: 22 авг 2015 01:49

Re: Curve Smooth script

Сообщение Wireless_Fidelity » 21 окт 2015 09:42

heze писал(а):точно, спасибо. Получается:

Set reference1 = hybridShapeFactory1.AddNewCurveDatum

но опять же сам метод AddNewCurveDatum нуждается в референсе, верно? можно этот референс задать "пустым" или нужно запрашивать, например, пользовательский выбор?


"Пустой" задается как Nothing, но я уверен, что этот метод проверяет переданную кривую и, если таковая не существует, вызывает ошибку. Потому что метод создает датум, который является геометрией без истории и ассоциативных связей, так что хоть какую-то геометрию нужно подать.

Я бы посоветовал все "тренировочные" примеры проводить на основе выбранных в дереве объектов (в частности, через SelectElement2)
Аватара пользователя
Wireless_Fidelity
Активный участник
Активный участник
 
Сообщения: 394
Зарегистрирован: 10 апр 2010 00:11


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

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

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