iCAx开思网

标题: 任意曲线上的等距离点的阵列方法 [打印本页]

作者: ____    时间: 2004-4-27 21:41
标题: 任意曲线上的等距离点的阵列方法
原题:
https://www.icax.org/viewthread. ... %3D1&page=#pid=
  
这个问题确实有难度。这里偶简要讲一下思路,高级会员可以到高级会员区看详细的教程和相关知识点的解释:
分两种情况:
A:任意曲线上等距离定长点的阵列(比如距离恒为20)
B:任意曲线上等距离等分点的阵列(曲线分成30分,相邻点的距离都相等)
  
wildfire 2,0 part。(wildfire 和2001作法一样)
作者: ____    时间: 2004-4-27 21:49
两个形式的主要思路都是一样。
很容易相到等距离点都在以一个点为圆心距离为半径的圆上。现在的问题是如和把下一个点正好放在前一个圆和任意曲线的交点上!这个是最关键的!
注意看我的part,阵列是一个组来的,这个组内有一个任意曲线上的点,一个圆弧和一个圆弧与曲线的交点组成。假设第一个点为A,交点为B,而我们新确定的点为C。
如何让C正好在B上呢(想到为什么了么?)?呵呵trajpar_of_pnt可以帮上我的忙。
很显然c对A的比例增量是等于trajpar_of_pnt(“path”,B)-trajpar_of_pnt("path",A)的(不懂的自己查资料了呵呵)。而这个增量是可以到关系阵列中实现的。
到这里想过的人我估计应该有点门路了。
  
等分等距的只需要用bmx优化端点到阵列最后点距离为最小就行了(半径为变量)。(灵活处理一下,为了避免bmx优化失败,应该另外作一条是原曲线延长的曲线作为path)
在看这个part之前,你应该要具备的相关知识:关系阵列,trajpar_of_pnt函数,bmx优化。
  
软件是死的软件也是活的
作者: ZHUGH123    时间: 2004-4-27 21:49
第一个顶
  
可惜PART文件打不开.
作者: pengcamel    时间: 2004-4-27 21:53
这个很简单。
作者: ____    时间: 2004-4-27 21:54
pengcamel wrote:
这个很简单。

  
老实说,能看懂的也不错了
作者: wcz9515402    时间: 2004-4-27 21:55

作者: qyfisjohnny    时间: 2004-4-27 22:01
得花一天时间去消化!
作者: qyfisjohnny    时间: 2004-4-27 22:03
现在没有野火2.0.没办法看.我想先问问老大.这种做法可以阵列任意数目吗?也就是说,如果我把等分数改为50,100.....可以吗?
作者: gdutang    时间: 2004-4-27 22:04
没看过老大的解法
  
我的思路就是在任一曲线上(包括三维线)
  
做相切小球PATTERN就可以
  
球面与曲线的交点
  
就符合要求了
  
只是公司一直很多事(就忘了)
  
请老大PP我的思路对不对
  
谢谢ICE
作者: ____    时间: 2004-4-27 22:05
qyfisjohnny wrote:
现在没有野火2.0.没办法看.我想先问问老大.这种做法可以阵列任意数目吗?也就是说,如果我把等分数改为50,100.....可以吗?

可以的:
对等距定长的任意的曲线要够长。
对等距等分的起始值要给小点,敏感度分析范围也要小些,多分析几次逐步缩小范围。否则因为是×100倍的。。。。超过了曲线长度就不能复原了。
作者: qyfisjohnny    时间: 2004-4-27 22:06
gdutang wrote:
没看过老大的解法  
  
  我的思路就是在任一曲线上(包括三维线)  
  
  做相切小球PATTERN就可以  
  
  球面与曲线的交点  
  
  就符合要求了  
  
  只是公司一直很多事(就忘了)  
  
  
  请老大PP我的思路对不对  
  
  谢谢ICE

  
