ning58 发表于 2011-8-20 14:55:37

如何获得装配体→零件中的一个点的坐标?

在装配体名aa.sldasm,装配了零件bb.sldprt
在bb.sldprt的草图中有一点,点1
如何获得这个点的坐标。谢谢

wfg 发表于 2011-8-20 21:37:10

本帖最后由 wfg 于 2011-8-20 21:40 编辑

SolidWorks+二次开发实例解析
http://www.docin.com/p-112804093.html
第9页。获得选择点的坐标。

选中了一个配合特征,想知道该特征包括哪些零件,是零件上的什么名字的特征或草图参与了配合,找了好多书也没有办法解决,看api有点像天书。

ning58 发表于 2011-8-21 16:33:52

本帖最后由 ning58 于 2011-8-21 17:34 编辑

SolidWorks+二次开发实例解析

第9页。获得选择点的坐标。

选中了一个配合特征,想知道该特征包括哪些 ...
wfg 发表于 2011-8-20 21:37 http://fans.SolidWorks.com.cn/bbs/images/common/back.gif
谢谢回复


-------------------------------------------



--------------------------------------------

SW的API与CAD的VBA编程思路不同。
CAD的VBA是围绕ojbectHandl→获得实体的属性,如直线的(X,Y)座标。
SW的API的表述方法与CAD的VBA不同。

http://download.csdn.net/source/624469

小泥8的店 发表于 2011-8-24 17:44:02

支持你加分











http://www.discuz.net/static/image/common/sigline.gif
百姓吧论坛 海外华人论坛 中文论坛 http://bbs.baixing8.com

wfg 发表于 2011-8-26 19:26:39

如图:
楼主有啥资料?贴图看看如何。

wfg 发表于 2011-8-26 19:34:00

题名: SolidWorks二次开发实例解析
作者: 江洪, 魏峥, 王涛威等编著
出版者: 机械工业出版社
日期: 2004
主题: 图形软件, SolidWorks
中图法分类号: TP391.72
ISBN: 7-111-13959-3,7-89492-092-4
丛编: 计算机技术及工程应用丛书
价格: CNY32.00(含光盘)
索书号: TP391.72 J362A3
点击次数: 1
馆藏链接: SolidWorks二次开发实例解析
描述: 本书遵循教育规律和学习者的心理规律,用实例来讲述,且其相关的知识点都贯穿在实例中。从而具有生动活泼、活学活用、理论联系实际的特点
具体下载方法请看。

http://www.baisi.net/thread-3033046-1-1.html

ning58 发表于 2011-8-28 13:53:06

如图:
楼主有啥资料?贴图看看如何。
wfg 发表于 2011-8-26 19:26 http://fans.SolidWorks.com.cn/bbs/images/common/back.gif


   

ning58 发表于 2011-8-29 09:25:12

本帖最后由 ning58 于 2011-8-29 09:35 编辑

谢谢回复


-------------------------------------------



--------------------------------- ...
ning58 发表于 2011-8-21 16:33 http://fans.SolidWorks.com.cn/bbs/images/common/back.gif

http://www.mofeel.net/232-comp-cad-SolidWorks/15111.aspxSet swApp = Application.SldWorks

Set Part = swApp.ActiveDoc

' CODE TO COMMENT OUT
'boolstatus = Part.Extension.SelectByID2("", "FACE" 0.002071542165481, _
'   0.2199999999999, 0.001163233015006, False, 0, Nothing

' CODE TO ADD
' Get coordinates of the point selected
SelectCoords = Part.SelectionManager.GetSelectionPoint(1)关键是选取点→目标没有实现,还差一点.
http://help.SolidWorks.com/2011/English/api/sldworksapi/get_projected_point_example_vb.htm

ning58 发表于 2011-8-29 16:14:16

本帖最后由 ning58 于 2011-8-29 16:29 编辑

Dim SelMgr As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
Dim Feature As Object
Sub main()

Set swApp = Application.SldWorks
Dim SwSketch As SldWorks.Sketch
Dim oArr
Set Part = swApp.ActiveDoc
Set SelMgr = Part.SelectionManager
'boolstatus = Part.Extension.SelectByID2("草图1", "SKETCH", 0, 0, 0, False, 0, Nothing, 0)
boolstatus = Part.Extension.SelectByID2("草图2", "SKETCH", 0, 0, 0, False, 0, Nothing, 0)
'boolstatus = Part.Extension.SelectByID2("草图3", "SKETCH", 0, 0, 0, False, 0, Nothing, 0)
boolstatus = Part.Extension.SelectByID2("草图1@零件1-2@装配体1", "SKETCH", 0, 0, 0, False, 0, Nothing, 0)
boolstatus = Part.Extension.SelectByID2("草图2@a1-1@aa", "SKETCH", 0, 0, 0, False, 0, Nothing, 0)
Set swFeat = SelMgr.GetSelectedObject5(1)
    Set SwSketch = swFeat.GetSpecificFeature
    'NumArcs = SwSketch.GetArcCount
    With SwSketch
      'nn = .GetArcCount
      nn = .GetLineCount
      nn = .GetUserPointsCount
      oArr = SwSketch.GetUserPoints2
      boolstatus = Part.Extension.SelectByID2("", "FACE", oArr(5), 0.01, oArr(6), False, 0, Nothing, 0)
    End With
boolstatus1 = Part.Extension.SelectByID2("草图2@a2-1@aa", "SKETCH", 0, 0, 0, False, 0, Nothing, 0)
Set swFeat = SelMgr.GetSelectedObject5(1)
    Set SwSketch = swFeat.GetSpecificFeature
    'NumArcs = SwSketch.GetArcCount
    With SwSketch
      'nn = .GetArcCount
      nn = .GetLineCount
      nn = .GetUserPointsCount
      oArr1 = SwSketch.GetUserPoints2
      boolstatus = Part.Extension.SelectByID2("", "FACE", oArr1(5), 0.01, oArr1(6), False, 0, Nothing, 0)
    End With

End Sub' ******************************************************************************
' C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\swx4656\Macro1.swb - macro recorded on 08/29/11 by Administrator
' ******************************************************************************
Dim swApp As Object
Dim Part As Object
Dim SelMgr As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
Dim Feature As Object
Sub main()

Set swApp = Application.SldWorks

Set Part = swApp.ActiveDoc
Set SelMgr = Part.SelectionManager
'boolstatus = Part.Extension.SelectByID2("D2@草图1@a1-1@aa", "DIMENSION", 0.0376423429093, -0.006522646534223, -0.03600521243831, False, 0, Nothing, 0)
Part.Parameter("D2@草图1@a1.Part").SystemValue = 0.08
'Part.ClearSelection2 True
'Part.InsertSketch2 True
End Sub

liangquan 发表于 2012-4-1 12:26:57

我希望知道装配体两个零件上的两个面之间的距离,不知该怎样做?
页: [1] 2
查看完整版本: 如何获得装配体→零件中的一个点的坐标?