|
select all bodies for extrudecut............
hi guys!!
i want to create extrude cut in an assembly
but for this i want to use through all feature and want to select all bodies how can i set to all bodies because otherwise it cut some of them here is function but i m not sure about it
accessgained = extrudefeaturedata2.accessselections ( topdoc, component )
can u explain
topdoc ----? and component==?
check for featurecut in the api help files.
deepak gupta
sw2007 sp5.0
sw2009 sp2.1
if you are working in an assembly you want to look up feature scope in the api help. there are four methods related to feature scope in the context of an assembly:
assemblydoc::addtofeaturescope
assemblydoc::removefromfeaturescope
assemblydoc::getfeaturescope
assemblydoc::updatefeaturescope
below some sample code that does the opposite of what you want to do. if you select an assembly feature and then run this macro, it will remove all components from the feature scope. from what you are saying, it sounds like you want to create an assembly cut that affects all features. if that is the case, i would:
1. use assemblydoc::getcomponents to return an array containing all components in the assembly.
2. be sure nothing is selected.
3. use assemblydoc::addtofeaturescope to add each component to the feature scope for the next feature (per comments in api help for addtofeaturescope).
4. create your cut feature.
dim swapp as sldworks.sldworks
dim swdoc as sldworks.modeldoc2
dim swassy as sldworks.assemblydoc
dim swselmgr as sldworks.selectionmgr
dim swfeat as sldworks.feature
dim scopecomps as variant
sub main()
set swapp = application.sldworks
set swdoc = swapp.activedoc
if not swdoc.gettype = swdocassembly then
msgbox "this macro is for assemblies only."
exit sub
end if
set swassy = swdoc
set swselmgr = swdoc.selectionmanager
on error goto handler
set swfeat = swselmgr.getselectedobject6(1, -1)
msgbox swfeat.name & " type " & swfeat.gettypename
on error goto 0
scopecomps = swassy.getfeaturescope(swfeat)
for i = 0 to ubound(scopecomps)
swassy.removefromfeaturescope (scopecomps(i).name)
next i
msgbox "updating scope"
swassy.updatefeaturescope
msgbox "scope updated - commence rebuild"
swdoc.forcerebuild3 true
msgbox "rebuilt"
exit sub
handler:
msgbox "a feature was not selected"
exit sub
end sub
i'll get you eh steve, if it's the last thing i dooooo!
quick |
|