查看单个帖子
旧 2009-04-12, 10:43 PM   #1
yang686526
高级会员
 
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
yang686526 向着好的方向发展
默认 【转帖】ype casting of array of solidworks objec

type casting of array of solidworks object
hi all
in vb6 i could auto cast
variant containing multiple solidworks object
to an array of solidworks type geometry
how can i do that in vb.net
for instance
dim swapp as sldworks.sldworks
dim part as modeldoc2
dim sk as sketch
dim vsegs as variant ' variant to recive segments
dim oseges() as sketchsegment ' array of sketchsegments
sub main()
set swapp = application.sldworks
set part = swapp.activedoc
set sk = part.getactivesketch2
vsegs = sk.getsketchsegments ' getting the segments into a variant
'==== this is the problematic line in vb.net it works greate in vb6
oseges = vsegs ' autocasting of sw objects into an arry of sketchsegments
' == the only way i could have made it is by casting segments one by one
'is there a better way
end sub
it looks like its related to the fact that an object can be an array of mixed objects
any idea ?
regards
dudi peer
eci
try
oseges = ctype(vsegs, sketchsegment())
hi luke
thanks , i have tried that already but it doesn't work.
type casting of object of objects is problematic
i have tried succssefully converting it using arry.convertall deligate
but it involves a little too much programing
the wierd thing though that it works perfectly easy in c#
so it looks to me more of a semantic problem
regards dudi
yes it will be. in c# you just explicit cast it like so:
oseges = (sketchsegment[])vsegs;
job done. rule: use c#
yang686526离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)