SolidWorks机械工程师网——最大的SolidWorks学习平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1418|回复: 13
打印 上一主题 下一主题

求解! 有图有程序 二次开发的 泪奔。。。为什么走程序的时候点不对

[复制链接]

92

主题

284

帖子

181

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
471
QQ
跳转到指定楼层
楼主
发表于 2014-4-19 12:11:00 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

   经典图书
‘各路大神走过路过不要错过
Dim swApp As Object
Dim Part As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
Dim P1X, P2X, P3X, P4X, P5X, P6X, P7X, P8X, P9X, P1Y, P2Y, P3Y, P4Y, P5Y, P6Y, P7Y, P8Y, P9Y, H1, D1, m As Double
Sub main()
Set swApp = _
Application.SldWorks
Set Part = swApp.NewDocument("CrogramDataSolidWorksSolidWorks 2014templatesgb_part.prtdot", 0, 0, 0)
swApp.ActivateDoc2 "零件5", False, longstatus
Set Part = swApp.ActiveDoc
Set Part = swApp.ActiveDoc
m = 10 / 1000
P2X = -0.35
P2Y = 0.54
P3X = -0.35
P3Y = 0.55
P4X = -0.15
P4Y = 0.55
P5X = 0
P5Y = 0.4
P6X = 0
P6Y = 0
P7X = -0.5
P7Y = -0.5
Part.SketchManager.InsertSketch True
boolstatus = Part.Extension.SelectByID2("前视基准面", "LANE", -6.19713809539345E-02, 5.83954772973056E-02, 9.08449996078081E-03, False, 0, Nothing, 0)
Part.ClearSelection2 True
Dim skSegment As Object
Set skSegment = Part.SketchManager.CreateLine(-0.11, 0.59, 0#, P2X, 0.59, 0#)
Set skSegment = Part.SketchManager.CreateLine(P2X, 0.59, 0#, P3X, P3Y, 0#)
Set skSegment = Part.SketchManager.CreateLine(P3X, P3Y, 0#, P4X, P4Y, 0#)
Set skSegment = Part.SketchManager.CreateLine(P4X, P4Y, 0#, P5X, P5Y, 0#)
Set skSegment = Part.SketchManager.CreateLine(P5X, P5Y, 0#, P6X, P6Y, 0#)
Set skSegment = Part.SketchManager.CreateLine(P6X, P6Y, 0#, P7X, P7Y, 0#)
Set skSegment = Part.SketchManager.CreateLine(P7X, P7Y, 0#, -0.494, -0.506, 0#)
Set skSegment = Part.SketchManager.CreateLine(-0.494, -0.506, 0#, -0.436, -0.448, 0#)
Set skSegment = Part.SketchManager.CreateLine(-0.436, -0.448, 0#, -0.426, -0.458, 0#)
Set skSegment = Part.SketchManager.CreateLine(-0.426, -0.458, 0#, -0.423, -0.455, 0#)
Set skSegment = Part.SketchManager.CreateLine(-0.423, -0.455, 0#, -0.428, -0.45, 0#)
Set skSegment = Part.SketchManager.CreateLine(-0.428, -0.45, 0#, -0.423, -0.445, 0#)
Set skSegment = Part.SketchManager.CreateLine(-0.423, -0.445, 0#, -0.426, -0.442, 0#)
Set skSegment = Part.SketchManager.CreateArc(-0.424, -0.44, 0#, -0.426, -0.442, 0#, -0.426, -0.438, 0#, -1)
Set skSegment = Part.SketchManager.CreateLine(-0.426, -0.438, 0#, -0.411, -0.423, 0#)
Set skSegment = Part.SketchManager.CreateArc(-0.409, -0.425, 0#, -0.411, -0.423, 0#, -0.407, -0.423, 0#, -1)
Set skSegment = Part.SketchManager.CreateLine(-0.407, -0.423, 0#, -0.404, -0.426, 0#)
Set skSegment = Part.SketchManager.CreateLine(-0.404, -0.426, 0#, -0.399, -0.421, 0#)
Set skSegment = Part.SketchManager.CreateLine(-0.399, -0.421, 0#, -0.394, -0.426, 0#)
Set skSegment = Part.SketchManager.CreateLine(-0.394, -0.426, 0#, -0.391, -0.423, 0#)
Set skSegment = Part.SketchManager.CreateLine(-0.391, -0.423, 0#, -0.397, -0.417, 0#)
Set skSegment = Part.SketchManager.CreateLine(-0.397, -0.417, 0#, -0.172, -0.192, 0#)
Set skSegment = Part.SketchManager.CreateLine(-0.172, -0.192, 0#, -0.166, -0.198, 0#)
Set skSegment = Part.SketchManager.CreateLine(-0.166, -0.198, 0#, -0.163, -0.195, 0#)
Set skSegment = Part.SketchManager.CreateLine(-0.163, -0.195, 0#, -0.168, -0.19, 0#)
Part.ClearSelection2 True
Part.ShowNamedView2 "*前视", 1
Set skSegment = Part.SketchManager.CreateLine(-0.168, -0.19, 0#, -0.163, -0.185, 0#)
Set skSegment = Part.SketchManager.CreateLine(-0.163, -0.185, 0#, -0.166, -0.182, 0#)
Part.ClearSelection2 True
Set skSegment = Part.SketchManager.CreateArc(-0.164, -0.18, 0#, -0.166, -0.182, 0#, -0.166, -0.178, 0#, -1)
Part.ClearSelection2 True
Set skSegment = Part.SketchManager.CreateLine(-0.166, -0.178, 0#, -0.151, -0.163, 0#)
Part.ClearSelection2 True
Set skSegment = Part.SketchManager.CreateArc(-0.149, -0.165, 0#, -0.151, -0.163, 0#, -0.147, -0.163, 0#, -1)
Part.ClearSelection2 True
Part.ShowNamedView2 "*前视", 1
Set skSegment = Part.SketchManager.CreateLine(-0.147, -0.163, 0#, -0.144, -0.166, 0#)
Set skSegment = Part.SketchManager.CreateLine(-0.144, -0.166, 0#, -0.139, -0.161, 0#)
Set skSegment = Part.SketchManager.CreateLine(-0.139, -0.161, 0#, -0.134, -0.166, 0#)
Set skSegment = Part.SketchManager.CreateLine(-0.134, -0.166, 0#, -0.119, -0.151, 0#)
Set skSegment = Part.SketchManager.CreateLine(-0.119, -0.151, 0#, -0.118, -0.152, 0#)
Set skSegment = Part.SketchManager.CreateLine(-0.118, -0.152, 0#, -0.113, -0.147, 0#)
Set skSegment = Part.SketchManager.CreateLine(-0.113, -0.147, 0#, -0.108, -0.152, 0#)
Set skSegment = Part.SketchManager.CreateLine(-0.108, -0.152, 0#, -0.105, -0.149, 0#)
Part.ClearSelection2 True
Set skSegment = Part.SketchManager.CreateArc(-0.103, -0.151, 0#, -0.105, -0.149, 0#, -0.101, -0.149, 0#, -1)
Part.ClearSelection2 True
Set skSegment = Part.SketchManager.CreateLine(-0.101, -0.149, 0#, -0.086, -0.164, 0#)
Part.ClearSelection2 True
Set skSegment = Part.SketchManager.CreateArc(-0.088, -0.166, 0#, -0.086, -0.164, 0#, -0.086, -0.168, 0#, -1)
Part.ClearSelection2 True
Part.ShowNamedView2 "*前视", 1
Set skSegment = Part.SketchManager.CreateLine(-0.086, -0.168, 0#, -0.089, -0.171, 0#)
Set skSegment = Part.SketchManager.CreateLine(-0.089, -0.171, 0#, -0.084, -0.176, 0#)
Set skSegment = Part.SketchManager.CreateLine(-0.084, -0.176, 0#, -0.089, -0.181, 0#)
Set skSegment = Part.SketchManager.CreateLine(-0.089, -0.181, 0#, -0.086, -0.184, 0#)
Part.ClearSelection2 True
Set skSegment = Part.SketchManager.CreateLine(-0.086, -0.184, 0#, 0.064, -0.034, 0#)
Part.ClearSelection2 True
Set skSegment = Part.SketchManager.CreateLine(0.064, -0.034, 0#, 0.064, 0.416, 0#)
Set skSegment = Part.SketchManager.CreateLine(0.064, 0.416, 0#, -0.11, 0.59, 0#)
Part.ClearSelection2 True
Part.ShowNamedView2 "*前视", 1
Part.ShowNamedView2 "*上下二等角轴测", 8
Part.ClearSelection2 True
Dim myFeature As Object
Set myFeature = Part.FeatureManager.FeatureExtrusion2(True, False, False, 0, 0, m, 0.01, False, False, False, False, 1.74532925199433E-02, 1.74532925199433E-02, False, False, False, False, True, True, True, 0, 0, False)
Part.SelectionManager.EnableContourSelection = False
End Sub
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享教程|习题|模型|技巧 点赞点赞14971 拍砖拍砖761
SolidWorks机械工程师网
提示:建议使用谷歌浏览器浏览本网站!如单击这里下载!否则,可能无法下载附件文件!(支持大多数版本的谷歌浏览器,支持360和QQ浏览器的极速模式,即谷歌内核模式,使用IE和Edge浏览器,浏览个别网页以及下载文件时,会误报“***不安全”,此时需要单击“继续访问此不安全站点(不推荐)”才可以继续下载,另外,本网站不含任何不安全的文件,已联系微软公司解决,纯属IE和Edge浏览器误报)
回复

使用道具 举报

12

主题

229

帖子

39

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
274
QQ
沙发
发表于 2014-4-19 12:15:07 | 只看该作者
C:UserszhehaiDesktop123.jpg
SolidWorks机械工程师网
提示:建议使用谷歌浏览器浏览本网站!如单击这里下载!否则,可能无法下载附件文件!(支持大多数版本的谷歌浏览器,支持360和QQ浏览器的极速模式,即谷歌内核模式,使用IE和Edge浏览器,浏览个别网页以及下载文件时,会误报“***不安全”,此时需要单击“继续访问此不安全站点(不推荐)”才可以继续下载,另外,本网站不含任何不安全的文件,已联系微软公司解决,纯属IE和Edge浏览器误报)
回复 支持 反对

使用道具 举报

9

主题

229

帖子

41

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
275
板凳
发表于 2014-4-19 12:16:57 | 只看该作者

   经典图书
这个是程序走出来的SOlidworks 主要错误的地方 求大神指点啊
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

10

主题

214

帖子

20

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
249
QQ
地板
发表于 2014-4-19 12:16:59 | 只看该作者


学习一下论坛使用方法,并不复杂.
其次,如果你直接用程序中的Line坐标点的话,是会发生这种情况的..
可能是solidworks一些潜在的BUG吧.也或者是没找到更好的办法...
如果一定要用,在每条LINE语句中,插入一条ViewZoomtofit2 语句.
这样也可以解决走线歪斜的情况...想信你应该懂的...
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

9

主题

223

帖子

25

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
270
QQ
5#
发表于 2014-4-19 12:18:35 | 只看该作者

   经典案例图书
看来问题都出在过渡圆弧上,录制时圆弧处不要用直线来拐,先画成直角,最后用倒圆角,看能行不?
你上面的代码复制用不了的,最好将文件压缩上传。
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

10

主题

220

帖子

27

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
264
QQ
6#
发表于 2014-4-19 12:19:06 | 只看该作者
@qiminger  大神给看下  重点 我逐步走是可以实现的 一起走就错了
立版实验 - 副本-半成品.rar (12.12 KB, 下载次数: 61)
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

10

主题

230

帖子

28

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
269
QQ
7#
发表于 2014-4-19 12:20:53 | 只看该作者

   经典案例图书
大牛附件上传了 有空给瞧下哈 谢过了
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

13

主题

215

帖子

28

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
254
QQ
8#
发表于 2014-4-19 12:25:56 | 只看该作者
絕對不是程序錯誤(BUG), 是這段在繪畫圖元的時候, 捕捉其他物件或圖元而引起錯誤.
只要在每次插入草圖後加入&quotart.SetAddToDB (True)", 讓建立的圖元直接加入到資料庫即可解決.
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

13

主题

222

帖子

38

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
305
QQ
9#
发表于 2014-4-19 12:26:25 | 只看该作者
感谢大哥  成功实现 谢谢谢谢
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

8

主题

236

帖子

19

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
263
QQ
10#
发表于 2014-4-19 12:27:50 | 只看该作者

   经典图书
我还有个问题 麻烦下大神,  为什么我录制的时候 边线发蓝这个操作录不下来
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

8

主题

229

帖子

23

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
264
QQ
11#
发表于 2014-4-19 12:29:02 | 只看该作者
怎么把这个帮助改成已解决
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

13

主题

196

帖子

22

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
237
QQ
12#
发表于 2014-4-19 12:35:31 | 只看该作者
到開帖一樓去編輯,把標題欄選擇「已解決」即可。
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

9

主题

224

帖子

23

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
261
QQ
13#
发表于 2014-4-19 12:35:44 | 只看该作者
francis大师,您专门做sw的二次开发吗,我这有些案例需要做二次开发,希望合作一下
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

17

主题

222

帖子

34

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
265
QQ
14#
发表于 2014-4-19 12:37:04 | 只看该作者
不是大師也不專門, 業餘興趣而已, 若談到合作, 可能會讓您失望.
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

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

本版积分规则

SOLIDWORKS 2023 机械设计从入门到精通

手机版|小黑屋| GMT+8, 2025-5-23 22:52 , Processed in 0.221814 second(s), 29 queries , Memcache On.

SolidWorks机械工程师网 ( 鲁ICP备14025122号-2 ) 鲁公网安备 37028502190335号

声明:本网言论纯属发表者个人意见,与本网立场无关。
如涉版权,可发邮件: admin@swbbsc.com

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