• Basic Stroke and Compound Linestyle Example

    There has been a few conversations on custom linestyles so I thought I'd post up a good basic example of setting up stroke line styles and then combining several of them into compound styles. These are just road line markings, but are a good example of how easy it can be.

    Just rename the attached file to road.rsc.

    More soon.

  • Batch Over Short Cut - Part 1

    There have been a lot of discussions on how you can access your build and set variables for user, project and even custom variables for client and so on. Over past blogs I have shown a lot on how these can be controlled and set using hta files, but if you're not confident at playing at that level then there is another answer over using edited shortcuts to your applications. On of these is to use a batch file, mainly because…

  • Context Menus

    Probably one of the most underutilised tools available to you in any Bentley package are Context Menus. The most common of these are the right click menus that change depending on the tools and element you have selected. Right click in an empty part of a model and this is what you see:

      

    The one difference you may see are the tools at the top of the menu. This is because Context Menus are customisable based on what each…

  • Jagged Graphics in a Rendered View in MicroStation

    Ever come across a situation where the view your modelling in looks almost jagged when you render it? This doesn't just apply to MicroStation.

     

     

    Well, best bet is you’ve turned off Clip Front and Clip Back in the view attributes:

     

     

    Simply turn them back on and your graphics will return to normal.

     

     

  • AECOsim - Matching Structural Attributes From a Placed Member

    Probably one of the most annoying things missing from the structural tools is the ability to match the attributes from an element already placed member.

     The fact is you can. There is a keyin: 

    match element fromcursor 

    edit your function key menu and add this to a function key. What you then do is let the structural snaps select\snap to a member and then hit the function key you have assigned the keyin to. This matches…

  • The Build - Part 6 - Named Expressions

    http://communities.bentley.com/communities/other_communities/askinga/w/askinga/using-named-expressions-to-drive-interface-items-a-sample.aspx

    This was a great starting platform for me, but also left a few questions.

    The first of these was how exactly are Named Expressions pick up and under what variable? The reason for this is that it wasn't clear what variable set the path to the dgnlib with the Named Expressions…

  • Tech Tip - Managing Seed Files

    Lets get it out there right to start with. I know this could be a LOT slicker and in environments I manage on my own it is, but this is a good alternative where you have users who may need to edit this without a LOT of vb knowledge.

    Now we have that out of the way, one things that gets users to this day is seed files and how\when to use them. To work around a user needing to know what seed does when I have written…

  • MicroStation Project Security App

    Big thanks to Barry Lothian for the basics of this code. 

    In the past, firms I've worked for have had vb in place that checks where you open files from and alerts you based on a level or security.

    Level 0

    Nothing happens. Pretty much a free for all.

    Level 1

    If a user tries to open a file from a location that is not defined by the project then a message box will open up alerting them to the error and suggesting…

  • Stu's Solution - A More Traditional Alternative

    OK, I admit it. This is one beast of a build and the collection of a LOT of work and work arounds, but what if you want to use something more traditional? No problems, it's very easy to use the same principles we have gone through to date in a much more simplified system if that's what works for you. the hta then becomes a way to manage users and take much of the hands on work out of the situation.

    To that end…

  • The Ultimate Portable Build - Part 3 - Scripting

    As you can gather by now, I don't like to edit delivered Bentley files and avoid using any installed directories when it comes to users files. To that end I've always used a custom area, something along the line of c:\Apps and had a series of batch files within the build do all the work for me. My aim has always to have CADmanage fill in the blanks and take the manual work out of setting up a lot of the build. To this…

  • The Ultimate Portable Build - Part 2 - The appl.cfg

    Hard part done. By using the location of CADmanage.hta as a start point, we've now been able to go ahead and set the variables for our critical locations, but what does this mean for the config files we've been using to date? Well the first of these that will need to be edited is the appl.cfg file that we use to trigger the location of _USTN_SITE. To date we've been setting a few hard coded locations at the top of the…

  • The Ultimate Portable Build - Part 1 - Relative Pathing hta

    The end goal of everything I've been doing has been to be able to deliver the ultimate portable build. Over the next series of blog's we'll be looking at how we can use relative pathing that is usually associated with html together with our hta file so we can have a build that can be copied or activated from just about any location or situation. To go with this series, download the cadmanage.hta linked in this blog…

  • Tech Tip - Turn off Rendered Views

    How many times have users come to you complaining they wait ages for a file to load only to find they have every model attached with rendering turned on. Drives me nuts as users just won't turn them off to speed up model loading. 

    Well, if they won't turn them off then we can. Another great addition to the autorun vb are a few lines that switch views back to wireframe:

    CadInputQueue.SendCommand "CHANGE VIEW WIREFRAME…

  • Dynamic Task Workflows

    Got to admit I was a little peeved with some of the changes to the GUI when XM first came out, but one of the changes I really like in V8i is the move to include Task Workflows in the interface. The big plus of Task Workflows over regular tasks is that they can be opened as a separate dialog and docked and be opened by a keyin:

    tasktoolbox open <task workflow name>

    For those of us who used to use barmenus extensively…

  • Controlling SM and AECOsim Section Files

    I have to admit it, I'm a bit fan of using the AutoRun vb when it comes to being able to control certain aspects of applications. One of those is a frustration I continue to have with Structural Modeller, now part of AECOsim, and the ability to lock what xml section files are available to users.

    While this little addition doesn't stop users from selecting another xml file, it does mean that they have to do it each…

  • Adding a Task Bar Icon to Our hta File

    A little bit of html knowledge is going to be a big help with hta files. One of the abilities within html is to use relative pathing to set the location on files, directories and more. These paths all relate back to where you're running your hta file from.

    For instance, as you may have noticed from our first example hta, once started there is no real icon for it on the Windows task bar. This may not worry many, but…

  • Build Kick Off - _USTN_SITE

    SPS_APPL.CFG, SITE.CFG it doesn't really matter what you call it, but this cfg files is the lynch pin for the whole system. The idea here is that any cfg file located in the \MicroStation\appl\ directory is read each time MicroStation or the verticals is loaded. The only issue I have come across so far, recently, is the need to copy the cfg file in custom locations if you're using power products that have been introduced…

  • How hta Changed the Way I Deliver Builds - Part 14 - Enable Button by Username

    The other day we looked at how to kill the build by adding a button that will delete the appl.cfg files. The only problem with this is that once you've added it to the hta, everyone can kill it and we all know how users love to find ways of working around things they don't like.

    Well, we can set up hta kill button so that it is only available to a few users.

    To the 'Sub Window_onload' we can add:

    If GetUsername…

  • BeyondCompare

    This is a great tool that allows you to compare and edit\copy\move files in directories. I use it a lot for keeping builds up to date across regions and between my development build and working build. Very handy tool and worth the small cost.

    http://www.scootersoftware.com/

  • Startup hta

    There are more ways to use hta files than just with our CAD builds. One other way I use them is to start all my programs when starting Windows. Even at home this is a handy little tool. I have created a hta that sits in the Startup section in windows that starts Chrome, Notepad++, Mozilla and iTunes whenever I log into Windows. I also have a button on the hta to start Windows Explorer, but you could add anything you find…

  • Config Variable Equal to

    Funny how some things seem to fall through the cracks. When I first did a search on this no one seemed to be able to tell me how to do it. I eventually dug it up in a cfg file from an old build. 

    What I'm talking about if the ability to use '%if' over '%if defined' or '%if exists'. There are occasions where I want to trigger something if a variable equals a certain value.

    The way to do it is:

  • Tech Tip - Reset Styles

    It's a pet hate of mine. Users who think they can change fonts, colours etc to what ever they like in text and dimension styles. Well, if you're like me you have a standard set of styles that should be adhered to. If that's the case then there is another nice little addition to the autorun vb that you can use:


    CadInputQueue.SendCommand "dgnlib update textstyles"
    CadInputQueue.SendCommand "dgnlib…

  • Tech Tip - Config Loading

    A little one we'll go into detail on later, but if you want you have your cfg files load in a certain order from the one directory, then simply number them sequentially.

    ie. 10_folders
    20_main
    25_viz
    30_inclusions
    40_refdir
    50_apps
    60_user
    70_<a surprise for later :-) >

    and so on. I always use multiples of 10 just in case I want to add another in between later :-)

  • The Build - Part 5 - All Aboard the cfg Ride - Running SS2 and SS3 as Separate Builds

    I've ended up having to go down this path as I have a client who asked for an AECOsim build added to what they already have running. Only issue is I need to have SS2 and Structural Modeller running as well on existing projects.

    Ran this through my head for a while and to be honest..... I cheated a bit :-)

    Bentley, in their infinite wisdom, have kept the version numbers the same between SS2 and SS3 so getting the single…