就是这个相切小球不好做!
作者: ____    时间: 2004-4-27 22:07
gdutang wrote:
没看过老大的解法  
  
  我的思路就是在任一曲线上(包括三维线)  
  
  做相切小球PATTERN就可以  
  
  球面与曲线的交点  
  
  就符合要求了  
  
  只是公司一直很多事(就忘了)  
  
  请老大PP我的思路对不对  
  
  谢谢ICE

  
呵呵,这样不行的,你怎么保证切点在曲线上?你又如何保证球相切,这可不是规则的形状的线啊
  
作者: qyfisjohnny    时间: 2004-4-27 22:09
IceFai wrote:
   
  
  呵呵,这样不行的,你怎么保证切点在曲线上?你又如何保证球相切,这可不是规则的形状的线啊  
     

  
如果切点不在曲线上倒是可以的!
作者: gdutang    时间: 2004-4-27 22:11
IceFai wrote:
   
   
  呵呵,这样不行的,你怎么保证切点在曲线上?你又如何保证球相切,这可不是规则的形状的线啊  
     

  
你想一下
  
切点不在曲线上都能保证PATTERN时,小球的中心是在曲线上的
  
两点之间距离相等的
  
关键就是能在(空间曲线上)
作出相切小球的PATTERN
  
就好办了
作者: qyfisjohnny    时间: 2004-4-27 22:12
前几步为我都想到了,我一直没做出来就是没听说过trajpar_of_pnt函数,看来我差的太远了!明天开始闭关!!
作者: ____    时间: 2004-4-27 22:12
qyfisjohnny wrote:
   
  
  如果切点不在曲线上倒是可以的!

  
切点不在曲线上当然不行了啊
作者: gdutang    时间: 2004-4-27 22:13
以前有看过
  
在空间曲线上作出相切小球PATTERN的
  
哪位看过的给个连接吧
  
谢谢
作者: ____    时间: 2004-4-27 22:15
gdutang wrote:
以前有看过  
  
  在空间曲线上作出相切小球PATTERN的  
  
  哪位看过的给个连接吧  
  
  谢谢

  
那个是在圆上的,所以可以算,这个算不了的。没多少可参考的价值
作者: qyfisjohnny    时间: 2004-4-27 22:17
gdutang wrote:
以前有看过  
  
  在空间曲线上作出相切小球PATTERN的  
  
  哪位看过的给个连接吧  
  
  谢谢
那个我也看过,好像并没有做到真正相切...
作者: boby    时间: 2004-4-27 22:17
今天是开了眼界
trajpar_of_pnt
作者: qyfisjohnny    时间: 2004-4-27 22:20
我的理解:以a点为球心,ab长为半径做的球与以c点为球心,bc长为半径做的球是相切的...
我的想法错了吗?
  
a,b,c分别为第一,二,三个点
作者: mrpan    时间: 2004-4-27 22:21
PART打不开!!!!
作者: mrpan    时间: 2004-4-27 22:34
复合曲线轨道函数
可在关系中使用复合曲线的轨迹参数 trajpar_of_pnt。
  
下列函数返回一个 0.0 和 1.0 之间的值:
  
trajpar_of_pnt("trajname", "pointname")
  
- 其中 trajname 是复合曲线名称,pointname 是基准点名称。
  
轨线是一个沿复合曲线的参数,在它上面垂直于曲线切线的平面通过基准点。因此,基准点不必位于曲线上;在曲线上距基准点最近的点上计算该参数值。
  
如果复合曲线被用作多轨迹扫描的骨架,则 trajpar_of_pnt 要么与该平面上的参数 trajpar 一致,要么与 1.0 - trajpar 一致(取决于为扫描特征选择的起点)。
  
  
作者: Toony    时间: 2004-4-28 08:57

