几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量

几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量 (http://www.dimcax.com/hust/index.php)
-   SolidWorks二次开发 (http://www.dimcax.com/hust/forumdisplay.php?f=111)
-   -   【转帖】ype casting of array of solidworks objec (http://www.dimcax.com/hust/showthread.php?t=4954)

yang686526 2009-04-12 10:43 PM

【转帖】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#


所有的时间均为北京时间。 现在的时间是 05:42 PM.