NX Open C++ 参考指南
2406 v1.1
载入中...
搜索中...
未找到
D:
Tan_NX2406C++
UGopenLib
NX2406
UGOPEN
NXOpen
Mechatronics_CamProfileBuilder.hxx
1
//--------------------------------------------------------------------------
2
// Copyright 2024 Siemens
3
//--------------------------------------------------------------------------
4
// C++接口头文件,用于JA API
5
//--------------------------------------------------------------------------
6
//
7
// 源文件:
8
// Mechatronics_CamProfileBuilder.ja
9
//
10
// 生成工具:
11
// apiwrap
12
//
13
// 警告:
14
// 此文件为自动生成 - 请勿手动编辑
15
//
16
#pragma once
17
#include <NXOpen/NXDeprecation.hxx>
18
#include <vector>
19
#include <NXOpen/NXString.hxx>
20
#include <NXOpen/Callback.hxx>
21
#include <NXOpen/Expression.hxx>
22
#include <NXOpen/Builder.hxx>
23
#include <NXOpen/ugmath.hxx>
24
#include <NXOpen/libnxopencpp_mechatronics_exports.hxx>
25
#ifdef _MSC_VER
26
#pragma warning(push)
27
#pragma warning(disable:4996)
28
#endif
29
#ifdef __GNUC__
30
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
31
#endif
32
namespace
NXOpen
33
{
34
namespace
Mechatronics
35
{
36
class
CamProfileBuilder
;
37
}
38
class
Builder
;
39
class
Expression
;
40
namespace
Mechatronics
41
{
42
class
CamProfile
;
43
}
44
class
NXObject
;
45
namespace
Mechatronics
46
{
47
class
_CamProfileBuilderBuilder;
48
class
CamProfileBuilderImpl;
52
class
NXOPENCPP_MECHATRONICSEXPORT CamProfileBuilder :
public
NXOpen::Builder
53
{
55
public
:
enum
MasterValueUnit
56
{
57
MasterValueUnitLinear
,
58
MasterValueUnitRotary
,
59
MasterValueUnitTime
60
};
61
62
public
:
enum
ProfileCyclicType
63
{
64
ProfileCyclicTypeRelativeCyclic
,
66
ProfileCyclicTypeCyclic
,
68
ProfileCyclicTypeNonCyclic
71
};
72
73
public
:
enum
SlaveValueUnit
74
{
75
SlaveValueUnitLinearPosition
,
76
SlaveValueUnitRotaryPosition
,
77
SlaveValueUnitLinearSpeed
,
78
SlaveValueUnitRotarySpeed
79
};
80
81
public
:
enum
ProfileInterpolationType
82
{
83
ProfileInterpolationTypeCubicSpline
,
84
ProfileInterpolationTypeLinear
,
85
ProfileInterpolationTypeBezierSpline
86
};
87
88
public
:
89
struct
Element
90
{
91
public
:
int
Id
;
92
public
:
NXString
SegmentName
;
93
public
:
int
SegmentType
;
94
public
:
int
CurveType
;
95
public
:
double
Slope
;
96
public
:
double
Curvature
;
97
public
:
double
MasterMin
;
98
public
:
double
MasterMax
;
99
public
:
double
SlaveMin
;
100
public
:
double
SlaveMax
;
101
public
:
double
Xn1
;
102
public
:
double
Xn2
;
103
public
:
double
A0
;
104
public
:
double
A1
;
105
public
:
double
A2
;
106
public
:
double
A3
;
107
public
:
double
A4
;
108
public
:
double
A5
;
109
public
:
double
A6
;
110
public
:
double
Amplitude
;
111
public
:
double
AngularFrequency
;
112
public
:
double
Phase
;
113
public
:
bool
SlopeEqualPrev
;
114
public
:
bool
SlopeEqualNext
;
115
public
:
bool
CurveEqualPrev
;
116
public
:
bool
CurveEqualNext
;
117
public
:
double
Slope2
;
118
public
:
double
Jerk
;
119
public
:
int
FormulaType
;
120
public
:
double
LambdaValue
;
121
public
:
int
OptimizeType
;
122
public
:
double
YnMin
;
123
public
:
double
YnMax
;
124
public
: Element() :
125
Id
(),
126
SegmentName
(),
127
SegmentType
(),
128
CurveType
(),
129
Slope
(),
130
Curvature
(),
131
MasterMin
(),
132
MasterMax
(),
133
SlaveMin
(),
134
SlaveMax
(),
135
Xn1
(),
136
Xn2
(),
137
A0
(),
138
A1
(),
139
A2
(),
140
A3
(),
141
A4
(),
142
A5
(),
143
A6
(),
144
Amplitude
(),
145
AngularFrequency
(),
146
Phase
(),
147
SlopeEqualPrev
(),
148
SlopeEqualNext
(),
149
CurveEqualPrev
(),
150
CurveEqualNext
(),
151
Slope2
(),
152
Jerk
(),
153
FormulaType
(),
154
LambdaValue
(),
155
OptimizeType
(),
156
YnMin
(),
157
YnMax
()
158
{
159
}
161
public
:
Element
(
int
idInitial ,
162
const
NXString
&segmentNameInitial ,
163
int
segmentTypeInitial ,
164
int
curveTypeInitial ,
165
double
slopeInitial ,
166
double
curvatureInitial ,
167
double
masterMinInitial ,
168
double
masterMaxInitial ,
169
double
slaveMinInitial ,
170
double
slaveMaxInitial ,
171
double
xn1Initial ,
172
double
xn2Initial ,
173
double
a0Initial ,
174
double
a1Initial ,
175
double
a2Initial ,
176
double
a3Initial ,
177
double
a4Initial ,
178
double
a5Initial ,
179
double
a6Initial ,
180
double
amplitudeInitial ,
181
double
angularFrequencyInitial ,
182
double
phaseInitial ,
183
bool
slopeEqualPrevInitial ,
184
bool
slopeEqualNextInitial ,
185
bool
curveEqualPrevInitial ,
186
bool
curveEqualNextInitial ,
187
double
slope2Initial ,
188
double
jerkInitial ,
189
int
formulaTypeInitial ,
190
double
lambdaValueInitial ,
191
int
optimizeTypeInitial ,
192
double
ynMinInitial ,
193
double
ynMaxInitial ) :
194
Id
(idInitial),
195
SegmentName
(segmentNameInitial),
196
SegmentType
(segmentTypeInitial),
197
CurveType
(curveTypeInitial),
198
Slope
(slopeInitial),
199
Curvature
(curvatureInitial),
200
MasterMin
(masterMinInitial),
201
MasterMax
(masterMaxInitial),
202
SlaveMin
(slaveMinInitial),
203
SlaveMax
(slaveMaxInitial),
204
Xn1
(xn1Initial),
205
Xn2
(xn2Initial),
206
A0
(a0Initial),
207
A1
(a1Initial),
208
A2
(a2Initial),
209
A3
(a3Initial),
210
A4
(a4Initial),
211
A5
(a5Initial),
212
A6
(a6Initial),
213
Amplitude
(amplitudeInitial),
214
AngularFrequency
(angularFrequencyInitial),
215
Phase
(phaseInitial),
216
SlopeEqualPrev
(slopeEqualPrevInitial),
217
SlopeEqualNext
(slopeEqualNextInitial),
218
CurveEqualPrev
(curveEqualPrevInitial),
219
CurveEqualNext
(curveEqualNextInitial),
220
Slope2
(slope2Initial),
221
Jerk
(jerkInitial),
222
FormulaType
(formulaTypeInitial),
223
LambdaValue
(lambdaValueInitial),
224
OptimizeType
(optimizeTypeInitial),
225
YnMin
(ynMinInitial),
226
YnMax
(ynMaxInitial)
227
{
228
}
229
};
230
private
:
CamProfileBuilderImpl
* m_camprofilebuilder_impl;
231
private
:
friend
class
_CamProfileBuilderBuilder;
232
protected
:
CamProfileBuilder
();
233
public
:
~CamProfileBuilder
();
237
public
:
NXString
Name
238
(
239
);
243
public
:
void
SetName
244
(
245
const
NXString
& name
246
);
250
void
SetName
251
(
252
const
char
* name
253
);
257
public
:
NXOpen::Expression
*
MasterMinimum
258
(
259
);
263
public
:
NXOpen::Expression
*
MasterMaximum
264
(
265
);
269
public
:
NXOpen::Mechatronics::CamProfileBuilder::MasterValueUnit
MasterUnit
270
(
271
);
275
public
:
void
SetMasterUnit
276
(
277
NXOpen::Mechatronics::CamProfileBuilder::MasterValueUnit
masterUnit
278
);
282
public
:
NXOpen::Expression
*
SlaveMinimum
283
(
284
);
288
public
:
NXOpen::Expression
*
SlaveMaximum
289
(
290
);
294
public
:
NXOpen::Mechatronics::CamProfileBuilder::SlaveValueUnit
SlaveUnit
295
(
296
);
300
public
:
void
SetSlaveUnit
301
(
302
NXOpen::Mechatronics::CamProfileBuilder::SlaveValueUnit
slaveUnit
303
);
307
public
:
NXOpen::Mechatronics::CamProfileBuilder::ProfileCyclicType
CyclicType
308
(
309
);
313
public
:
void
SetCyclicType
314
(
315
NXOpen::Mechatronics::CamProfileBuilder::ProfileCyclicType
cyclicType
316
);
320
public
:
NXOpen::Mechatronics::CamProfileBuilder::ProfileInterpolationType
InterpolationType
321
(
322
);
326
public
:
void
SetInterpolationType
327
(
328
NXOpen::Mechatronics::CamProfileBuilder::ProfileInterpolationType
interpolationType
329
);
333
public
:
bool
CheckingG2Continuity
334
(
335
);
339
public
:
void
SetCheckingG2Continuity
340
(
341
bool
checking
342
);
346
public
:
int
FindElementIndex
347
(
348
const
NXOpen::Mechatronics::CamProfileBuilder::Element
& element
349
);
353
public
:
void
AddElement
354
(
355
NXOpen::NXObject
* part ,
356
const
NXOpen::Mechatronics::CamProfileBuilder::Element
& element
357
);
361
public
:
void
AddElement
362
(
363
NXOpen::NXObject
* part ,
364
const
NXOpen::Mechatronics::CamProfileBuilder::Element
& element ,
365
const
std::vector<NXOpen::Point2d> & interPoints
366
);
370
public
:
void
EditElement
371
(
372
int
index ,
373
NXOpen::NXObject
* part ,
374
const
NXOpen::Mechatronics::CamProfileBuilder::Element
& element
375
);
379
public
:
void
RemoveElementByIndex
380
(
381
int
index
382
);
386
public
:
void
ClearElements
387
(
388
);
392
public
:
void
SetSegmentTable
393
(
394
NXOpen::Mechatronics::CamProfile
* segmentTableObject
395
);
399
public
:
NXOpen::Mechatronics::CamProfileBuilder::Element
AskElementByIndex
400
(
401
int
index
402
);
406
public
:
int
AskElementsLength
407
(
408
);
412
public
:
void
SwitchSegmentTable
413
(
414
NXOpen::Mechatronics::CamProfile
* segmentTableObject
415
);
416
};
417
}
418
}
419
#ifdef _MSC_VER
420
#pragma warning(pop)
421
#endif
422
#ifdef __GNUC__
423
#ifndef NX_NO_GCC_DEPRECATION_WARNINGS
424
#pragma GCC diagnostic warning "-Wdeprecated-declarations"
425
#endif
426
#endif
427
#undef EXPORTLIBRARY