iCAx开思网
标题: 圆柱在圆环内自由移动的控制 [打印本页]
作者: boto777 时间: 2012-7-3 11:13
标题: 圆柱在圆环内自由移动的控制
急求帮助:
我想把圆柱控制在圆环中,圆柱和圆环直径可被驱动变化,圆柱可以在圆环内自由活动,当然上下不能动(底面已经重合),移动范围是由圆心到内切面。即,圆心距是:0~两者半径差(半径差要关联到方程式中)。就是高级配合中圆柱和圆环的圆心点之间的“距离最大值”要关联到方程式中,实现圆柱可以在圆环中自由拖动,直到相内切。问题是高级配合中的“距离范围”是两个值,放到方程式中就只剩一个值了,无法单独关联最大值。
"D1@距离2"=iif("D1@距离2"<(0.5*"D1@草图1@零件1.Part"-0.5*"D1@草图1@零件2.Part"),"D1@距离2",(0.5*"D1@草图1@零件1.Part"-0.5*"D1@草图1@零件2.Part"))
我的这个公式不能实现小圆柱实时移动。
中心思想就是:圆柱和圆环的圆心距范围是0~两者半径差,半径引入方程式后就可以自由变化了。
或者实现:将“圆柱圆心点”限制在以“圆环圆心”为原点的,半径为“圆环和圆柱半径差”的圆盘面上,但同时圆柱和圆环两者的半径可被驱动变化。
作者: gt.adan 时间: 2012-7-3 14:42
本帖最后由 gt.adan 于 2012-7-3 16:50 编辑
坐一下沙發,看看有沒有前輩回帖{:soso_e113:}
作者: gt.adan 时间: 2012-7-3 16:47
本帖最后由 gt.adan 于 2012-7-3 21:16 编辑
二樓問題不勞駕您了。。。針對樓主的問題說說俺的淺見:
用方程是很好的方式,可是一旦定義了圓環與圓柱的中心距,就無法在圓環內「自由拖曳」,
而只能在限定的中心距下做圓周旋轉,這樣一來將無法達到「即時」的效果。
也許有其他限制方式或方程可以達到樓主的要求,那就要等其他前輩的教程了。
換成是俺的話會以下面動畫方式來表達:
[attach]1135766[/attach]
如此一來,既可以在限定的圓環裡自由拖曳不會超出範圍,也可以即時表現出在不同的半徑下,圓環與圓柱之間的中心距。
不知這樣是否符合樓主的要求?{:soso_e132:}
作者: 熊熊a 时间: 2012-7-4 16:14
3l楼的做法好
作者: 熊熊a 时间: 2012-7-4 16:14
3l楼的做法好
作者: 熊熊a 时间: 2012-7-4 16:15
貌似楼主的要求有点难以实现
作者: ryouss 时间: 2012-7-5 10:19
gt.adan 发表于 2012-7-3 16:47 ![](static/image/common/back.gif)
二樓問題不勞駕您了。。。針對樓主的問題說說俺的淺見:
用方程是很好的方式,可是一旦定義了圓環與圓柱 ...
gt.adan 大師,這是個很好的範例,建議作個教材分享大家...謝謝!
作者: gt.adan 时间: 2012-7-5 12:41
ryouss 发表于 2012-7-5 10:19 ![](static/image/common/back.gif)
gt.adan 大師,這是個很好的範例,建議作個教材分享大家...謝謝!
謝謝支持。但俺不是大師…![](static/image/smiley/default/dizzy.gif)
上述方法只是俺個人小小的淺見,靜待其他前輩的回答。
如果沒人回覆,屆時大大還有興趣不嫌棄的話,俺再做個回覆![](static/image/smiley/default/lol.gif)
作者: boto777 时间: 2012-7-6 08:12
把近似结果传上来,供参考,不知道2.3M的动画图片传不传的上来
作者: boto777 时间: 2012-7-6 08:13
哎,原来是图片传不上来,压缩都压缩不小啊,怎么办?
作者: gt.adan 时间: 2012-7-6 08:36
boto777 发表于 2012-7-6 08:13 ![](static/image/common/back.gif)
哎,原来是图片传不上来,压缩都压缩不小啊,怎么办?
看來樓主似乎已經有了解決之道,靜待佳音
作者: boto777 时间: 2012-7-6 15:18
图片2.3M,传不上来,请在“中国机械CAD论坛”上搜“圆柱与圆环控制”,就可以看到了,那里上传成功了,这两个论坛都非常好,在上面学到了不少知识。
作者: w_hs 时间: 2012-7-8 10:04
本帖最后由 w_hs 于 2012-7-8 10:07 编辑
可以的
[attach]1136658[/attach]
作者: gt.adan 时间: 2012-7-9 15:23
本帖最后由 gt.adan 于 2012-7-9 15:31 编辑
w_hs 发表于 2012-7-8 10:04 ![](static/image/common/back.gif)
可以的
頂出不老叔叔來了!
不老叔的方程功力實在教人咋舌啊!
能不能請不老叔稍微解說一下「草圖一」的內容及方程的原理呢?
真的好想學啊!謝謝回覆~~
作者: w_hs 时间: 2012-7-9 16:24
gt.adan 发表于 2012-7-9 15:23 ![](static/image/common/back.gif)
頂出不老叔叔來了! 不老叔的方程功力實在教人咋舌啊!
能不能請不老叔稍微解說一下「草圖一」的內 ...
发上模型吧。
作者: gt.adan 时间: 2012-7-9 18:33
本帖最后由 gt.adan 于 2012-7-10 09:22 编辑
w_hs 发表于 2012-7-9 16:24 ![](static/image/common/back.gif)
发上模型吧。
謝謝不老叔叔的教學檔案!
但俺開啟後碰到如下問題:編輯關係式後,回到草圖內的尺寸並沒有跟著改變啊,這…是何故呢?
又…那個關係式是如何求得的呢?不老叔請恕俺質愚,還望您再次指導,謝謝您的回覆。
問題已解決,用2010 sp0.0版次開啟會報錯,但是從做一次或用更高版次就成功了。
再次謝謝不老叔的教學
[attach]1136907[/attach]
作者: w_hs 时间: 2012-7-9 18:51
gt.adan 发表于 2012-7-9 18:33 ![](static/image/common/back.gif)
謝謝不老叔叔的教學檔案!小弟立馬研讀!
这个是什么辈分?![](static/image/smiley/default/titter.gif)
作者: w_hs 时间: 2012-7-9 18:51
gt.adan 发表于 2012-7-9 18:33 ![](static/image/common/back.gif)
謝謝不老叔叔的教學檔案!小弟立馬研讀!
这个是什么辈分?![](static/image/smiley/default/titter.gif)
作者: gt.adan 时间: 2012-7-9 21:04
本帖最后由 gt.adan 于 2012-7-10 01:20 编辑
w_hs 发表于 2012-7-9 18:51 ![](static/image/common/back.gif)
这个是什么辈分?
比喻不當,不老叔見笑了![](static/image/smiley/default/loveliness.gif)
俺用不老叔的檔案來測試,2010 SP0.0版設變都會報錯,但是照做一次就成功了。
再次謝謝不老叔的教學檔!
作者: ryouss 时间: 2012-7-9 23:41
gt.adan 发表于 2012-7-9 21:04 ![](static/image/common/back.gif)
比喻不當,不老叔見笑了
想請教不老叔,檔案中的A、B關係式,是不是崁入組合件中的「宏」呢?
如附圖作參考,更感謝不老叔的分享...
順便賺點分數{:soso_e100:}
[attach]1136945[/attach]
[attach]1136946[/attach]
[attach]1136947[/attach]
作者: gt.adan 时间: 2012-7-10 01:24
本帖最后由 gt.adan 于 2012-7-10 09:23 编辑
ryouss 发表于 2012-7-9 23:41 ![](static/image/common/back.gif)
如附圖作參考,更感謝不老叔的分享...
順便賺點分數
謝謝ryouss大大的回覆,俺應該知道自己的問題出在哪兒了。
不老叔那個「限制兩點之間最大距離」的思維實在太神來之筆了!
再次謝謝大大的回覆,點出了俺的盲點!![](static/image/smiley/default/handshake.gif)
作者: jkljh 时间: 2012-7-13 08:37
大家都好厉害啊{:soso_e179:}
作者: xyaijx 时间: 2012-7-13 09:17
每天学习一点点!![](static/image/smiley/default/titter.gif)
作者: boto777 时间: 2012-7-15 12:11
本帖最后由 boto777 于 2012-7-15 12:17 编辑
我是这个贴的发起者,现在谈一点自己的想法,不对之处请大家指出哈。
目前这个问题已经得到了圆满解答,有三种方法:
①我自己做的,在圆柱与圆环之间设置一个曲面,将圆柱中心点设置在曲面范围内。这个误差在曲面的控制上,尽管误差可以降至很低,但仍是不完美的答案。
②是“中国机械CAD论坛”上一位“chif0360”大师做的,他和我的思路是一致的,但是他是在圆柱与圆环之间设置了一个球面来控制圆柱移动的,这个方法我认为是完美的,完全达到了所提问题的要求,我实际中的工作问题最后也是采用的这个方案(大家有兴趣的话可以到那个论坛搜索“圆柱与圆环控制”,里面有大家的谈论内容,其实“w_hs”不老大师也是会员,他的这个方程式方案是起初发在那个论坛上的,我最早也是在那里学到的)。
③现在说“w_hs”不老大师的这个方程式方案,较前两种“曲面控制”以及“球面控制”方案,我把他的解法方案称之为“勾股定理控制”方案(其实这三种方法都要用到方程式),无疑,不老大师的勾股定理方程式是技术性最强的,想到这种方程式控制,绝非普通SW用户可以做到的。但我要说的是,既然是用到了直角三角形法则,那么,就必须有一个边界条件,就是直角边不能大于或等于斜边,反映在不老大师的方程里就是“圆环与圆柱的半径差必须小于事先设定的距离最大值,比如,他设的200”,一旦任意改变圆柱与圆环的直径,使得两者半径差大于或等于了200,系统就会报错,当然,这时只需要再手动修改一下距离最大值,使其大于半径差200就可以了。
所以,从基于只改变圆柱与圆环半径这一个变量的出发点来看,不老大师的勾股定理方程式隐含了一个不定值,当然,事先将这个距离最大值设置成很大的数值,比如SW的极限值500m,就不会出现这个有可能出现的报错了。
我也曾试图通过iif语句来实现自动判断这个边界条件,但又返回了原点,即,高级配合中的距离范围不能导入方程式控制,所以,只能遇到这个边界条件时采用半自动的改变距离最大值了。
结论:技术性最强的,也是可以让大家发散思维,在以后的工作中可以举一反三、学以致用的方案当属不老大师的方程式(这个勾股定理方程式的思路具有很强的拓展性);而通用性最好的,也是最简单的解决方案当是“chif0360”大师的“球面控制”方法,这个不存在误差和边界条件;至于我自己的“曲面控制”,因为有误差量,就不能入列了。
不知道我的思路有没有错误,关键是能否得到不老大师的认可。
拜服“w_hs”不老大师和“chif0360”大师的学徒工“boto777”敬上。
作者: boto777 时间: 2012-7-15 13:37
本帖最后由 boto777 于 2012-7-15 18:37 编辑
呵呵,看来我的观点首先得到了论坛管理人员的认可,很高兴。
说实在的,大家看我的注册时间就知道了,我也是开思网的老会员了,但等级却一直都是“新人报到”,现在升级为“试用期”了。
我从2006年开始用SolidWorks2006D版,现在工作用SW2011正版(配套惠普Z800工作站),应该说对SW也有一定感情了。工作上不管是硬件还是软件条件,应该说都相对改善了很多,但自己的技术却很难有跨越式的进步,其中最主要的原因应该就是视野问题。
就像这个工作中遇到的问题一样,掌握了其中一个满足实际要求的解法后自然就不会再琢磨是否有其他更优的方案了,这就是封闭的弊端。
之所以这么久了等级还这么低,主要是我以前基本都不上这些技术论坛,都是自己埋头摸索。现在工作中遇到了棘手的问题,才想起发帖求助,果然也得到了广大技术高手的响应,尤其是像“w_hs”不老大师和“chif0360”大师等的帮助,大家互相讨论之间都认识到了差距并开拓了视野、拓展了思路,这对我们各自以后的实际工作都是大有裨益的。
更重要的是,我们知道,在这个论坛背后,我们互相都有一支强大的技术支撑力量。
以后一定要多多光顾像开思网或机械CAD论坛这样的技术平台网站,多提问、多解疑、多帮助、多讨论。
尽管我们用的是国外的软件,但一定要多多顶起我们国家自主的机械技术创新力量。我们对国外的软件有感情,但要让国外的软件编译者们对我们驾驭软件的能力和技术原创力量钦佩!
作者: keybao 时间: 2012-7-18 11:53
boto777 发表于 2012-7-15 12:11 ![](static/image/common/back.gif)
我是这个贴的发起者,现在谈一点自己的想法,不对之处请大家指出哈。
目前这个问题已经得到 ...
很好的总结,思路清晰。值得学习。也只有这样才能在学习与交流中提升自己。
作者: gt.adan 时间: 2012-7-20 17:34
本帖最后由 gt.adan 于 2012-7-20 17:35 编辑
看完了樓主的心得,的確相當精闢的結論啊~難怪悶大給予技術分~
反觀俺的做法…套句俗話真是小鳥比雞腿啊~~![](static/image/smiley/default/lol.gif)
在此有一事相求,如果樓主有時間的話,能否把chif0360大師的做法也po上來讓晚輩們分享呢?
因為從幾年前, 中國機械cad論壇網站就無法註冊了呀~~小弟在這兒先謝過~
欢迎光临 iCAx开思网 (https://www.icax.org/) |
Powered by Discuz! X3.3 |