|
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# |
|