几何尺寸与公差论坛

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

【转帖】code to delete a shee

[复制链接]
发表于 2009-4-13 09:46:42 | 显示全部楼层 |阅读模式
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
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

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