iCAx开思网

标题: 【题目】用宏来做阵列 (一周内完成2分) [打印本页]

作者: desertstar    时间: 2003-9-10 18:25
标题: 【题目】用宏来做阵列(停止加分)
翻阅老贴,看到有坛友用宏在螺旋线上做阵列,也想学习一下。前辈高人能否指点指点。谢谢!!

当作一道题目 2分
o-o

作者: ππ神醫    时间: 2003-9-10 19:02
先看一下 powercopy 的帖子吧!
作者: desertstar    时间: 2003-9-11 00:27
ππ神醫,powercopy对螺旋上不同点的位置 要多次重复超作。能否一次搞定。
用宏不行吗?
谢谢!
作者: desertstar    时间: 2003-9-12 09:49
如何用宏在螺旋线上做阵列小球?谢谢!!!!!!!!!!
作者: o-o    时间: 2003-9-12 13:17
应该是没有问题的,下午我试一下
作者: o-o    时间: 2003-9-12 16:11
当作一道题吧!一周内完成者 2分::g::g
在螺旋线上均布50个圆球,自动完成,如图
作者: WANGWEI3000    时间: 2003-9-12 20:08
不会用宏做
作者: WANGWEI3000    时间: 2003-9-12 20:10
明天搞宏命令!!!!!!!!!!!!!????????
作者: htk0088    时间: 2003-9-12 21:34
偶是第一個
作者: axjxl    时间: 2003-9-12 23:38
用破衣也来一个
作者: axjxl    时间: 2003-9-12 23:44

作者: shairlin    时间: 2003-9-13 09:31
破衣做的有什么希奇!
作者: WANGWEI3000    时间: 2003-9-13 12:34
POWERCOPY
作者: chenhua    时间: 2003-9-13 13:12
我做的
作者: chenhua    时间: 2003-9-13 13:15

Language="VBSCRIPT"
  
Sub CATMain()
  
Set partDocument1 = CATIA.ActiveDocument
  
Set part1 = partDocument1.Part
  
Set hybridShapeFactory1 = part1.HybridShapeFactory
  
Set hybridShapePointCoord1 = hybridShapeFactory1.AddNewPointCoord(0.000000, 0.000000, 0.000000)
  
Set hybridBodies1 = part1.HybridBodies
  
Set hybridBody1 = hybridBodies1.Item("Open_body.1")
  
hybridBody1.AppendHybridShape hybridShapePointCoord1
  
part1.InWorkObject = hybridShapePointCoord1
  
part1.Update  
  
Set originElements1 = part1.OriginElements
  
Set hybridShapePlaneExplicit1 = originElements1.PlaneXY
  
Set reference1 = part1.CreateReferenceFromObject(hybridShapePlaneExplicit1)
  
Set reference2 = part1.CreateReferenceFromObject(hybridShapePointCoord1)
  
Set hybridShapeLineNormal1 = hybridShapeFactory1.AddNewLineNormal(reference1, reference2, 0.000000, 20.000000, False)
  
hybridBody1.AppendHybridShape hybridShapeLineNormal1
  
part1.InWorkObject = hybridShapeLineNormal1
  
part1.Update  
  
Set hybridShapePointCoord2 = hybridShapeFactory1.AddNewPointCoord(15.000000, 15.000000, 0.000000)
  
hybridBody1.AppendHybridShape hybridShapePointCoord2
  
part1.InWorkObject = hybridShapePointCoord2
  
part1.Update  
  
Set reference3 = part1.CreateReferenceFromObject(hybridShapeLineNormal1)
  
Set reference4 = part1.CreateReferenceFromObject(hybridShapePointCoord2)
  
Set hybridShapeHelix1 = hybridShapeFactory1.AddNewHelix(reference3, False, reference4, 15.000000, 10.000000, False, 0.000000, 0.000000, False)
  
hybridShapeHelix1.PitchLawType = 0
  
hybridShapeHelix1.SetStartingAngle 0.000000
  
