![]() |
【转帖】bom table api
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 |
所有的时间均为北京时间。 现在的时间是 06:32 PM. |