野火论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始


查看: 6277|回复: 6

[求助] 用户选择圆柱面-高亮显示其轴线:求思路!求大神!(小女子拜谢!)

[复制链接]

1

主题

3

回帖

0

威望

实习生

Rank: 1

积分
5
发表于 2014-5-13 16:08 | 显示全部楼层 |阅读模式
小女子初学者小白,想做这么一件事儿:

用户在PRO/E里面点击一个轴(即某个圆柱体/圆柱面),会自动显示其轴线。

目前我有两种思路:
1、找到圆柱上下底面的两个圆心,画出一条轴线
2、直接搜索找到此圆柱的轴线。

针对思路2:
我发现了一个函数Autoaxis,但用户手册给出的说明是:针对没有轴线的表面,创造出轴线。是为一些不是用标准方法创造出的孔特征而设计的。
觉得比较困惑,不知道这个函数能不能用于上述功能,并显示出轴线?

针对思路1:
是否有创造轴线的功能函数?

毕设题目求毕业啊啊啊!

求大神指点思路指点迷津!!感激不尽!!!(如果是北京的大神请吃饭!!不是北京的大神您啥时候来北京一样请吃饭!!T.T)

小女再次拜谢!

3

主题

76

回帖

0

威望

助工

Rank: 2

积分
88
QQ
发表于 2014-5-13 20:10 | 显示全部楼层
好高端,还有函数,完全没明白
不过跟着学点经验
回复 支持 反对

使用道具 举报

1261

主题

4万

回帖

899

威望

管理员

Rank: 10Rank: 10Rank: 10

积分
47329

社区建设勋章优秀斑竹勋章原创先锋勋章热心助人勋章宣传大使勋章斑竹勋章

发表于 2014-5-13 22:16 | 显示全部楼层
也不会,帮高手顶了
回复 支持 反对

使用道具 举报

75

主题

268

回帖

56

威望

高工

Rank: 4

积分
571

希望之星勋章宣传大使勋章

QQ
发表于 2014-5-16 12:47 | 显示全部楼层
本帖最后由 lixiaobao11 于 2014-5-16 13:27 编辑

如果你特征是圆柱拉伸体,那么此特征包含"轴"的特征,不需要再次创建轴.直接遍历此特征的几何获取轴.转换成Selection. ProSelectionDisplay就可以达到你要的效果.

下面代码经测试可以实现.可以直接用......

ProError getGeomsdata(ProGeomitem* geom, ProError err, CArray<ProGeomitem,ProGeomitem> * app_data)
{
        app_data->Add(*geom);
        return err;
}

void ceshiaaaa::OnBnClickedButton27()
{
        ProError status;
        ProSelection *sel , Axis_sel;
        int num_sel;
        ProFeature feats;
        status = ProSelect ("feature", 1, NULL, NULL, NULL, NULL, &sel, &num_sel);
        status = ProSelectionModelitemGet(sel[0] , &feats);
        CArray<ProGeomitem,ProGeomitem>  pGeoms;
        status = ProFeatureGeomitemVisit(&feats ,  PRO_AXIS ,(ProGeomitemAction)getGeomsdata, NULL, (ProAppData)&pGeoms );
        for (int i = 0 ; i <pGeoms.GetSize() ; i++)
        {
                if(ProSelectionAlloc(NULL, &pGeoms , &Axis_sel ) != PRO_TK_NO_ERROR ) continue;
                status = ProSelectionDisplay(Axis_sel);
        }
}
回复 支持 反对

使用道具 举报

28

主题

149

回帖

1

威望

工程师

Rank: 3Rank: 3

积分
209
QQ
发表于 2014-5-20 10:20 | 显示全部楼层
。。。好深奥,努力学习
回复 支持 反对

使用道具 举报

1

主题

3

回帖

0

威望

实习生

Rank: 1

积分
5
 楼主| 发表于 2014-5-20 18:18 | 显示全部楼层
lixiaobao11 发表于 2014-5-16 12:47
如果你特征是圆柱拉伸体,那么此特征包含"轴"的特征,不需要再次创建轴.直接遍历此特征的几何获取轴.转换成Se ...

谢大大费心解答!!
不过我在编译的时候遇到了2个问题T.T
error C2440: “类型转换”: 无法从“overloaded-function”转换为“ProGeomitemAction”
1>        在匹配目标类型的范围内没有具有该名称的函数

error C2664: “ProSelectionAlloc”: 不能将参数 2 从“CArray<TYPE,ARG_TYPE> *__w64 ”转换为“ProModelitem *”
1>        with
1>        [
1>            TYPE=ProGeomitem,
1>            ARG_TYPE=ProGeomitem
1>        ]
1>        与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换

还请大大帮忙指点迷津啊!感激不尽!!!再拜!
回复 支持 反对

使用道具 举报

75

主题

268

回帖

56

威望

高工

Rank: 4

积分
571

希望之星勋章宣传大使勋章

QQ
发表于 2014-5-20 20:31 | 显示全部楼层
你上传代码看看.或加我QQ446300018.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

本站为非营利性站点,部分资源为网友搜集或发布,仅供学习和研究使用,如用于商业用途,请购买正版。站内所发布的资源,如有侵犯你的权益,请联系我们,本站将立即改正或删除。

QQ|手机版|小黑屋|野火论坛(©2007~2024) ( 苏ICP备11036728号-2 )苏公网安备 32039102000103号

GMT+8, 2024-5-2 19:16 , Processed in 0.116915 second(s), 31 queries .

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