iCAx开思网
标题:
CAM操作变换问题请教!
[打印本页]
作者:
hello_icax
时间:
2010-5-19 10:17
标题:
CAM操作变换问题请教!
小弟想实现一个功能。
将现存的某个操作做变换。
比如,绕Y轴旋转30度。
用如下函数时失败,返回值提示是对象类型无效。
似乎是该函数只能变换几何对象。
那么,操作对象(刀路)的变换该用什么函数呢?
请高手指点,万分感谢!
void uf5947
(
const double rp1 [ 16 ] ,
const tag_t objects [ ] ,
const int * n_objects,
const int * move_or_copy,
const int * dest_layer,
const int * trace_curves,
tag_t * copies,
tag_t * trace_curve_group,
int * status
)
作者:
zjs
时间:
2010-6-3 16:53
用c++,
perationTransformBuilder1 = workPart->CAMSetup()->CreateOperationTransformBuilder(objectsToTransform1);
Point3d origin1(0.0, 0.0, 0.0);
Vector3d normal1(0.0, 0.0, 1.0);
Plane *plane1;
plane1 = workPart->Planes()->CreatePlane(origin1, normal1, SmartObject::UpdateOptionWithinModeling);
operationTransformBuilder1->SetPlane(plane1);
operationTransformBuilder1->SetDeltaZc(20.0);
NXObject *nXObject1;
nXObject1 = operationTransformBuilder1->Commit();
作者:
hello_icax
时间:
2010-6-4 08:17
感谢2楼的朋友指点.
C++我不熟,正在研究。
但还是非常感谢!谢谢!
作者:
hello_icax
时间:
2010-6-4 13:15
2楼的朋友,再次谢谢你的热情指点.
但是.我的问题依然没有解决.
我真正的目的是用VB或VC++实现对一个操作
进行一次性实现两种变换.(现绕直线旋转后比例变换)
注意:要求是一次变换实现两个效果.
次目的在GRIP内是很容易实现的.
在VB内就需要分两次实现.
而你提供的代码示例同VB的方法差不多.估计达不到我要的效果.
请指教!
作者:
zhangcanwei
时间:
2010-6-6 10:27
这个问题还没有解决?我试了一段时间,好像不行。每个单独的变换都会生成刀路,这就耽误很长时间。我估计不应该去变换操作,而是变换刀路,不过我还不知道如何把刀路单独提取出来。
作者:
zjs
时间:
2010-6-6 10:29
好消息是 UG c++与 c 可以混合编程, 比如,c 没有的函数,可以用c++做成子程序调用。因为c++通过类打包,UG也原意公开更多功能。
你可以自己开发一个功能,将你所需要的合并
作者:
zjs
时间:
2010-6-6 11:12
其实c++也提供了直接将你需要的操作(合二为一)的方法, 通过csys1 to csys2 实现,在csys内就可以定义,
平移与旋转。 程序在概象这样
CartesianCoordinateSystem *cartesianCoordinateSystem2;
cartesianCoordinateSystem2 = workPart->CoordinateSystems()->CreateCoordinateSystem(xform2, SmartObject::UpdateOptionAfterModeling);
operationTransformBuilder1->SetRepositionToCsys(cartesianCoordinateSystem2);
nXObject1 = operationTransformBuilder1->Commit();
作者:
hello_icax
时间:
2010-6-7 12:55
多谢指点!
看来我得把C++或C语言好好补一补了。
烦请各位有时间摸索一下。
如果我搞定了,一定会通知各位!
谢谢!
欢迎光临 iCAx开思网 (https://www.icax.org/)
Powered by Discuz! X3.3