How to maintain cell size equal while zoom in zoom out in microstation vba? Using Microstation2004 V8 in windows 7.

How to maintain cell size equal while zoom in zoom out in microstation vba? Using Microstation2004 V8 in windows 7.

Regards,

Uday

Parents
  • Hi,

    as clear from other answers:

    • It's not good idea to use VBA for anything related to dynamic view updates. As Frank wrote, VBA is slow.
    • You did not provide enough informations and details to ecaluate the whole context.
    How to maintain cell size equal while zoom in zoom out in microstation vba?

    Without knowing context, I see these possible scenarios:

    • A cell exists in DGN model already. VBA cannot be used there, because you have to monitor every element to be displayed and when the cell is to be displayed, you have to stop MicroStation and implement own action. Not sure about V8 2004 Edition, because it's very old version, but can be done using C/C++ code in newer version. But it's not recommended in general, because it's a bit intrusive and can slow down MicroStation rapidly when implemented not properly.
    • A cell does not exists in DGN model, you want to display it "to decorate a view" (like watermark). Can be done using transient elements, but you have to call MDL functions from VBA, because VBA does not provide enough functionality. And because the transient elements container has to be recalculated with every view update, it will be not very fast (but maybe it will be fine for a few elements).
    • You talk about displaying the cell in dynamic in primitive or modification class. It's easier, because you are alwyas responsible to create the elements to be displayed in dynamics. But also in this case I am quite sure you will have to call MDL functions to receive enough date about view and be able to do necessary elements scaling.

    Also, be aware in 2D the situation is quite simple, but when working with 3D views, it requires to defined precisely what is expected result.

    With regards,

      Jan

Reply
  • Hi,

    as clear from other answers:

    • It's not good idea to use VBA for anything related to dynamic view updates. As Frank wrote, VBA is slow.
    • You did not provide enough informations and details to ecaluate the whole context.
    How to maintain cell size equal while zoom in zoom out in microstation vba?

    Without knowing context, I see these possible scenarios:

    • A cell exists in DGN model already. VBA cannot be used there, because you have to monitor every element to be displayed and when the cell is to be displayed, you have to stop MicroStation and implement own action. Not sure about V8 2004 Edition, because it's very old version, but can be done using C/C++ code in newer version. But it's not recommended in general, because it's a bit intrusive and can slow down MicroStation rapidly when implemented not properly.
    • A cell does not exists in DGN model, you want to display it "to decorate a view" (like watermark). Can be done using transient elements, but you have to call MDL functions from VBA, because VBA does not provide enough functionality. And because the transient elements container has to be recalculated with every view update, it will be not very fast (but maybe it will be fine for a few elements).
    • You talk about displaying the cell in dynamic in primitive or modification class. It's easier, because you are alwyas responsible to create the elements to be displayed in dynamics. But also in this case I am quite sure you will have to call MDL functions to receive enough date about view and be able to do necessary elements scaling.

    Also, be aware in 2D the situation is quite simple, but when working with 3D views, it requires to defined precisely what is expected result.

    With regards,

      Jan

Children
No Data