几何尺寸与公差论坛

 找回密码
 注册
查看: 820|回复: 0

【转帖】bom table api

[复制链接]
发表于 2009-4-13 09:20:17 | 显示全部楼层 |阅读模式
bom table api
i'm having trouble figuring out how to work with bom tables. running 2008 and using vb6.
code i'm trying to determine the row in which the user selected. it comes up with an error on the attach3 function, but the help file says i need to call that and i dont see it having any parameters.
-----
option explicit
dim swapp as sldworks.sldworks
dim swdoc as sldworks.modeldoc2
dim swbom as sldworks.bomtable
dim vextents() as variant ' x,y,z of lower left corner and upper right corner of bom
dim rowcount as long ' number of rows in the bom
dim rowheight() as long ' array variable to hold height of each row in the bom
dim runningheight as variant ' keeps track of total height in count
dim bret as boolean ' determines if function executed properly
dim i as long ' count variable for "for" function
dim vpickpt as variant ' stores the location the user selected before running the macro
sub main()
set swapp = application.sldworks
set swdoc = swapp.activedoc
' ready the bom for other functions
bret = swbom.attach3
' get the size and number of rows in the bom
vextents = swbom.getextent
rowcount = swbom.getrowcount
' start runningheight as lowest point in bom
set runningheight = vextents(1)
' get user selected point
vpickpt = swdoc.getinsertionpoint
' find the row the user selected
for i = 1 to rowcount
rowheight(i) = swbom.getrowheight(i)
if (vpickpt(1) >= runningheight) and (vpickpt(1) <= runningheight + rowheight(i)) then
debug.print "row selected:" & i
else
runningheight = runningheight + rowheight(i)
end if
next i
end sub
quick
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|几何尺寸与公差论坛

GMT+8, 2024-12-24 09:10 , Processed in 0.035509 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

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