作者: chenalbert    时间: 2004-4-28 09:55
看不懂,太复杂了!
作者: ygzygz    时间: 2004-4-28 10:05
既然是"强力推荐",为什么不采取亲民政策?WF2.0我这小山村还没买。
另外插上这个PART,希望谁用“大大”讲的方法做做。
要求:中间几圈“等距定长”,首尾“半定长”。
注意:我这个PART做的不对。
作者: SHARK007    时间: 2004-4-28 10:24
超级厉害,实在是佩服!顶ING……
这个函数第一次听到,不太懂,研究研究……
作者: shairlin    时间: 2004-4-28 14:45
这个帖子不能沉下去,老大回生气的。
作者: lhtom1976    时间: 2004-4-28 15:24
好东东,icefai这里老能学到点特别的
谢谢
作者: wwzrt    时间: 2004-4-28 15:30
厉害.
作者: samfish    时间: 2004-4-28 17:23
還是第一次見到呢
作者: benny    时间: 2004-4-28 17:35
我路過也偷學點
:
作者: asaaa    时间: 2004-4-28 18:15
厉害!顶!……
可trajpar_of_pnt这个函数怎么用???
哪位大哥可否告知??特别是那个PATH应该怎么写??
最好高手能贴出一个2001part给偶们这些菜鸟学学!不胜感激!
作者: boby    时间: 2004-4-28 21:15
如果曲线不是平面曲线,是空间曲线,
这办法还行吗
作者: clq    时间: 2004-4-28 21:35
脑大,如果该曲线满足如下的条件,不知行否?
以该曲线上任意点为圆心,用要实现的相邻两点的距离为半径做一个整圆球面,该圆球面与曲线有大于两个以上的交点.
作者: ____    时间: 2004-4-28 21:37
boby wrote:
如果曲线不是平面曲线,是空间曲线,  
  这办法还行吗

  
圆弧换成球面就行了
作者: ____    时间: 2004-4-28 21:39
clq wrote:
脑大,如果该曲线满足如下的条件,不知行否?  
  以该曲线上任意点为圆心,用要实现的相邻两点的距离为半径做一个整圆球面,该圆球面与曲线有大于两个以上的交点.

  
对于“太”任意的也是不行的。比如曲线变化太急的就容易出现错误结果
作者: changzl    时间: 2004-4-29 01:04
试做了一下,pnt2没有和pnt1重合,pnt2,pnt3,pnt4,pnt5没问题,然后pnt6又回到了pnt0,以后就开始了循环。不知道是因为对关系式的理解不够准确还是曲线的形状问题
作者: linjianke    时间: 2004-4-29 09:15
太绝了,感觉很深奥.
作者: grandness    时间: 2004-4-29 10:18
可惜没有2.0版的l软件呀。
哪位大哥传一下wildfire的prt压缩档吧,多谢啦!
作者: jg    时间: 2004-4-29 13:07
不太懂!
作者: shjljg    时间: 2004-4-29 15:32
回家仔细研究研究。
TNND 看谁还敢说pro/e不行
  

作者: littleDESIGN    时间: 2004-4-29 15:43
顶!
作者: changzl    时间: 2004-4-29 18:34
阵列关系式用memb_v=trajpar_pnt_pnt("path","pnt"+itos(2*idx1-1))也可以,并且还适用于起点(即pnt0)不在曲线端点的情况。
优化时我做的时候并不需要另外做曲线。
本来打算用proe2001做一个贴上来,但是优化时总是出错,仅仅是手动改变半径也会出错-本来重合的点都分开了,不知道为什么
作者: changzl    时间: 2004-4-29 18:56
proe2001做出来了,但是白天为什么不可以我实在是不明白
作者: pangziwang    时间: 2004-4-29 19:27
没研究过行为建模!
  
学习了楼上的关系式
  
memb_v=trajpar_of_pnt("c","pnt"+itos(2*idx1-1))
  
不过,重生经常出错!
  
期待讲解...
作者: ygzygz    时间: 2004-4-29 20:58
changzl:
    请问“BMX优化”是什么?
作者: changzl    时间: 2004-4-29 21:28
ygzygz wrote:
changzl:  
      请问“BMX优化”是什么?

