NX Open C++ 参考指南 2406 v1.1
载入中...
搜索中...
未找到
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
32namespace NXOpen
33{
34 namespace Mechatronics
35 {
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 {
61
72
80
87
88 public:
89 struct Element
90 {
91 public: int Id;
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(),
146 Phase(),
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();
238 (
239 );
243 public: void SetName
244 (
245 const NXString & name
246 );
251 (
252 const char * name
253 );
258 (
259 );
264 (
265 );
270 (
271 );
275 public: void SetMasterUnit
276 (
278 );
283 (
284 );
289 (
290 );
295 (
296 );
300 public: void SetSlaveUnit
301 (
303 );
308 (
309 );
313 public: void SetCyclicType
314 (
316 );
321 (
322 );
327 (
329 );
334 (
335 );
340 (
341 bool checking
342 );
347 (
349 );
353 public: void AddElement
354 (
355 NXOpen::NXObject * part ,
357 );
361 public: void AddElement
362 (
363 NXOpen::NXObject * part ,
365 const std::vector<NXOpen::Point2d> & interPoints
366 );
370 public: void EditElement
371 (
372 int index ,
373 NXOpen::NXObject * part ,
375 );
380 (
381 int index
382 );
386 public: void ClearElements
387 (
388 );
392 public: void SetSegmentTable
393 (
394 NXOpen::Mechatronics::CamProfile * segmentTableObject
395 );
400 (
401 int index
402 );
407 (
408 );
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