|
Important notice:
Even many aspects are similar with Tribon M3’s Resize/Respec.,
what is written here is valid only for Tribon M2 SP4 and SP5.
Introduction:
Resize/Respec. function is a powerful one, but sadly not very often used by 3D modellers, due to pre-requests and its apparent behavior - random result. Actually this is wrong, you will see that below.
The function was available (for NT platforms) starting M2 version.
The main aim of function is to provide to user an “instrument” to change:
- the dimension of parts for entire pipe or branch (re-size them)
- to change specification that parts are pointed to
just using one function only.
Highlights:
Function options:
Resize/Respec. has 4 options, allowing the change of:
- the size of a part/parts/all parts within a branch/all parts within a pipe via specification (“Resize” option)
- the specification for a part (might look strange, but is possible)/parts/all parts within a branch/all parts within a pipe (“Respecify” option)
- to change a part/parts, if the name of comp.(s) is/are known (“Key in” option)
- to change a part/parts directly from component data bank (“Component db” option)
Restrictions:
For “Resize” option, if addressed to a part/some parts within branch/pipe, then the part(s) should be modelled via specification. If the same option is addressed to the entire pipe (by changing the main comp. and/or all parts within), then pipe should be created using specification.
Please note that the system allows users to use this option just for main comp. This is not OK, in my opinion, due to many reasons, but I will not insist on that here.
For “Respecify” option, if addressed to a part/some parts within branch/pipe, then the part(s) should be modelled via specification (like the above). Also there’s no way to change specification of main component if the pipe was not created via specification; trying to do this the user will be prompt not with “ no spec. attributes” line displayed next to component name, but “Search component (Respec mode)” window will pop-up, having OK button not active, and so making it useless.
The “Key in” option has no restrictions at all, and so it has more power and became the most dangerous option of all (e.g. if the keyed-in component is missing in db, than the component is replaced, without any warnings, by frame). User has to avoid using it when the modelling is spec. driven, with one exception, shown later on.
Similar with the above, “Component db” is less restrictive and has full control on component names. Same advice here: avoid it when modelling is spec. driven.
Therefore, first two options have to be used only when modelling was made via specification, and last two only when the modelling is not implying any specification (with the above mentioned exception).
You figure out already that the Resize/Respec. function is more than its name, and is not addressed only to pipes created and modelled via specification. As written in Documentation: “By using the Resize/Respec. function, one or more parts in a pipe may be re-sized, re-specified or re-placed”
Aspects of Specification and Pipe Modelling:
As you know from my previous article (Tribon Pipe Specification), the best description of specification is as a bunch of rules, which, during modelling, tells directly to the system (Automation Level as “High”) which parts have to be taken from components db, or allows user to pick only “pre-established” items from the same db (Automation Level as “Low”). In order to use Specification option when creating pipes and adding/inserting parts into existing pipes we need to have the Tb environment variable SB_PIPE_SPECDRIVEN set to ALWAYS, or at least YES.
I would like to insist a little bit on this variable, found on d065<proj_name>.sbd file:
SB_PIPE_SPECDRIVEN = NO
- user is allowed to create pipes directly from comp. db only;
- functions of add/insert parts have no “Search Component”(from specification) window, but directly “Pipe Material” one;
- advantages:
- modelling process is 10%-25% faster, if the component db is small to medium and has group organized structure and “Same as” option is used extensively
- no need to spend time creating and updating specifications
- disadvantages:
- no specification means less control on components used within certain pipe system
- refining/revision process is slow, and big alteration of comp. db or pipe system will become an issue
SB_PIPE_SPECDRIVEN = ALWAYS
- every part within pipe system is found into specification
- new pipes will be created having as basis pipes from specification only
- any other modelling options when adding/inserting parts, like “Key in”, “Component db” etc. are missing (except for Resize/Respec.!)
- advantages:
- absolute control on components used within certain pipe system
- the refining/revision process can be few times faster (incl. due to the use of Resize/Respec.)
- disadvantages
- the use of “Same as” is not possible
- user has to create and update (if needed) system specification
SB_PIPE_SPECDRIVEN = YES
In fact this is of mixture of spec. driven modelling and not spec. driven modelling; therefore user may use information from specification or directly from component db or from already modelled items
New pipes can be created via specification (“Resize” and “Respecify” options can be used) or directly from component db (only “Key in” and Component db” options are working)
- advantages:
- prime-modelling is faster than having SB_PIPE_SPECDRIVEN = ALWAYS, since options like “Same as” and “Key in” of part add/insert functions can be used
- disadvantages:
- use of specification became optionally, even it exists
- refining/revising process gets tricky (e.g. for the best result user has to investigate which parts are added via spec. and which are not), and so time consuming
- less control of modelling
However, if SB_PIPE_SPECDRIVEN will be “YES” , some “master-rules” has to be created at user level that have to manage all options found when creating pipes, add/inserting parts, Resize/Respec. etc. Otherwise the result might be surprisingly out of control.
Since the complying with these “master-rules” is hard to be supervised, in my opinion “YES” value has to be avoided.
Working with Resize/Respec.:
Before using it
Maybe this sounds strange (especially for fast users), but for a safe result is better to make some checks/preparations/adjustments before using Resize/Respec. function:
- how the pipe was created (via specification or not);
- which parts were done via specification., and which were not;
- if joints, weldgaps, insulation, on surface parts were used and if some adjustments are needed;
- if new elbows, bends, etc. will have or not sufficient space, after the changes;
- identify external connections (for best result they have to be disconnected);
- identify on surface connections (for best result they have to be disconnected);
- identify complex parts (e.g. 3/4-way couplings/valves) were used (for best result branch connection have to be disconnected);
- check if bending machine has proper set-up. Insert line BMOBJECT_ID=0 in SBP_MODE_DEF file, if missing.
Inside the function - what is happening?
Well, well… Let’s say we have pipe/branch prepared. If no pipe is current we can start to use Resize/Respec. function, for a branch or for entire pipe. Remember: that means all changes will be made right away, without the possibility to undo them later on (no Cancel function here)!
Below will be presented all working options for most of situations.
For all options:
- even you select just one part, do not be surprised to see into confirmation window more parts changed, or part id’s changed - this is OK (the entire branch/pipe is re-organized to support the changes). What you have to do is to investigate closer these changes, e.g. if a part was replaced by frame. If so maybe you didn’t make all checks/preparations/adjustments as written above…
- when user accept the changes, a new (buffer) pipe is created, e.g. <proj>-<mod>-<sys>1000, <sys>1000 = pipe name. In modelling the use, even for testing, of pipe manes like <sys>1*** should be avoided, if not… forbidden; reserve them for Resize/Respec.
- if working with weldgaps - you may find some having 0.0000 value (e.g. weldgaps at the first conn. of straight pipe parts). Please adjust them to proper values before confirmation of changes, if they seem to be affected by initial changes. For this you are allowed to use “Key in” option even the pipe was spec. driven modelled (yes, is that exception that I pointed to before!); there’s no problem, since weldgaps are a special kind of parts, no specification (yet!) behind them. Please note that: if you’ll fail to do this then the null weldgaps will be deleted from model!
- please pay attention to Func and Spec columns. Sometimes information presented there is not accurate!
For “Resize” option:
- if the pipe wasn’t made via specification - don’t use it; instead “Key in” or “Component db” options will do the job
- when using Resize/Respec.>Branch do not change the main component size - this will affect the entire pipe, not only the branch!
For “Respecify” option:
- is not only futile, but a little bit dangerous to use this function for pipes not created via specification. Avoid troubles and never try to specify a pipe that wasn’t specified from start. That’s it, nothing to do here!
- even the system is “permissive”, never respecify only some parts or a branch, only pipes are allowed, with all parts within
- before using this option, maybe is better to open Specification program (TbSpec.exe) and to check:
- if the short name of functions, for both specifications, are identical
- if you do have, for a certain interval and function, component name assigned, and if is correct
For “Key in” option:
- never use it when SB_PIPE_SPECDRIVEN = ALWAYS, with the above described exception
- if pipe was spec. driven modelled, try to avoid it you might need to use the Resize/Respec. function again
- just pay attention on keyed in text ;)
For “Component db” option:
- again: has to be left aside when SB_PIPE_SPECDRIVEN = ALWAYS
- has to be forgotten if pipe was spec. driven modelled
After function is done
For M2 (and not only) there are declared some limitations. Let’s see what we have to do after the Resize/Respec. is done, in order to surpass them:
- when operation is completed, pipe branches are disconnected. If we’d take care of this before, having everything under control, we have to go back and re-connect. Please note that sometimes the environment is changed too - then, some adjustments has to be made
- some parts might be replaced (not all the time) by frame, due to environment or components prop. (e.g. reducers, tees, bends), sometimes together with surrounding parts (straight pipes). This could happen even we followed all the steps of the above, but this will be a very rare situation
- weldgaps (in fact just some of them!) will be removed. If we paid attention to weldgaps during the resizing/respecifying/replacing process, this problem is “fixed”.
Few more lines:
Maybe you noticed - this article is somehow long. However, the problem is not as detailed as it should (e.g. I skipped “how to update a part having its component changed” issue). If you feel that you need more info, please send an e-mail.
To conclude: the function is fine; you just have to pay a little more attention when using it, before and after.
I just hope that my hints will help you to use successfully this function.
Thank you for reading it.
|