李军jl 发表于 2016-5-27 15:48:02

solidworks二次开发

大家好,我现在正在做的课题是基于VBA语言非圆齿轮在solidworks里面二次开发,我是个新手。我非常着急做这个课题。大家能不能给一些意见。关于后面要编的程序用到的各种语言等一些问题,大家能不能推荐关于solidworks二次开发的书籍。我的qq:2465402320.希望做做二次开发的同学能够加我或留贴给我。谢谢呀。

寂静天花板 发表于 2016-5-27 18:31:08

我觉得你还是先搞清楚非圆齿轮的设计与成型,再来谈什么编程

李军jl 发表于 2016-5-27 19:02:25

好的,谢谢。但我先找一些关于VBA语言在solidworks里面二次开发方面的书籍。请问有什么好的推荐吗?

李军jl 发表于 2016-5-27 19:03:18

书籍或其他资料都行,谢谢

水水5 发表于 2016-5-29 21:03:38

软件里面对VBA的说明就很详细了,英文

李军jl 发表于 2016-5-30 15:54:46

你是指软件里面VBA窗口的帮助吗?还是。我还是个新手。谢谢提醒

李军jl 发表于 2016-5-30 15:55:59

Dim swApp As Object

Dim Part As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
Dim x0() As Double
Dim y0() As Double
Dim l As Double
Dim t As Double
Dim r As Double


Sub main()

Set swApp = _
Application.SldWorks

Set Part = swApp.NewDocument("C:\ProgramData\SolidWorks\SOLIDWORKS 2015\templates\gb_part.prtdot", 0, 0, 0)
swApp.ActivateDoc2 "零件2", False, longstatus
Set Part = swApp.ActiveDoc

boolstatus = Part.Extension.SelectByID2("前视基准面", "PLANE", 0, 0, 0, False, 0, Nothing, 0)
Part.SketchManager.InsertSketch True




a = 200
e = 0.4


n = 4

Const pi = 3.141592654

Dim i As Integer
ReDim x0(102)
ReDim y0(102)


l = 0

For i = 1 To 100


If l <= 356.4 Then

t = l * pi / 180
r = a * (1 - e * e) / (1 - e * Cos(n * t))

x0(i) = r * Cos(t)
y0(i) = r * Sin(t)

l = l + 3.6
End If
Next i



Part.SetPickMode

Part.SketchSpline 100, 0.001 * x0(1), 0.001 * y0(1), 0
Part.SketchSpline 99, 0.001 * x0(2), 0.001 * y0(2), 0
Part.SketchSpline 98, 0.001 * x0(3), 0.001 * y0(3), 0
Part.SketchSpline 97, 0.001 * x0(4), 0.001 * y0(4), 0
Part.SketchSpline 96, 0.001 * x0(5), 0.001 * y0(5), 0
Part.SketchSpline 95, 0.001 * x0(6), 0.001 * y0(6), 0
Part.SketchSpline 94, 0.001 * x0(7), 0.001 * y0(7), 0
Part.SketchSpline 93, 0.001 * x0(8), 0.001 * y0(8), 0
Part.SketchSpline 92, 0.001 * x0(9), 0.001 * y0(9), 0

Part.SketchSpline 91, 0.001 * x0(10), 0.001 * y0(10), 0
Part.SketchSpline 90, 0.001 * x0(11), 0.001 * y0(11), 0
Part.SketchSpline 89, 0.001 * x0(12), 0.001 * y0(12), 0
Part.SketchSpline 88, 0.001 * x0(13), 0.001 * y0(13), 0
Part.SketchSpline 87, 0.001 * x0(14), 0.001 * y0(14), 0
Part.SketchSpline 86, 0.001 * x0(15), 0.001 * y0(15), 0
Part.SketchSpline 85, 0.001 * x0(16), 0.001 * y0(16), 0
Part.SketchSpline 84, 0.001 * x0(17), 0.001 * y0(17), 0
Part.SketchSpline 83, 0.001 * x0(18), 0.001 * y0(18), 0

