青华模具培训学校

 找回密码
 注册

QQ登录

只需一步,快速开始

青华模具培训学院
查看: 3146|回复: 6

[疑难] UF_POINT_create_at_intersection_of_two_curves

[复制链接]
发表于 2011-5-3 20:51 | 显示全部楼层 |阅读模式
悬赏15G币未解决
int UF_POINT_create_at_intersection_of_two_curves
( y- a( v, A; p5 f4 Q+ {(
  Q8 }4 Y3 x3 H, ~) [6 G0 u* Q8 gconst tag_t curve1,
" E& f3 m3 J- o! t' _const tag_t curve2, " b! O  |( b: H9 Q6 ?, a/ S. a3 K
const tag_t help_point1,
! s8 _6 c* f" s" U4 [% C) kconst tag_t help_point2, " `" \; J/ \) V4 C% y3 Q& j
tag_p_t point_feature_id 6 b) {( }2 L* z% m3 @( w/ O) ]
); J9 ^: m& o( a, k
     这个函数怎么用啊,特别是help_point1和help_point2是什么意思,为什么使用时老是报内存非法访问?
: C2 M6 v$ v( w1 h     代码如下:6 u" J( X: \- \7 z. ?4 N
: Y: \! r. B( X1 U7 c, B9 D3 J
//选两直线3 d; y$ v6 d: J( ]+ S" ~9 z" T
char sCue[] = "按类选择对话框";" F$ p$ u- L6 I2 @) Y  W' s4 A
char sTitle[] = "按类选择对话框";$ c/ g$ t7 J: d
int iSope = UF_UI_SEL_SCOPE_ANY_IN_ASSEMBLY;1 I6 I/ U7 {- b! Y: H
int iResponse = 0;
! }" a3 `) L5 g int iCount = 0;
2 J& M; p* p8 }. j1 l/ `8 A tag_t *atObject = NULL;3 O& g: G2 [7 V- @
UF_UI_select_with_class_dialog(sCue, sTitle, iSope, init_proc, NULL, &iResponse, &iCount, &atObject);
4 z. R" f# m" I. ]
1 e7 C# M* z  V. S3 r, w1 ] tag_t tPointGet = NULL_TAG;
) ~1 M, r) F+ Z3 ^1 A! F! G int iPointNum = 0;0 t. M; m0 ]# H+ F
double *adPointPara;+ E$ j) T% p) y4 B, k# }# @
double adTempPoint[3] = {0};) P; J9 c3 P7 M
tag_t tPointStart = NULL_TAG;, y4 _7 a; ^7 {
tag_t tPointEnd = NULL_TAG;
5 ~% G4 t1 A! W9 x5 ^
+ b" c3 B5 w8 x0 j$ N" ? if (2 == iCount)( e7 r) [+ i* P$ E
{
* O* k2 z( l$ o# c//构造第一条直线的一个端点
3 p1 U  P( H% U8 V4 U8 ]  UF_MODL_ask_curve_points(atObject[0], 0, 0, 0, &iPointNum, &adPointPara);3 u( W3 J2 X0 v7 ]. [; X7 w
  
- A3 c7 z; X0 ~, m$ d% P  adTempPoint[0] = adPointPara[0];
+ T& z8 K2 w6 ~& f9 B2 G5 X  adTempPoint[1] = adPointPara[1];5 j) |9 ~! ^- G! v
  adTempPoint[2] = adPointPara[2];
5 z. g2 n* N( I; o1 r$ d, o    E+ U4 ?6 h# T
  UF_CURVE_create_point(adTempPoint , &tPointStart);2 P! J/ T! S: q
1 d/ d9 _( ~, b6 W" ^- A
//构造第二条直线的一个端点  g% a8 w3 z5 a8 U' \
  UF_MODL_ask_curve_points(atObject[1], 0, 0, 0, &iPointNum, &adPointPara);
$ |, o# @7 E+ I6 {/ z  9 R1 x5 y/ H/ [  \8 z" i
  adTempPoint[0] = adPointPara[0];
8 a; j# {. u9 V$ t7 E- V/ `* ~  adTempPoint[1] = adPointPara[1];& r# X) M; z9 u) v6 Y) z! |
  adTempPoint[2] = adPointPara[2];
! p6 \) |3 a9 z* t  UF_CURVE_create_point(adTempPoint , &tPointEnd);
0 d  V6 Z# c8 \" \
4 ^$ R+ r8 H" k5 Q$ H//求两直线的交点6 Z) Q" S4 x, e% [6 }' P
   UF_CALL(UF_POINT_create_at_intersection_of_two_curves(atObject[0], atObject[1], tPointStart, tPointEnd, &tPointGet));8 Z! Z2 \& d% M6 M% @6 W
}

发表于 2011-5-3 21:09 | 显示全部楼层
不懂,帮你顶……
回复

使用道具 举报

发表于 2011-5-4 09:46 | 显示全部楼层
最近缺钱花,有薪回答。QQ:593939109
回复

使用道具 举报

 楼主| 发表于 2011-5-4 10:34 | 显示全部楼层
这两条线必须真正相交,而不是通过延长才相交。靠,居然是因为这个原因。。。
回复

使用道具 举报

发表于 2011-5-5 11:19 | 显示全部楼层
自己就解决啦~~~~~~~~
回复

使用道具 举报

发表于 2012-5-29 16:17 | 显示全部楼层
回复

使用道具 举报

发表于 2014-8-19 21:46 | 显示全部楼层
那   help point 是什么意思?      这点可以是不在曲线上的吗?
回复

使用道具 举报

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

本版积分规则

QQ|关于我们|sitemap|小黑屋|Archiver|手机版|UG网-UG技术论坛-青华数控模具培训学校 ( 粤ICP备15108561号 )

GMT+8, 2025-2-9 05:53 , Processed in 0.086189 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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