几何尺寸与公差论坛

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

【转帖】edge list with getpolylines7 9in a view0

[复制链接]
发表于 2009-4-13 10:39:00 | 显示全部楼层 |阅读模式
edge list with getpolylines7 (in a view)
hello,
i'm trying to use the "new" ability of getpolylines7 to get the related edges with a polylinelist.
it seems to work fine with getpolylines7. the edges are in the same order than the polylines (erm... may be ?).
but, when a part is used twice in an assembly, i get the "good" edge in the part, but always from the same instance of the part... then this is the bad edge in the view
in other words, this is the good once
should i do anything before call getpolylines7, to get the correct instance of edges ?
it is a bug ?
to select the edge, i use the selectentity method of the view
i spend time to do a short example (attached file) :
the assembly is just a repetition of a rectangular part.
the image shows that the edges are selected on only one pieces.
the test code :
dim swapp as sldworks.sldworks
dim mdldoc as sldworks.modeldoc2
dim drwdoc as sldworks.drawingdoc
dim cview as sldworks.view
dim edgesbypl as variant
dim polylines as variant
dim cedge as edge
dim res as boolean
dim edgesbypla(100) as object
dim i as integer
sub main()
set swapp = application.sldworks
set mdldoc = swapp.activedoc
if not mdldoc is nothing then
if mdldoc.gettype = swdocumenttypes_e.swdocdrawing then
set drwdoc = mdldoc
set cview = drwdoc.activedrawingview
if cview is nothing then
msgbox "a view must be selected"
else
edgesbypl = cview.getpolylines7(swcrosshatchfilter_e.swcrosshatchexclude, polylines)
debug.print "### start"
for i = 0 to ubound(edgesbypl)
res = cview.selectentity(edgesbypl(i), true)
debug.print "item" & str(i) & iif(res, " is", " can't be ?") & " selected"
next
debug.print "### end"
end if
end if
end if
end sub
all files needed to do the test are in the attached file.
thanks.
click for full image
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-12-23 22:21 , Processed in 0.035119 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

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