Part.SketchSpline 82, 0.001 * x0(19), 0.001 * y0(19), 0
Part.SketchSpline 81, 0.001 * x0(20), 0.001 * y0(20), 0
Part.SketchSpline 80, 0.001 * x0(21), 0.001 * y0(21), 0
Part.SketchSpline 79, 0.001 * x0(22), 0.001 * y0(22), 0
Part.SketchSpline 78, 0.001 * x0(23), 0.001 * y0(23), 0
Part.SketchSpline 77, 0.001 * x0(24), 0.001 * y0(24), 0
Part.SketchSpline 76, 0.001 * x0(25), 0.001 * y0(25), 0
Part.SketchSpline 75, 0.001 * x0(26), 0.001 * y0(26), 0
Part.SketchSpline 74, 0.001 * x0(27), 0.001 * y0(27), 0

Part.SketchSpline 73, 0.001 * x0(28), 0.001 * y0(28), 0
Part.SketchSpline 72, 0.001 * x0(29), 0.001 * y0(29), 0
Part.SketchSpline 71, 0.001 * x0(30), 0.001 * y0(30), 0
Part.SketchSpline 70, 0.001 * x0(31), 0.001 * y0(31), 0
Part.SketchSpline 69, 0.001 * x0(32), 0.001 * y0(32), 0
Part.SketchSpline 68, 0.001 * x0(33), 0.001 * y0(33), 0
Part.SketchSpline 67, 0.001 * x0(34), 0.001 * y0(34), 0
Part.SketchSpline 66, 0.001 * x0(35), 0.001 * y0(35), 0
Part.SketchSpline 65, 0.001 * x0(36), 0.001 * y0(36), 0

Part.SketchSpline 64, 0.001 * x0(37), 0.001 * y0(37), 0
Part.SketchSpline 63, 0.001 * x0(38), 0.001 * y0(38), 0
Part.SketchSpline 62, 0.001 * x0(39), 0.001 * y0(39), 0
Part.SketchSpline 61, 0.001 * x0(40), 0.001 * y0(40), 0
Part.SketchSpline 60, 0.001 * x0(41), 0.001 * y0(41), 0
Part.SketchSpline 59, 0.001 * x0(42), 0.001 * y0(42), 0
Part.SketchSpline 58, 0.001 * x0(43), 0.001 * y0(43), 0
Part.SketchSpline 57, 0.001 * x0(44), 0.001 * y0(44), 0
Part.SketchSpline 56, 0.001 * x0(45), 0.001 * y0(45), 0

Part.SketchSpline 55, 0.001 * x0(46), 0.001 * y0(46), 0
Part.SketchSpline 54, 0.001 * x0(47), 0.001 * y0(47), 0
Part.SketchSpline 53, 0.001 * x0(48), 0.001 * y0(48), 0
Part.SketchSpline 52, 0.001 * x0(49), 0.001 * y0(49), 0
Part.SketchSpline 51, 0.001 * x0(50), 0.001 * y0(50), 0
Part.SketchSpline 50, 0.001 * x0(51), 0.001 * y0(51), 0
Part.SketchSpline 49, 0.001 * x0(52), 0.001 * y0(52), 0
Part.SketchSpline 48, 0.001 * x0(53), 0.001 * y0(53), 0
Part.SketchSpline 47, 0.001 * x0(54), 0.001 * y0(54), 0

Part.SketchSpline 46, 0.001 * x0(55), 0.001 * y0(55), 0
Part.SketchSpline 45, 0.001 * x0(56), 0.001 * y0(56), 0
Part.SketchSpline 44, 0.001 * x0(57), 0.001 * y0(57), 0
Part.SketchSpline 43, 0.001 * x0(58), 0.001 * y0(58), 0
Part.SketchSpline 42, 0.001 * x0(59), 0.001 * y0(59), 0
Part.SketchSpline 41, 0.001 * x0(60), 0.001 * y0(60), 0
Part.SketchSpline 40, 0.001 * x0(61), 0.001 * y0(61), 0
Part.SketchSpline 39, 0.001 * x0(62), 0.001 * y0(62), 0
Part.SketchSpline 38, 0.001 * x0(63), 0.001 * y0(63), 0

