SmartSolids Display Options - CHANGE BREP DISPLAY keyin with msbatch

It appears, after much research, that it is not possible to use the keyins/commands below with VBA and msbatch since the GUI is not up and running. Doesn't work with msbatch and batchprocess without VBA either. The "Change Smart Solid Display" tool defaults to wireframe and I need "surfaces."

CadInputQueue.SendCommand "CHANGE BREP DISPLAY"

SetCExpressionValue "tcb->smartGeomSettings.flags.representAsSurfaces", 1, "3DMODIFY"

The keyins work as long as the MicroStation GUI is up. With msbatch and VBA, I get the error "symbol 'TCB' not defined."

Does anyone know a workaround? Maybe a secret keyin?

Thanks.    :-)

  • Can I ask why you would want to change your smart solids to surface representation?

    That option was originally added so that earlier versions (pre-MS/J) would still be able to render smart solid cells from the surface components since they wouldn't understand the solid data. This option serves no purpose in V8 onwards since all versions since V8 understand the solid data.

    I don't recommend using anything but the wireframe representation for smart solids, it just bloats up the solid and makes them slower to modify. If you want surface elements for some reason you are better off dropping the solid to surfaces.



  • Hiya, Brien.

    Excellent question. Answer: Intergraph SmartPlant Review. We have to save to J with SmartSolids Display as surfaces for SPR to render.

    Ciao.

  • Tango77 said:
    It is not possible to use the keyins/commands below with VBA and msbatch since the GUI is not up and running

    VBA is provided to enable a programmer to automate user actions.  A user can't do anything until a DGN file is open, so VBA can't be used.

    The TCB is a non-graphic part of each & every DGN file.  It contains global data for that DGN file.  You can't use a DGN file or TCB information until the file is open and initialised.  Use Design File Events to find when a file is fully open.

    Tango77 said:
    Does anyone know a workaround?

    Not a workaround, but a solution.  Write a class that Implements OnDesignFileOpened.  Then, queue your commands from the _OnDesignFileOpened event.

     
    Regards, Jon Summers
    LA Solutions

  • Tango77 said:
    It is not possible to use ... with VBA

    Please post questions about VBA to the VBA Forum.

     
    Regards, Jon Summers
    LA Solutions

  • I'm also trying to resolve an issue in converting the display of smart solids from wireframe to surfaces for their use in SPR and PDS clash detection.  For some reason every smart solid that I either change its display or drop from a solid to a surface will increase in size.  It seems like it is a percentage of the objects size.  but I can not narrow it down.  Have you noticed this problem?  and do you know of a fix for it?

    Mike

  • It's not clear from your question whether you are writing code to manipulate solids or using MicroStation tools.  Please clarify, and tell us what programming language you are using.

     
    Regards, Jon Summers
    LA Solutions