找回密码 注册 QQ登录
一站式解决方案

iCAx开思网

CAD/CAM/CAE/设计/模具 高清视频【积分说明】如何快速获得积分?快速3D打印 手板模型CNC加工服务在线3D打印服务,上传模型,自动报价
查看: 17203|回复: 7
打印 上一主题 下一主题

[求助] CAM操作变换问题请教!

[复制链接]
跳转到指定楼层
1
发表于 2010-5-19 10:17:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多同行朋友,交流,分享,学习。

您需要 登录 才可以下载或查看,没有帐号?注册

x
小弟想实现一个功能。
将现存的某个操作做变换。
比如,绕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

)
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 赞一下!赞一下!
2
发表于 2010-6-3 16:53:26 | 只看该作者
用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();
3
发表于 2010-6-4 08:17:21 | 只看该作者
感谢2楼的朋友指点.
C++我不熟,正在研究。
但还是非常感谢!谢谢!
4
发表于 2010-6-4 13:15:38 | 只看该作者
2楼的朋友,再次谢谢你的热情指点.
但是.我的问题依然没有解决.
我真正的目的是用VB或VC++实现对一个操作
进行一次性实现两种变换.(现绕直线旋转后比例变换)
注意:要求是一次变换实现两个效果.
次目的在GRIP内是很容易实现的.
在VB内就需要分两次实现.
而你提供的代码示例同VB的方法差不多.估计达不到我要的效果.
请指教!
5
发表于 2010-6-6 10:27:07 | 只看该作者
这个问题还没有解决?我试了一段时间,好像不行。每个单独的变换都会生成刀路,这就耽误很长时间。我估计不应该去变换操作,而是变换刀路,不过我还不知道如何把刀路单独提取出来。
6
发表于 2010-6-6 10:29:30 | 只看该作者
好消息是   UG  c++与 c 可以混合编程, 比如,c 没有的函数,可以用c++做成子程序调用。因为c++通过类打包,UG也原意公开更多功能。

你可以自己开发一个功能,将你所需要的合并
7
发表于 2010-6-6 11:12:17 | 只看该作者
其实c++也提供了直接将你需要的操作(合二为一)的方法, 通过csys1 to csys2 实现,在csys内就可以定义,
平移与旋转。 程序在概象这样

CartesianCoordinateSystem *cartesianCoordinateSystem2;
cartesianCoordinateSystem2 = workPart->CoordinateSystems()->CreateCoordinateSystem(xform2, SmartObject::UpdateOptionAfterModeling);
operationTransformBuilder1->SetRepositionToCsys(cartesianCoordinateSystem2);
nXObject1 = operationTransformBuilder1->Commit();
8
发表于 2010-6-7 12:55:24 | 只看该作者
多谢指点!
看来我得把C++或C语言好好补一补了。
烦请各位有时间摸索一下。
如果我搞定了,一定会通知各位!
谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3D打印手板模型快速制作服务,在线报价下单!

QQ 咨询|手机版|联系我们|iCAx开思网  

GMT+8, 2024-12-25 14:11 , Processed in 0.034537 second(s), 10 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

快速回复 返回顶部 返回列表