MicroStation VBA Element Type - Smart Solid/Surface

Greeting all

I have a mvba requirement to "scan" a MicroStation model and identify all "Smart Solid/Surface" element types. I note that manually using the MicroStation "Element Selection" tool and select elements by "Element Type" (choosing Smart Solid/Surface) does the trick, but the objective is to identify this element type using mvba code. The Type Property (object.Type) allows various element types to be specified and identified (e.g. msdElementTypeSurface,  msdElementTypeSolid,  msdElementTypeLine, etc). 

I carried out a few mvba code experiments to try to identify Smart Solid/Surface elements and can't achieve coinsistency. At this stage I don't have clue what to do next, is there anyone out there to advise a mvba method to achieve my objective.

GQ

  • Show some part of your code from ElementScanCiriteria settings and the iteration through the model

    Regards

    Frank

    since 1985: GIS, CAD, Engineering (Civil)  Senior Consultant : [Autodesk Civil 3D , Esri ArcGIS, VertiGIS: in previous days : Bentley MS V4 - V8i, GeoGraphics, Bentley Map V8i, InRoads,  HHK Geograf, IBr DAVID] :  Dev: [C, C++, .NET, Java, SQL, FORTRAN, UML]
    [direct quote by: http://en.wikipedia.org/wiki/Helmut_Schmidt]: "Wer Kritik übel nimmt, hat etwas zu verbergen"
    Wer Grammatik- und/oder Rechtschreibfehler findet, der darf sie behalten :-)

  • Use the Analyse Element or Element Information tool to examine a SmartSolid or SmartSurface element.  You will find that they are cell elements with nested data. Objects created by some Bentley applications are also cells having nested data & graphics.

    Some nested data is opaque (i.e. we can't see what it is), and some is graphic element information.  When scanning for SmartXxx, you should look for a cell with nested non-graphic data. 

    Depending on your version of MicroStation, you'll need to experiment.  For most versions of MicroStation VBA there has been no support for SmartXxx objects.  With MicroStation V8i SS3 (still in beta testing), SmartXxxs are first-class VBA citizens.

     
    Regards, Jon Summers
    LA Solutions

  • Appreciate the advice on Smart second class VBA citizens (MicroStation V8i SS1), hopefully I can determine if a cell element has smart element characteristics... Thanks