When I was making new components from scratch, I made an error in the search path and got an error popup – but it revealed something I suspected – an object oriented structure of Bentley where you could override and add classes and associated files – in this case .ebs files. This lists the search paths it uses for finding ebs files. Interestingly, it FIRST searches a directory with the same name as the spec IN THE SPECS directory. This means … that if you have ebs files you can have them travel with the spec independent of the project.
In the context I am working with – I was told – no this cannot be done (even though it clearly can) so rather than change the world leaps at a time, I stayed safe and put things on the CableT\modules directory instead – a leaf in the project because of the people in the project – they are VERY conservative and they don’t delve into this level.
Looking below – we also see that if you have a company wide change for EVERY project – putting it on the c: drive is ok too. DO NOT put it in multiple places because you might drive the following group(s) who use this project insane when they delete functionality and it… it does not disappear!
Search path order:
- %APPROJDB%\Spec\Mmlights
- <project dir>\Config\modules\cablet
- c:\Program Files (x86)\Bentley\Plant V8i\Modules\cablet
- <project dir>\Config\modules\base
- c:\Program Files (x86)\Bentley\Plant V8i\Modules\base
Other information is that classes can be overwritten because if you look at that similar search path, the class.ini, spec.ini, methods.ini files are all along those search paths too – so the WHOLE class structure that you see in the class editor program is constructed from these .ini files along the way.
Your .ini files have to be in place for specification generator (spec gen), class editor and the project to properly run.
Other Links:
- see my step by step article from which this info came – I thought I would pull it out explicitly with some discussion about paths