Part.SketchSpline 37, 0.001 * x0(64), 0.001 * y0(64), 0
Part.SketchSpline 36, 0.001 * x0(65), 0.001 * y0(65), 0
Part.SketchSpline 35, 0.001 * x0(66), 0.001 * y0(66), 0
Part.SketchSpline 34, 0.001 * x0(67), 0.001 * y0(67), 0
Part.SketchSpline 33, 0.001 * x0(68), 0.001 * y0(68), 0
Part.SketchSpline 32, 0.001 * x0(69), 0.001 * y0(69), 0
Part.SketchSpline 31, 0.001 * x0(70), 0.001 * y0(70), 0
Part.SketchSpline 30, 0.001 * x0(71), 0.001 * y0(71), 0
Part.SketchSpline 29, 0.001 * x0(72), 0.001 * y0(72), 0

Part.SketchSpline 28, 0.001 * x0(73), 0.001 * y0(73), 0
Part.SketchSpline 27, 0.001 * x0(74), 0.001 * y0(74), 0
Part.SketchSpline 26, 0.001 * x0(75), 0.001 * y0(75), 0
Part.SketchSpline 25, 0.001 * x0(76), 0.001 * y0(76), 0
Part.SketchSpline 24, 0.001 * x0(77), 0.001 * y0(77), 0
Part.SketchSpline 23, 0.001 * x0(78), 0.001 * y0(78), 0
Part.SketchSpline 22, 0.001 * x0(79), 0.001 * y0(79), 0
Part.SketchSpline 21, 0.001 * x0(80), 0.001 * y0(80), 0
Part.SketchSpline 20, 0.001 * x0(81), 0.001 * y0(81), 0

Part.SketchSpline 19, 0.001 * x0(82), 0.001 * y0(82), 0
Part.SketchSpline 18, 0.001 * x0(83), 0.001 * y0(83), 0
Part.SketchSpline 17, 0.001 * x0(84), 0.001 * y0(84), 0
Part.SketchSpline 16, 0.001 * x0(85), 0.001 * y0(85), 0
Part.SketchSpline 15, 0.001 * x0(86), 0.001 * y0(86), 0
Part.SketchSpline 14, 0.001 * x0(87), 0.001 * y0(87), 0
Part.SketchSpline 13, 0.001 * x0(88), 0.001 * y0(88), 0
Part.SketchSpline 12, 0.001 * x0(89), 0.001 * y0(89), 0
Part.SketchSpline 11, 0.001 * x0(90), 0.001 * y0(90), 0

Part.SketchSpline 10, 0.001 * x0(91), 0.001 * y0(91), 0
Part.SketchSpline 9, 0.001 * x0(92), 0.001 * y0(92), 0
Part.SketchSpline 8, 0.001 * x0(93), 0.001 * y0(93), 0
Part.SketchSpline 7, 0.001 * x0(94), 0.001 * y0(94), 0
Part.SketchSpline 6, 0.001 * x0(95), 0.001 * y0(95), 0
Part.SketchSpline 5, 0.001 * x0(96), 0.001 * y0(96), 0
Part.SketchSpline 4, 0.001 * x0(97), 0.001 * y0(97), 0
Part.SketchSpline 3, 0.001 * x0(98), 0.001 * y0(98), 0
Part.SketchSpline 2, 0.001 * x0(99), 0.001 * y0(99), 0

Part.SketchSpline 1, 0.001 * x0(100), 0.001 * y0(100), 0
End Sub

李军jl 发表于 2016-5-30 15:58:05

这个程序是实现高阶椭圆曲线的,我是样条曲线,取200点近似的。但不知道为什么不对呀。

李军jl 发表于 2016-5-30 15:59:10

这是个很简单的程序,可是不知道为什么运行不出结果呀。好晕呀
页: [1]
查看完整版本: solidworks二次开发