behavioral modeler extension,也就是所谓的行为建模了
作者: andy_nong    时间: 2004-4-30 00:20
路过偷学呵呵
作者: cpit    时间: 2004-4-30 10:59
不懂!~!!!
作者: 魏芳高    时间: 2004-4-30 12:51
不懂,繼續努力!
作者: pengcamel    时间: 2004-4-30 15:04
有点意思.
作者: kyo1820    时间: 2004-4-30 15:31
每次看icefai的贴都能激起我学习proe的强烈的兴趣!可是工作一忙,又慢慢的降温了,这回我一定要拼命了!要不然就差距太大了!
作者: limit    时间: 2004-4-30 15:36
这个帖子虽然看不懂,但看过了一遍总要顶一下。
作者: 麦客xwg    时间: 2004-4-30 19:15
保存先!
谢谢
作者: changzl    时间: 2004-4-30 21:11
pangziwang wrote:
没研究过行为建模!  
  
  学习了楼上的关系式  
  
  memb_v=trajpar_of_pnt("c","pnt"+itos(2*idx1-1))  
  
  不过,重生经常出错!  
  
  期待讲解...

从你贴上来的图看没问题啊,我用公司的电脑做的时候一优化就出错,原来重合的点会分开,今天可以优化了,但怎么也无法让阵列的最后一个点与END点重合,怎么改尺寸范围都不行,而用现在的这台电脑就可以,但也不顺利;阵列的时候如果一开始就用上面的关系式就不行,非得先用斑竹提供的关系式完成后再修改成上面的关系式才行~~~~太多东西不明白了
不过这道题理解trajpar_of_pnt就行了
作者: ____    时间: 2004-4-30 21:52
changzl wrote:
   
  从你贴上来的图看没问题啊,我用公司的电脑做的时候一优化就出错,原来重合的点会分开,今天可以优化了,但怎么也无法让阵列的最后一个点与END点重合,怎么改尺寸范围都不行,而用现在的这台电脑就可以,但也不顺利;阵列的时候如果一开始就用上面的关系式就不行,非得先用斑竹提供的关系式完成后再修改成上面的关系式才行~~~~太多东西不明白了  
  不过这道题理解trajpar_of_pnt就行了

  
呵呵,到现在还是没明白我为啥延长原始曲线么?
作者: changzl    时间: 2004-4-30 22:21
不太明白,斑竹提供的part里END点就是曲线的终点,延长原始曲线也许可以避免BMX失败,但我练习时END点并不在曲线的终点,延长原始曲线应该没用吧?
作者: ____    时间: 2004-5-1 11:35
pangziwang wrote:
没研究过行为建模!  
   
  学习了楼上的关系式  
   
  memb_v=trajpar_of_pnt("c","pnt"+itos(2*idx1-1))  
   
  不过,重生经常出错!  
   
  期待讲解...

  
呵呵就是这条关系有问题
原理上行得通的关系,但是因为proe本身的再生计算方法问题导致了结果更新延迟
作者: changzl    时间: 2004-5-1 12:15
IceFai wrote:
   
  
  呵呵就是这条关系有问题  
  原理上行得通的关系,但是因为proe本身的再生计算方法问题导致了结果更新延迟

老大能具体讲讲么?或者推荐相关资料让我去研究研究?先谢了
作者: zhangxtxk    时间: 2004-5-1 12:19
不明白!!没资料!
作者: bug_me    时间: 2004-5-1 17:15
软件作到这个份上也难为PTC那些鬼了,问题到这份上好象意义也不大了,首先在有情况复杂交点多于2个的时候占多数,再者现实中应用得不多吧.毕竟是在用不是在研究软件.时间用在研究结构实在.听起来很酸,但我从学校刚出来时想学精一门到现在DWT、百德、B&D传过来的图杂七杂八的Pro/Engineer、CATIA、Ug、Rhino甚至MDT都有,所以感觉没时间也没必要。
作者: changzl    时间: 2004-5-1 19:46
明白软件怎么实现还是很有必要的,因为可以避免下次走弯路,能不能做到这一点就是另外一回事了;
关于BMX还有一个问题,拿这道题来说,如果优化时半径变化范围是18~30,在半径为25时阵列终点与目标点重合,会不会继续计算下去?如果继续计算的话,当半径为27时阵列终点已经到了曲线终点,此时会不会继续计算下去?还是给出错误提示?返回什么结果?
作者: pangziwang    时间: 2004-5-1 20:41
IceFai wrote:
   
  
  呵呵就是这条关系有问题  
  原理上行得通的关系,但是因为proe本身的再生计算方法问题导致了结果更新延迟

  
