|
This is how the Explorer looks on my NT machine. The top level directory "mcad" located on our main server "odin" is mounted on the NT machine. as drive M: (this used to be T: and may be referred to as this in some of the information here). This directory contains all of the directories a user will need. Of the ones shown the "ccl_products" directory and the "license" directory are the most important to running Medusa on a mixed system. The "alpha", "sgi" and "nt" directories contain the Medusa installation and project for Digital Alpha, SIlicone Graphics and WindowsNT respectively. NOTE we no longer use the NT version files served from the UNIX machine as it can be quite slow on a busy network. I keep it there as I still have some people with old machines and insufficient disk space for a proper installation. NT based users can access their UNIX based files under the "people" directory (the top level users directory on the UNIX machine is "linked" into the "mcad" folder). The central drawing files are accessible the same way although we have a mature reliable central filing system for medusa that automated the opening and closing of sheets. |
-- Product_list.dat (created by Medinstall)
-- Date: Tues. 21-Jan-1997 14:55
c:\medusa\medsys
c:\medusa\med2d
c:\medusa\medplot
c:\medusa\medplot_winplot
c:\medusa\medapi_demo
m:\medusa\ccl_products\med2d This is the UNIX based product
I have experimented with locating the Medusa system software on our main unix machine and this can work successfully. the only limitation I found was that the startup time for the Medusa application on the PC was increased. The medusa installation on the NT machine is very small (just 1Kb) as all that is needed is a startup batch file. The startup batch file I use looks thus:-
rem c:\scripts\runmed.bat
rem command to run medusaNG for NT from the Unix server
rem Set environment variables here to import into Medusa
rem Medusa setup files
call m:\medusa\nt\medusa\projects\ccl2\login
call m:\medusa\nt\medusa\projects\ccl2\m2d\command\medusa
2) Make sure the DAEMON line in the license file looks thus:-
DAEMON epd /medusa/license
3) Modify the Medusa project login.bat file on the NT machine to create the system variable MEDUSA_LICENSE_PATH and LM_LICENSE_FILE these are both set to "M:\MEDUSA\license\epd.dat" at startup time thus simplifying the installation. There is now no need to modify the system variables.
My project login.bat looks as follows:-
@echo off
rem C:\MEDUSA\PROJECTS\CCL2\LOGIN.BAT
rem login to MEDUSA product environment
set MEDUSA_MESSAGE_PATH=%HOMEDRIVE%\MEDUSA\PROJECTS\CCL2\MED\MESSAGE;%HOMEDRIVE%\MEDUSA\MEDSYS\MED\MESSAGE
set MED_PATH=%HOMEDRIVE%\medusa\projects\ccl2\M2D\COMMAND;
set MED_PATH=%MED_PATH%%HOMEDRIVE%\medusa\projects\ccl2\MDB\COMMAND;
set MED_PATH=%MED_PATH%%HOMEDRIVE%\medusa\projects\ccl2\MED\COMMAND;
set MED_PATH=%MED_PATH%%HOMEDRIVE%\medusa\projects\ccl2\MEDDOC\COMMAND;
set MED_PATH=%MED_PATH%%HOMEDRIVE%\medusa\projects\ccl2\PLOT\COMMAND;
set MED_PATH=%MED_PATH%%HOMEDRIVE%\medusa\projects\ccl2\TEST\COMMAND;
set MED_PATH=%MED_PATH%M:\medusa\ccl_products\med2d\m2d\command;
set MED_PATH=%MED_PATH%%HOMEDRIVE%\MEDUSA\MEDSYS\med\command;
set MED_SHARE=%HOMEDRIVE%\MEDUSA\MEDSYS\MED\SHARE;
PATH %MED_PATH%%MED_SHARE%%path%
set MEDUSA_LICENSE_PATH=M:\MEDUSA\license\epd.dat
set LM_LICENSE_FILE=M:\MEDUSA\license\epd.dat
set MED_TEMP=c:\temp
4) To check that the license is visible Open a DOS session, run the project login.bat file to set up all the paths and environment variables. Type the following:-
c:\medusa\medsys\med\license\testsecurity
and you should get :-
MED2D_DRAFT license obtained
If that works you should be able to type "medusa" and Medusa should fire up
Until December of 1996 Cambridge Consultants ran it's Classic Medusa system on Digital VAX workstations running VMS. One of the blessings of the VMS system is that, unlike UNIX, each time a file is saved a new version is created. The version of a file is represented by a semicolon (;) followed by a number for example 1.she;3 or 1.sym;3.
Following our upgrade to UNIX and NT most of the users have lost files at some time or other and I have been under some pressure to try to implement some form of safety net to protect the user from the accidental overwriting of files.
Another reason for attempting this is the use of such a system on Pro/Engineer (CCL's other CAD system). In the case of Pro/Engineer files are saved with a .(number) extension thus:- monster_part.prt.1 or complex_drawing.drg.2. PTC provide a tool to purge their files down to the latest single copy but we felt this was too draconian to use on a regular bacis so I have created a purge facility replicating the sort of facilities that the VMS purge gave (user input for the number of old versions to keep, outputting the result as it purges etc). Because this tool is created in PERL it is cross-platform compatible and able to work with any file extensions.
When Dimensioning a shaft or housing bore that has to fit correctly to a ballrace, we found that most of the time a draftsman would guess the tolerance for the dimension. We had quite a number of problems with bearing assemblies that did not perform as well as expected due to inappropriate bearing fits (usually too loose). This set of programs and macros is based on the solution that we created for our "Classic" Medusa installation. Following the provision of this facility about 12 years ago we have had few problems with bearing fits.
I have used the information from a fairly old version of the RHP catalogue that has stood me in good stead for many years. If local needs are different it is easy to make the changes to the data to allow a different set of tolerances to be applied.


The only real difference between the code provided here and our previous "Classic" version is that the NG version takes an existing dimension and converts it to a toleranced, diameter type, dimension. Where as the previous "Classic" version started with the LCN seed line.
There are 3 fits provided. Sliding fit, Transition fit, and press fit. The tolerances for each fit are selected automatically to suit the actual size of the shaft or housing.
How it works
This baCIS1 button added to the dimension tool tray calls
brg_housing.mac the housing fit macro or
brg_shaft.mac the shaft fit macro.
These call brg_fits.mac which sets up the variables for the fits
and then runs fit.prg to hold the users hand while the dimension to be modified is selected
The program works by finding, undimensioning the selected dimension, noting its size and rebuilding it with the tolerances.






The sizes in the supplied table are as follows:-
607,608,609, 6000 to 6010, 6200 to 6210, and 6300 to 6310.
The symbol gets its size information from the table included with it. If you want a different set of ballraces to better reflect the needs of your company, all you need to do is to edit this table and resave the symbol.
I prefer the table method for inputting the data to the Parloa when there is a small range of simple geometry.
On a Classic Medusa tablet menu the command we used for many years is as follows:-
MEN 59 3 1 pre '@@e-@@[probe posn @@]@@k@@i parloa @@vproj$.symbols]'
pos '@@e-redra'
FIE 1 1 'ball1.sym @@n arg g = @@vprobu$ @@n arg type = @@[type @@]"@@k@@i" @@n cal'
etc



When drawing keyways it can be time consuming to have to look up the recommended size key, for a chosen diameter shaft or hole, in the appropriate standard. We found that the designers and draftsmen often guessed due to the pressure of time or the unavailability of the standard. When the correct sizes are used the resulting design is correct and defendable. The standard used for the data is British Standard 4325 Part 1 1972 - Metric Keys and Keyways. The standard is also in line with ISO Recommendations R 773.

At CCL we have been using this system for about 10 years with our Classic Medusa installation. The code has been modified to work in the NG environment and the main difference is that in the Classic environment the program started with the Medusa LCN seed line and then proceeded to calculate the tolerance and create the dimension. In the NG environment this method of dimension creation, although still available, is not the best way of working so I have rewritten the front end of the program so that an existing dimension is selected and processed. To use the program the fit is input e.g. H7 (for a hole) or h7 (for a shaft) and the program extracts the actual size of the dimension, looks up the appropriate set of limits for that fit at that size, them reconstitutes the dimension with the new information.
Coming soon:-
Classic version including the tablet menu entries.
and
NG version (really a "modified for NG" classic version)
I don't know if anyone else has hassles with Medusa loops - but this little trick can help simplify your code. Sure, there are other ways around this situation, but this one keeps the bacis1 code simple.
Try running the following program.......
200 LET X = 0
300 LET X = (X + 1)
IF (X .LT. 100) THEN
WRITE 'X=@vX'
GOTO 300
ELSE
WRITE 'Made it!'
ENDIF
ENDRUN
After about 48 iterations the program will crash with the following message **** Superstructure nesting too deep ****
Now try it with a small modification on line 1 and 5
100 LET NDF = 'ENDIF'
200 LET X = 0
300 LET X = (X + 1)
IF (X .LT. 100) THEN
WRITE 'X=@vX'
XQT NDF
GOTO 300
ELSE
WRITE 'Made it!'
ENDIF
ENDRUN
We have tricked medusa into thinking it is processing an ENDIF within the IF block - even though it never really gets to the true ENDIF statement. If the guts of the IF block are not executed, Medusa never evaluates the variable called NDF so it doesn't see the hidden ENDIF command. It's simple and it works perfectly in every situation that we have encountered. Also, we initialise our NDF variable (which could be any other valid variable name) inside our medstart.mac file. That way we can use XQT NDF from anywhere.
Go back to Mike Nelsons CAD Page
© 1997 mike.nelson@camcon.co.uk