hybridShapeHelix1.SetHeight 60.000000
  
hybridBody1.AppendHybridShape hybridShapeHelix1
  
part1.InWorkObject = hybridShapeHelix1
  
part1.Update  
  
Set reference5 = part1.CreateReferenceFromObject(hybridShapePointCoord2)
  
Set hybridShapeSphere1 = hybridShapeFactory1.AddNewSphere(reference5, Nothing, 2.000000, -45.000000, 45.000000, 0.000000, 180.000000)
  
hybridShapeSphere1.Limitation = 1
  
hybridBody1.AppendHybridShape hybridShapeSphere1
  
part1.InWorkObject = hybridShapeSphere1
  
part1.Update  
  
Dim i
  
For i=1 To 20
  
Set reference6 = part1.CreateReferenceFromObject(hybridShapeHelix1)
  
Set reference7 = part1.CreateReferenceFromObject(hybridShapePointCoord2)
  
Set hybridShapePointOnCurve1 = hybridShapeFactory1.AddNewPointOnCurveWithReferenceFromDistance(reference6, reference7, 20.000000, False)
  
Set hybridShapePointCoord2 = hybridShapePointOnCurve1
  
hybridBody1.AppendHybridShape hybridShapePointOnCurve1
  
part1.InWorkObject = hybridShapePointOnCurve1
  
part1.Update  
  
Set reference8 = part1.CreateReferenceFromObject(hybridShapePointOnCurve1)
  
Set hybridShapeSphere2 = hybridShapeFactory1.AddNewSphere(reference8, Nothing, 2.000000, -45.000000, 45.000000, 0.000000, 180.000000)
  
hybridShapeSphere2.Limitation = 1
  
hybridBody1.AppendHybridShape hybridShapeSphere2
  
part1.InWorkObject = hybridShapeSphere2
  
part1.Update  
  
Next
  
End Sub
作者: shairlin    时间: 2003-9-13 13:25
谢谢加分。::y::y::y::y::y
作者: o-o    时间: 2003-9-13 14:10
已经有参考了,停止加分,(否则得分太轻松了)8D
作者: chenhua    时间: 2003-9-13 15:14
不好意思,让大家失去加分的机会了。:-(:-(::l::l
作者: o-o    时间: 2003-9-13 15:29
chenhua wrote:
不好意思,让大家失去加分的机会了。:-(:-(::l::l

有新的做法还是可以加分的, 我的做法和chenhua版主比较类似!肯定可以用别的方法完成的
作者: xsj2001631    时间: 2009-8-27 08:08
没有什么意思,要是不是球形,那就是行了!
球状的没有方向,什么那个方向都一样!
作者: qss    时间: 2009-8-28 10:12
看看11111111111111
作者: tao_sheng_wei    时间: 2010-11-23 11:53
来学一下,看看
作者: 时间快转521    时间: 2012-3-13 12:39
。。。。。。。。。。。。。。。。。
作者: gjghjhjhgk    时间: 2012-4-29 23:34
能提供一下具体的做法么 ?都是使用宏命令做的还是?part1说不用宏命令  是一个点一个点做的 ?
作者: nixiao    时间: 2013-2-28 09:50
{:soso_e179:}
作者: ABKING    时间: 2013-6-17 14:48
宏命令如何使用啊?求指点
作者: yytxgt    时间: 2013-8-11 14:45
有没宏命立的教程

作者: sushe2200    时间: 2013-8-19 14:48
这么好的东西,当然要顶了呀
作者: qiupingcatia    时间: 2014-8-25 22:37
好帖,值得学习,很多都没有接触过的/。
作者: 长空独月    时间: 2014-11-23 15:18
必须顶起顶起
作者: 496935453    时间: 2015-7-16 15:35
学习了  感谢
作者: ljlh220    时间: 2017-6-11 12:14
没有看见宏啊
作者: 水云痕    时间: 2017-6-17 06:07
学习了,当个练习




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