![]() |
【转帖】code to delete a shee
code to delete a sheet
hi, ive got a subroutine that i am using to check for a drawing sheet with a specific name, if it exists then delete it (sw08-3.1.) unfortunately when performing the part.editdelete solidworks returns with a message "none of the selected entities could be deleted" any advice would be greatfully received ---- sub detectmto(shtcnt, shtnam) set swapp = application.sldworks set part = swapp.activedoc set selmgr = part.selectionmanager for i = 0 to shtcnt - 1 sheet = shtnam(i) boolstatus = document.activatesheet(shtnam(i)) if shtnam(i) = "mto" then boolstatus = document.activatesheet(shtnam(i)) boolstatus = part.extension.selectbyid2(shtnam(i), "sheet", 0, 0, 0, false, 0, nothing, 0) part.editdelete end if next i end sub ---- sub detectmto(shtcnt, shtnam) set swapp = application.sldworks set part = swapp.activedoc set selmgr = part.selectionmanager for i = 0 to shtcnt - 1 sheet = shtnam(i) boolstatus = document.activatesheet(shtnam(i)) if shtnam(i) = "mto" then boolstatus = document.activatesheet(shtnam(i)) boolstatus = part.extension.selectbyid2(shtnam(i), "sheet", 0, 0, 0, false, 0, nothing, 0) swmodel.deleteselection false end if next i end sub answer superb - thankyou very much. edited: 06/01/2008 at 07:43 am by marek bowman i believe there is a method in the sw api help for this. matt lorono solidworks 2007 sp3.1 cad engineer/ecn analyst hi, as an update to this i have been asked now to preserve the sheet and instead delete all notes that are inside a specific part of the sheet, basically between two coordinates, any ideas? originally posted by: marek bowman hi, as an update to this i have been asked now to preserve the sheet and instead delete all notes that are inside a specific part of the sheet, basically between two coordinates, any ideas? marek, should be fairly easy i believe. traverse through all annotations on the drawing. identify which is annotations is notes and get the position for each of them. with this information you can delete all notes within a specific area. be aware that you have to adjust the position given by sw with the sheet scale factor. jorn bjarning cswp cad & plm consultant sw2008 sp5 / sw2009 sp2 thx, i've already got the code for traversing as i am doing this later on in the script, i was rather hoping there would be a select co-ordinates, but if this is not the case then traversing may be the best method. i was also looking to a select by co-ordinates rectangle of some sort but after souring the api i cannot find anything originally posted by: luke malpass i was also looking to a select by co-ordinates rectangle of some sort but after souring the api i cannot find anything that would be what i'm looking for as it would achieve the end result with the minimum of fuss, the downsides of the traversal for me would be, when executing the code the user would not see the program selecting the individual attributes, and the speed of traversing isnt lighting quick, but if it gets the job done for now then its one more item off the list. edited: 06/04/2008 at 04:44 pm by marek bowman quick |
所有的时间均为北京时间。 现在的时间是 12:49 PM. |