哈哈...
Pro/E自身的问题,怪不得!
  
还要靠她混饭吃呢
作者: louislei    时间: 2004-5-1 21:49
冰老大历害.
顶顶顶
作者: yyq4548    时间: 2004-5-7 17:19
顶出来。
作者: grandness    时间: 2004-5-8 14:34
不是很懂关系式,哪位大侠讲解一下
loc1=itos(1000*trajpar_of_pnt("path","pnt1"))
到底是什么意思呀?????多谢先!!
作者: boss13    时间: 2004-5-8 16:56
一个字:犀利!
有问题不知道怎么问,郁闷
作者: tonybasic    时间: 2004-5-8 18:51
今天是开了眼界 !
不服不行!
作者: tzx790604    时间: 2004-5-8 20:50
太深奥了,看得我云里雾里,有时间研究研究,顶也,不能沉呀!
作者: zzc777    时间: 2004-5-8 22:47
一切会有的,只要虚心!
作者: hezhirong    时间: 2004-5-11 15:51
关系式怎么写进去啊
作者: jiao    时间: 2004-5-12 22:46
天外有天,一点不假!
佩服!!!!!!!!!!!
作者: cxcbc110    时间: 2004-5-13 08:01
够 我学习一二天,不知能不能学会!~看来要天天来论坛,不然好东西就跑啦!
作者: yblgq    时间: 2004-5-23 15:29
好厉害!
这个问题想了好久了。曾经想过,如果proe支持阵列增量用特征号就可以解决了。
作者: 风之涯    时间: 2004-6-12 00:37
看到BMX只有顶的份儿,难学啊!!!!!!!!!!!!!!!!
作者: wangsh    时间: 2004-6-12 08:19
BMX这些问题真的难学,,,,,,,,,,,,,那位有没有教程,,
传一个上来!!!!!谢!!!!
作者: 风之絮    时间: 2004-6-15 14:42
看不太懂,只有慢慢消化了
作者: zhang220134    时间: 2005-3-2 17:39

作者: ringlys0_0812    时间: 2005-6-14 19:33
我觉得好象不用这么麻烦,直接按点在线上的比绿率就行了。
作者: yangjinwan    时间: 2005-6-14 21:35
我想问一下  怎么在曲线上产生等比的点???
或者是按一定规律排列 的点????
作者: i_sam    时间: 2005-6-15 12:59
应该可以做得到!试试!谢谢ICEFAI!
作者: proe201    时间: 2006-11-17 08:09
讲的到位,值得学习
作者: yellow_boy    时间: 2006-11-24 09:24
学习中
作者: hlh_0427    时间: 2006-12-20 11:25
收藏 
作者: sanqigang    时间: 2007-3-21 20:27
这个其实很简单,用关系式控制即可.
作者: grandxu    时间: 2010-10-1 16:01
thank you all!
作者: szqiao    时间: 2010-10-1 16:24
又看到冰大的旧贴了
作者: szqiao    时间: 2010-10-1 16:25
sanqigang 发表于 2007-3-21 20:27
这个其实很简单,用关系式控制即可.

做下就知不简单的,不要不做就说
作者: 学者丁    时间: 2010-11-20 09:55
这种点用SW做倒是不难,3D草图里面一个个做就可以,阵列还不知道如何弄。
作者: a615839914    时间: 2010-11-20 09:58
在孤峰看过,原来是冰大的啊!
汗!为什么不能打 I C E F A I
作者: lyy6912    时间: 2010-11-21 12:24
好东西 支持一个
作者: 小金哥    时间: 2011-1-24 15:25
非常棒的文章 好好学习下
作者: 小金哥    时间: 2011-1-24 15:25
非常棒的文章 好好学习下
作者: shuqiang2010    时间: 2013-6-6 15:05
支持个下,这个还不会做




欢迎光临 iCAx开思网 (https://www.icax.org/) Powered by Discuz! X3.3